Today's Menu  Portugal
journal and plan nutrition
U4WebControlsView.m
Go to the documentation of this file.
1 //
2 // U4WebControlsView.m
3 // TodaysMenu
4 //
5 // Created by Don Zeek on 12/13/18.
6 // Copyright © 2018 net.dzeek.y2015.ios.portfolio. All rights reserved.
7 //
8 
9 #import "U4WebControlsView.h"
10 #import "Y3WebView.h"
11 
56 @implementation U4WebControlsView
57 
58 id<U4WebControlsDelegate> y3wvDelegate;
59 
60 - (instancetype) initWithFrame:(CGRect)frame andDelegate:(id<U4WebControlsDelegate>)delegate
61 {
62  self = [super initWithFrame:frame];
63  if (self) {
65  }
66  return self;
67 }
68 
70 {
71  return 68.0;
72 }
73 
74 - (void) appear:(CGRect)bound
75 {
76  CGRect backButtonFrame = CGRectMake(12, -2, 48, 48);
77  _backButton = [[UIButton alloc] initWithFrame: backButtonFrame];
78  [_backButton addTarget:self action:@selector(clickBackButton) forControlEvents:UIControlEventTouchUpInside];
79  UIImage *backButtonImage = [UIImage imageNamed:@"backButton.png"];
80  [_backButton setImage:backButtonImage forState:UIControlStateNormal];
81 
82  CGRect chklButtonFrame = CGRectMake(bound.size.width/2 - 74, 0, 48, 48);
83  _chklButton = [[UIButton alloc] initWithFrame: chklButtonFrame];
84  [_chklButton addTarget:self action:@selector(clickChecklistButton) forControlEvents:UIControlEventTouchUpInside];
85  UIImage *chklButtonImage = [UIImage imageNamed:@"clipboardRound.png"];
86  [_chklButton setImage:chklButtonImage forState:UIControlStateNormal];
87 
88 
89  CGRect stirButtonFrame = CGRectMake(bound.size.width/2 - 24, 0, 48, 48);
90  _stirButton = [[UIButton alloc] initWithFrame: stirButtonFrame];
91  [_stirButton addTarget:self action:@selector(clickStirButton) forControlEvents:UIControlEventTouchUpInside];
92  UIImage *stirButtonImage = [UIImage imageNamed:@"stirringRound.png"];
93  [_stirButton setImage:stirButtonImage forState:UIControlStateNormal];
94  [_stirButton setHidden:YES];
95 
96  CGRect forwardButtonFrame = CGRectMake(bound.size.width - 56, -2, 48, 48);
97  _forwardButton = [[UIButton alloc] initWithFrame: forwardButtonFrame];
98  [_forwardButton addTarget:self action:@selector(clickForwardButton) forControlEvents:UIControlEventTouchUpInside];
99  UIImage *forwardButtonImage = [UIImage imageNamed:@"forwardButton.png"];
100  [_forwardButton setImage:forwardButtonImage forState:UIControlStateNormal];
101 
102  CGRect editCopyButtonFrame = CGRectMake(bound.size.width - 106, -2, 48, 48);
103  _editCopyButton = [[UIButton alloc] initWithFrame: editCopyButtonFrame];
104  [_editCopyButton addTarget:self action:@selector(clickEditCopyButton) forControlEvents:UIControlEventTouchUpInside];
105  UIImage *editCopyButtonImage = [UIImage imageNamed:@"clipboard2.png"];
106  [_editCopyButton setImage:editCopyButtonImage forState:UIControlStateNormal];
107 
108  CGRect pageLoadedLabelFrame = CGRectMake(2, 48, bound.size.width, 20);
109  _pageLoadedLabel = [[UILabel alloc] initWithFrame:pageLoadedLabelFrame];
110  [_pageLoadedLabel setTextColor:[UIColor blackColor]];
111  [_pageLoadedLabel setBackgroundColor:[UIColor yellowColor]];
112 
113  [self addSubview:_backButton];
114  [self addSubview:_chklButton];
115  [self addSubview:_stirButton];
116  [self addSubview:_forwardButton];
117  [self addSubview:_editCopyButton];
118  [self addSubview:_pageLoadedLabel];
119 }
120 
121 - (void) pageLoaded:(NSString *) addressStr
122 {
123  [_pageLoadedLabel setText:addressStr];
124 }
125 - (void) focusAvailable:(BOOL) flag
126 {
127  NSLog(@"U4WebControlsView.focusavailable: %@", flag?@"TRUE":@"FALSE");
128  [_stirButton setHidden:!flag];
129  [self setNeedsDisplay];
130 }
131 
132 - (void) update
133 {
134  NSLog(@"U4WebControlsView.update: NO-OP");
135 }
136 
137 - (void) update:(WKWebView *)webViewHere {
138 
139  if ([webViewHere canGoBack]) {
140  [_backButton setHidden:NO];
141  } else {
142  [_backButton setHidden:YES];
143  }
144 
145  if ([webViewHere canGoForward]) {
146  [_forwardButton setHidden:NO];
147  } else {
148  [_forwardButton setHidden:YES];
149  }
150  NSString *urlAddress = webViewHere.URL.description;
151  NSLog(@"U4WebControlsView.update: urlAddress: %@", urlAddress);
152  [_pageLoadedLabel setText:urlAddress];
153 }
155 {
156  [self setBackgroundColor:[UIColor yellowColor]];
157 }
159 {
160  [self setBackgroundColor:[UIColor blueColor]];
161 }
163 {
164  [self setBackgroundColor:[UIColor greenColor]];
165 }
166 
167 
169 {
170  [y3wvDelegate goBack];
171 }
172 
174 {
175  NSLog(@"U4WebViewController.clickChecklistButton");
176  NSBundle *mb = [NSBundle mainBundle];
177  NSURL *nsurl=[mb URLForResource:@"testHalibut" withExtension:@"html"];
178  NSURLRequest *nsrequest=[NSURLRequest requestWithURL:nsurl];
179  [y3wvDelegate loadRequest:nsrequest];
180 }
182 {
183  NSLog(@"U4WebViewController.clickStirButton");
184  [y3wvDelegate stirJavascript];
185 }
187 {
188  [y3wvDelegate goForward];
189 }
191 {
192  [y3wvDelegate goEditCopy];
193 }
194 
195 /*
196 // Only override drawRect: if you perform custom drawing.
197 // An empty implementation adversely affects performance during animation.
198 - (void)drawRect:(CGRect)rect {
199  // Drawing code
200 }
201 */
202 
203 @end
id< U7ParamEditControlDelegate > delegate
id< U4WebControlsDelegate > y3wvDelegate