aboutsummaryrefslogtreecommitdiffhomepage
path: root/examples/objc/PrenotCalculator/CalculatorViewController.m
diff options
context:
space:
mode:
authorGravatar allevato <allevato@google.com>2017-09-16 01:01:36 +0200
committerGravatar László Csomor <laszlocsomor@google.com>2017-09-18 11:28:51 +0200
commitde6fd92656ed5f7be648ca59c45017bf05567e0c (patch)
tree5b360f077b108edd324e0453fe7ff537c8e783e4 /examples/objc/PrenotCalculator/CalculatorViewController.m
parenta1ef0b6e9fed8c37b43d12f12dc437d99b80173c (diff)
Move PrenotCalculator from Bazel examples to rules_apple examples.
This also migrates the example to the new rules_apple ios_application rule, since the native Bazel rule is being deleted. PiperOrigin-RevId: 168902357
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