aboutsummaryrefslogtreecommitdiffhomepage
path: root/examples/objc/PrenotCalculator/CalculatorViewController.m
diff options
context:
space:
mode:
Diffstat (limited to 'examples/objc/PrenotCalculator/CalculatorViewController.m')
-rw-r--r--examples/objc/PrenotCalculator/CalculatorViewController.m127
1 files changed, 0 insertions, 127 deletions
diff --git a/examples/objc/PrenotCalculator/CalculatorViewController.m b/examples/objc/PrenotCalculator/CalculatorViewController.m
deleted file mode 100644
index 6e755a9ad5..0000000000
--- a/examples/objc/PrenotCalculator/CalculatorViewController.m
+++ /dev/null
@@ -1,127 +0,0 @@
-// Copyright 2015 The Bazel Authors. All rights reserved.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-#import "CalculatorViewController.h"
-
-#import "CalculatedValues.h"
-#import "CoreData.h"
-#import "Equation.h"
-#import "Expression.h"
-#import "Literal.h"
-
-@interface CalculatorViewController ()
-- (void)updateEnabledViews;
-- (void)updateButtonColor:(UIButton *)button;
-@end
-
-@implementation CalculatorViewController {
- NSMutableArray *_locationStack;
- NSMutableString *_currentNumber;
-}
-
-- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
- self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
- if (self) {
- self.title = @"Calculator";
- CoreData *coreData = [[CoreData alloc] init];
- [coreData verify];
- }
- return self;
-}
-
-- (void)viewDidLoad {
- [super viewDidLoad];
- _locationStack = [NSMutableArray array];
- _currentNumber = [NSMutableString stringWithString:@""];
- [self updateEnabledViews];
-}
-
-- (IBAction)enterDigit:(id)sender {
- UIButton *button = (UIButton *)sender;
- [_currentNumber appendString:button.titleLabel.text];
- self.resultLabel.text = _currentNumber;
- [self updateEnabledViews];
-}
-
-- (IBAction)finish:(id)sender {
- if (![_locationStack count]) {
- _currentNumber = [NSMutableString stringWithString:@""];
- self.resultLabel.text = @"hello";
- }
- if (![_locationStack count]) {
- _currentNumber = [NSMutableString stringWithString:@""];
- } else if ([_currentNumber length]) {
- Equation *last = [_locationStack lastObject];
- [last addExpressionAsChild:[[Literal alloc] initWithDouble:
- atof([_currentNumber cStringUsingEncoding:NSUTF8StringEncoding])]];
- _currentNumber = [NSMutableString stringWithString:@""];
- self.resultLabel.text = [NSString stringWithFormat:@"%@", last];
- } else {
- Equation *popped = [_locationStack lastObject];
- [_locationStack removeLastObject];
- [[CalculatedValues sharedInstance] addEquation:popped];
- self.resultLabel.text =
- [NSString stringWithFormat:@"%lf", [popped calculate]];
- }
- [self updateEnabledViews];
-}
-
-- (IBAction)operate:(id)sender {
- Operation operation;
- if ([_currentNumber length]) {
- // finish the current number first automatically:
- [self finish:nil];
- }
- if (sender == self.multiplyButton) {
- operation = kMultiply;
- } else if (sender == self.plusButton) {
- operation = kAdd;
- } else if (sender == self.divideButton) {
- operation = kDivide;
- } else if (sender == self.minusButton) {
- operation = kSubtract;
- } else {
- // Shouldn't happen
- operation = kAdd;
- }
- Equation *newEquation = [[Equation alloc] initWithOperation:operation];
- if ([_locationStack count]) {
- [[_locationStack lastObject] addExpressionAsChild:newEquation];
- }
- [_locationStack addObject:newEquation];
- self.resultLabel.text = [NSString stringWithFormat:@"%@", _locationStack[0]];
- [self updateEnabledViews];
-}
-
-#pragma mark - Private
-
-
-- (void)updateEnabledViews {
- self.finishButton.enabled = [_locationStack count] || [_currentNumber length];
- [self updateButtonColor:self.finishButton];
- self.zeroButton.enabled = self.finishButton.enabled;
- [self updateButtonColor:self.zeroButton];
- BOOL enableNonZeroDigits = ![_currentNumber isEqualToString:@"0"];
- for (UIButton *digit in self.nonZeroDigitButtons) {
- digit.enabled = enableNonZeroDigits;
- [self updateButtonColor:digit];
- }
-}
-
-- (void)updateButtonColor:(UIButton *)button {
- button.backgroundColor = button.enabled ?
- [UIColor whiteColor] : [UIColor grayColor];
-}
-
-@end