// // RouteRequestViewController.m // FMC Planner 2 // // Created by Kilian Hofmann on 16.04.16. // Copyright © 2016 Kilian Hofmann. All rights reserved. // #import "ViewControllerRouteRequest.h" @implementation ViewControllerRouteRequest - (void)viewDidLoad { [super viewDidLoad]; [_webView loadRequest:[NSURLRequest requestWithURL: [NSURL URLWithString:@"http://www.vatroute.net"]]]; UIView *dummyView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 1, 1)]; _textView.inputView = dummyView; _activityIndicator.hidden = YES; // Do any additional setup after loading the view. } - (IBAction)ok:(UIButton *)sender { [self parseRoute]; [self dismissViewControllerAnimated:YES completion:nil]; } - (void)parseRoute { NSArray *route = [_textView.text componentsSeparatedByString:@" "]; NSUInteger waypoints = 0; NSUInteger airways = 1; NSUInteger page = 1; [_main.save setValue:@"DIRECT" forKey:@"ROUTE 1/@LSKL1"]; for (NSString *str in route) { if (waypoints < airways) { waypoints += 1; if (_main.navDataParser.notActive == false && [_main.navDataParser findWaypoint:str onAirway:[_main.save valueForKey:[NSString stringWithFormat: @"ROUTE %lu/@LSKL%lu", (unsigned long)page, (unsigned long) airways]]] .count > 0) { [_main.save setValue:str forKey:[NSString stringWithFormat:@"ROUTE %lu/@LSKR%lu", (unsigned long)page, (unsigned long)waypoints]]; } else if (_main.navDataParser.notActive) { [_main.save setValue:str forKey:[NSString stringWithFormat:@"ROUTE %lu/@LSKR%lu", (unsigned long)page, (unsigned long)waypoints]]; } else { _main.screen.Scratchpad.text = INVALID; break; } } else if (waypoints == airways) { airways += 1; if (_main.navDataParser.notActive == false && [_main.navDataParser findWaypoint:[_main.save valueForKey:[NSString stringWithFormat: @"ROUTE %lu/@LSKR%lu", (unsigned long)page, (unsigned long) waypoints]] onAirway:str] .count > 0) { [_main.save setValue:str forKey:[NSString stringWithFormat:@"ROUTE %lu/@LSKL%lu", (unsigned long)page, (unsigned long)airways]]; } else if (_main.navDataParser.notActive) { [_main.save setValue:str forKey:[NSString stringWithFormat:@"ROUTE %lu/@LSKL%lu", (unsigned long)page, (unsigned long)airways]]; } else { _main.screen.Scratchpad.text = INVALID; break; } } if (waypoints == 6) { waypoints = 0; airways = 0; page += 1; [_main.save setValue:@(page) forKey:@"maxRte"]; } } } #pragma mark - Delegate - (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType { NSURL *url = request.URL; _url.text = url.absoluteString; _activityIndicator.hidden = NO; [_activityIndicator startAnimating]; return YES; } - (void)webViewDidFinishLoad:(UIWebView *)webView { _activityIndicator.hidden = YES; [_activityIndicator stopAnimating]; } - (BOOL)textFieldShouldReturn:(UITextField *)textField { [textField resignFirstResponder]; [_webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:_url.text]]]; return YES; } @end