144 lines
5.0 KiB
Objective-C
144 lines
5.0 KiB
Objective-C
//
|
|
// 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
|