diff options
Diffstat (limited to 'examples/cross_calculator/ios/src/NRViewController.m')
-rw-r--r-- | examples/cross_calculator/ios/src/NRViewController.m | 210 |
1 files changed, 0 insertions, 210 deletions
diff --git a/examples/cross_calculator/ios/src/NRViewController.m b/examples/cross_calculator/ios/src/NRViewController.m deleted file mode 100644 index f629bfc09..000000000 --- a/examples/cross_calculator/ios/src/NRViewController.m +++ /dev/null @@ -1,210 +0,0 @@ -#import "NRViewController.h" - -#import "backend.h" - - -@implementation NRViewController - -@synthesize aText = _aText; -@synthesize bText = _bText; -@synthesize calculateButton = _calculateButton; -@synthesize resultLabel = _resultLabel; - -- (void)dealloc -{ - [_aText release]; - [_bText release]; - [_calculateButton release]; - [_resultLabel release]; - [super dealloc]; -} - -- (void)viewDidUnload -{ - self.calculateButton = nil; - self.aText = nil; - self.bText = nil; - self.resultLabel = nil; - [super viewDidUnload]; -} - -- (BOOL)shouldAutorotateToInterfaceOrientation: - (UIInterfaceOrientation)interfaceOrientation -{ - return YES; -} - -/// User wants to calculate the inputs. Well, do it! -- (IBAction)calculateButtonTouched -{ - // Dismiss all keyboards. - [self backgroundTouched]; - - // Call Nim code, store the result and display it. - const int a = [self.aText.text intValue]; - const int b = [self.bText.text intValue]; - const int c = myAdd(a, b); - self.resultLabel.text = [NSString stringWithFormat:@"%d + %d = %d", - a, b, c]; -} - -/// If the user touches the background, dismiss any visible keyboard. -- (IBAction)backgroundTouched -{ - [self.aText resignFirstResponder]; - [self.bText resignFirstResponder]; -} - -/** Custom loadView method for backwards compatibility. - * Unfortunately I've been unable to coerce Xcode 4.4 to generate nib files - * which are compatible with my trusty iOS 3.0 ipod touch so in order to be - * fully compatible for all devices we have to build the interface manually in - * code rather than through the keyed archivers provided by the interface - * builder. - * - * Rather than recreating the user interface manually in code the tool nib2obj - * was used on the xib file and slightly modified to fit the original property - * names. Which means here is a lot of garbage you would never write in real - * life. Please ignore the following "wall of code" for the purposes of - * learning Nim, this is all just because Apple can't be bothered to - * maintain backwards compatibility properly. - */ -- (void)loadView -{ - [super loadView]; - - self.calculateButton = [UIButton buttonWithType:UIButtonTypeRoundedRect]; - self.calculateButton.autoresizesSubviews = YES; - self.calculateButton.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleBottomMargin; - self.calculateButton.contentHorizontalAlignment = UIControlContentHorizontalAlignmentCenter; - self.calculateButton.contentStretch = CGRectFromString(@"{{0, 0}, {1, 1}}"); - self.calculateButton.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter; - self.calculateButton.frame = CGRectMake(193.0, 124.0, 107.0, 37.0); - self.calculateButton.tag = 5; - [self.calculateButton setTitle:@"Add!" forState:UIControlStateNormal]; - [self.calculateButton addTarget:self - action:@selector(calculateButtonTouched) - forControlEvents:UIControlEventTouchUpInside]; - - UILabel *label11 = [[UILabel alloc] initWithFrame:CGRectMake(20.0, 124.0, 60.0, 37.0)]; - label11.adjustsFontSizeToFitWidth = YES; - label11.autoresizesSubviews = YES; - label11.autoresizingMask = UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleBottomMargin; - label11.contentStretch = CGRectFromString(@"{{0, 0}, {1, 1}}"); - label11.frame = CGRectMake(20.0, 124.0, 60.0, 37.0); - label11.tag = 6; - label11.text = @"Result:"; - - UILabel *label4 = [[UILabel alloc] initWithFrame:CGRectMake(0.0, 0.0, 320.0, 34.0)]; - label4.adjustsFontSizeToFitWidth = YES; - label4.autoresizesSubviews = YES; - label4.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleBottomMargin; - label4.contentStretch = CGRectFromString(@"{{0, 0}, {1, 1}}"); - label4.frame = CGRectMake(0.0, 0.0, 320.0, 34.0); - label4.tag = 2; - label4.text = @"Nim Crossplatform Calculator"; - label4.textAlignment = UITextAlignmentCenter; - - UIButton *background_button = [UIButton buttonWithType:UIButtonTypeCustom]; - background_button.autoresizesSubviews = YES; - background_button.autoresizingMask = UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleBottomMargin; - background_button.contentHorizontalAlignment = UIControlContentHorizontalAlignmentCenter; - background_button.contentStretch = CGRectFromString(@"{{0, 0}, {1, 1}}"); - background_button.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter; - background_button.frame = CGRectMake(0.0, -10.0, 320.0, 480.0); - background_button.tag = 1; - [background_button addTarget:self action:@selector(backgroundTouched) - forControlEvents:UIControlEventTouchDown]; - - self.resultLabel = [[[UILabel alloc] initWithFrame:CGRectMake(88.0, 124.0, 97.0, 37.0)] autorelease]; - self.resultLabel.adjustsFontSizeToFitWidth = YES; - self.resultLabel.autoresizesSubviews = YES; - self.resultLabel.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleBottomMargin; - self.resultLabel.contentStretch = CGRectFromString(@"{{0, 0}, {1, 1}}"); - self.resultLabel.frame = CGRectMake(88.0, 124.0, 97.0, 37.0); - self.resultLabel.tag = 7; - self.resultLabel.text = @""; - - self.aText = [[[UITextField alloc] initWithFrame:CGRectMake(193.0, 42.0, 107.0, 31.0)] autorelease]; - self.aText.adjustsFontSizeToFitWidth = YES; - self.aText.autocapitalizationType = UITextAutocapitalizationTypeNone; - self.aText.autocorrectionType = UITextAutocorrectionTypeDefault; - self.aText.autoresizesSubviews = YES; - self.aText.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleBottomMargin; - self.aText.borderStyle = UITextBorderStyleRoundedRect; - self.aText.clearButtonMode = UITextFieldViewModeWhileEditing; - self.aText.clearsOnBeginEditing = NO; - self.aText.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft; - self.aText.contentStretch = CGRectFromString(@"{{0, 0}, {1, 1}}"); - self.aText.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter; - self.aText.enablesReturnKeyAutomatically = NO; - self.aText.frame = CGRectMake(193.0, 42.0, 107.0, 31.0); - self.aText.keyboardAppearance = UIKeyboardAppearanceDefault; - self.aText.keyboardType = UIKeyboardTypeNumberPad; - self.aText.placeholder = @"Integer"; - self.aText.returnKeyType = UIReturnKeyDefault; - self.aText.tag = 8; - self.aText.text = @""; - self.aText.textAlignment = UITextAlignmentCenter; - - UILabel *label7 = [[UILabel alloc] initWithFrame:CGRectMake(20.0, 42.0, 165.0, 31.0)]; - label7.adjustsFontSizeToFitWidth = YES; - label7.autoresizesSubviews = YES; - label7.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleBottomMargin; - label7.contentStretch = CGRectFromString(@"{{0, 0}, {1, 1}}"); - label7.frame = CGRectMake(20.0, 42.0, 165.0, 31.0); - label7.tag = 3; - label7.text = @"Value A:"; - - UILabel *label8 = [[UILabel alloc] initWithFrame:CGRectMake(20.0, 81.0, 165.0, 31.0)]; - label8.adjustsFontSizeToFitWidth = YES; - label8.autoresizesSubviews = YES; - label8.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleBottomMargin; - label8.contentStretch = CGRectFromString(@"{{0, 0}, {1, 1}}"); - label8.frame = CGRectMake(20.0, 81.0, 165.0, 31.0); - label8.tag = 4; - label8.text = @"Value B:"; - - self.bText = [[[UITextField alloc] - initWithFrame:CGRectMake(193.0, 81.0, 107.0, 31.0)] autorelease]; - self.bText.adjustsFontSizeToFitWidth = YES; - self.bText.autocapitalizationType = UITextAutocapitalizationTypeNone; - self.bText.autocorrectionType = UITextAutocorrectionTypeDefault; - self.bText.autoresizesSubviews = YES; - self.bText.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleBottomMargin; - self.bText.borderStyle = UITextBorderStyleRoundedRect; - self.bText.clearButtonMode = UITextFieldViewModeWhileEditing; - self.bText.clearsOnBeginEditing = NO; - self.bText.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft; - self.bText.contentStretch = CGRectFromString(@"{{0, 0}, {1, 1}}"); - self.bText.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter; - self.bText.enablesReturnKeyAutomatically = NO; - self.bText.frame = CGRectMake(193.0, 81.0, 107.0, 31.0); - self.bText.keyboardAppearance = UIKeyboardAppearanceDefault; - self.bText.keyboardType = UIKeyboardTypeNumberPad; - self.bText.placeholder = @"Integer"; - self.bText.returnKeyType = UIReturnKeyDefault; - self.bText.tag = 9; - self.bText.text = @""; - self.bText.textAlignment = UITextAlignmentCenter; - - self.view.frame = CGRectMake(0.0, 20.0, 320.0, 460.0); - self.view.autoresizesSubviews = YES; - self.view.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight; - self.view.backgroundColor = [UIColor colorWithWhite:1.000 alpha:1.000]; - self.view.contentStretch = CGRectFromString(@"{{0, 0}, {1, 1}}"); - self.view.frame = CGRectMake(0.0, 20.0, 320.0, 460.0); - self.view.tag = 0; - - [self.view addSubview:background_button]; - [self.view addSubview:label4]; - [self.view addSubview:label7]; - [self.view addSubview:label8]; - [self.view addSubview:self.calculateButton]; - [self.view addSubview:label11]; - [self.view addSubview:self.resultLabel]; - [self.view addSubview:self.aText]; - [self.view addSubview:self.bText]; -} - -@end |