Today's Menu  Portugal
journal and plan nutrition
Z6ParamEditTotalView.m
Go to the documentation of this file.
1 //
2 // Z6ParamEditTotalView.m
3 // TodaysMenu
4 //
5 // Created by Don Zeek on 3/25/17.
6 // Copyright © 2017 net.dzeek.y2015.ios.portfolio. All rights reserved.
7 //
8 
11 #import "Z6ParamValueEditView.h"
12 
13 @implementation Z6ParamEditTotalView
14 {
15  id<Z6ParamEditTotalDelegate> delegate;
22  NSMutableArray *nutritionComponents;
23 }
24 
27 - (instancetype) initWithDelegate: (id<Z6ParamEditTotalDelegate>) dele
28 {
29  self = [super init];
30  if (self) {
31  delegate = dele;
32  [self originate];
33  }
34  return self;
35 }
36 - (void) originate
37 {
39  self.userInteractionEnabled = YES;
40  // [self setBackgroundColor:[UIColor redColor]];
41  [self setClipsToBounds:YES];
42 
43  controlBarView = [[U7ParamEditControlbarView alloc] initWithDelegate:self];
44  valueEditPickerView = [[Z6ParamValueEditView alloc] initWithDelegate:self];
45 
46  [self configureToState:INITIAL_STATE];
47  [self placeControlViews];
48 
49  [self addSubview:controlBarView];
50  [self addSubview:valueEditPickerView];
51 }
52 
54 {
55  switch(totalEditState) {
56  case INITIAL_STATE:
57  {
58  valueEditPickerFrame = CGRectMake(0.0, 0.0, delegate.screenBound.size.width - 4.0, 0);
59  [valueEditPickerView setHidden:YES];
60  controlBarFrame = CGRectMake(2.0, 2.0, delegate.screenBound.size.width - 4.0, USDAparameterEditConrolbarHeight);
61  totalStateHeight = 42;
62  }
63  break;
64  case PICK_COMPONENT:
65  case PICK_QUANTITY:
66  {
67  usdaParameterEditPickerHeight = [valueEditPickerView heightRequirement];
68  valueEditPickerFrame = CGRectMake(2.0, 2.0, delegate.screenBound.size.width - 4.0, usdaParameterEditPickerHeight);
69  [valueEditPickerView setHidden:NO];
70  controlBarFrame = CGRectMake(2.0, 92.0, delegate.screenBound.size.width - 4.0, USDAparameterEditConrolbarHeight);
71  totalStateHeight = 132;
72  }
73  break;
74  }
75  [valueEditPickerView setFrame:valueEditPickerFrame];
76  [controlBarView setFrame:controlBarFrame];
77 }
78 #pragma mark - Z6ContainedView protocol
80 {
81  NSLog(@"ParamEditTotalView.heightRequirement: %3.2f", totalStateHeight);
82  float returnHeight = totalStateHeight;
83 
84  return returnHeight;
85 }
86 - (void) appear:(CGRect)bound
87 {
88  NSLog(@"ParamEditTotalView.appear: bound: %3.2f/%3.2f, %3.2f/%3.2f",
89  bound.origin.x, bound.origin.y, bound.size.width, bound.size.height);
90  [valueEditPickerView appear:bound];
91  [controlBarView appear:bound];
92  [self placeControlViews];
93 }
94 #pragma mark - Z6ContainingView
95 - (CGRect) screenBound
96 {
97  return self.bounds;
98 }
99 #pragma mark - U7ParamEditControlbarViewDelegate
100 - (void) configureToState:(TotalEditStateEnum) state
101 {
102  NSLog(@"ParamEditTotalView.configureToState: state: %d", state);
103  // NSDictionary *focus = [delegate selectedParameterList];
104  CGRect totalEditBounds;
105  totalEditState = state; // --> pick-componenet
106  switch(totalEditState) {
107  case INITIAL_STATE:
108  {
109  totalEditBounds = CGRectMake(0, 0, [self viewWidth], 44);
110  [valueEditPickerView initializeSelection];
111  }
112  break;
113  case PICK_COMPONENT:
114  case PICK_QUANTITY:
115  {
116  totalEditBounds = CGRectMake(0, 0, [self viewWidth], 144);
117  }
118  break;
119  }
120  [self setFrame:totalEditBounds];
121  [self appear:self.bounds];
122  [delegate showUpdatedHeaderFooter];
123  [delegate scrollForControlPanel];
124 }
126 {
127  return totalEditState;
128 }
129 - (NSDictionary *) selectedParameterList;
130 {
131  return [delegate selectedParameterList];
132 }
133 
134 - (void)addParameter:(NSDictionary *)newComponentSpecDict {
135  // TODO: add code
136 }
137 
138 
139 - (float) viewWidth
140 {
141  return [self screenBound].size.width;
142 }
143 - (void) showPickerView: (Boolean) flag
144 {
145  if (flag) {
146  // [controlBarView setFrame:controlBarFrame];
147  // [valueEditPickerView appear:self.bounds];
148 
149  NSLog(@"ParamEditTotalView.showPickerView: set picker view to appear");
150  [self configureToState:PICK_COMPONENT];
151 
152  [delegate showUpdatedHeaderFooter];
153 
154  } else {
155  // [valueEditPickerView setHidden:YES];
156  NSLog(@"ParamEditTotalView.showPickerView: set picker view hidden");
157  }
158 }
159 - (void) specializePickerView: (NSInteger) rowNum
160 {
161  NSLog(@"ParamEditTotalView.specializePickerView");
162  NSArray *nutrComp = [delegate nutritionComponents];
163  NSDictionary *parameterData = [nutrComp objectAtIndex:rowNum];
164  [valueEditPickerView specializePickerView:parameterData];
165 }
166 
168 {
169  NSLog(@"ParamEditTotalView.clickPlusButton");
170 }
172 {
173  NSLog(@"ParamEditTotalView.clickRemoveButton");
174  [delegate clickRemoveButton];
175 }
176 
178 {
179  NSLog(@"ParamEditTotalView.clickCancelButton");
180  [self configureToState:INITIAL_STATE];
181 }
182 
192 {
193  NSDictionary *freshParameter = [valueEditPickerView originateParameter];
194  [delegate addParameter:freshParameter];
195 
196  [self configureToState:INITIAL_STATE];
197 }
198 
199 #pragma mark - Z6ParamValueEditDelegate
200 
201 - (void) showWithinEdit: (NSInteger) parameterIndexRow
202 {
203  NSDictionary *editSource = [nutritionComponents objectAtIndex:parameterIndexRow];
204 
205  [valueEditPickerView specializePickerView:editSource];
206 }
207 - (void) showRemoveOption: (Boolean) flag
208 {
209  [controlBarView showRemoveOption:flag];
210  // NSLog(@"ParamEditTotalView.showRemoveOption: NO-OP NO-OP NO-OP");
211 }
212 
213 
214 /*
215  // Only override drawRect: if you perform custom drawing.
216  // An empty implementation adversely affects performance during animation.
217  - (void)drawRect:(CGRect)rect {
218  // Drawing code
219  }
220  */
221 // -(void) addParameter: (NSDictionary *)newComponentSpecDict
222 // {
223 // [delegate addParameter:newComponentSpecDict];
224 // }
225 
226 @end
float usdaParameterEditPickerHeight
Z6ParamValueEditView * valueEditPickerView
TotalEditStateEnum totalEditState
TotalEditStateEnum
id< U7ParamEditControlDelegate > delegate
float USDAparameterEditConrolbarHeight
NSDictionary * selectedParameterList()
float totalStateHeight
U7ParamEditControlbarView * controlBarView
TotalEditStateEnum getTotalEditState()
void appear:(CGRect bound)
CGRect controlBarFrame
void configureToState:(TotalEditStateEnum state)
NSMutableArray * nutritionComponents
CGRect valueEditPickerFrame