home *** CD-ROM | disk | FTP | other *** search
- //
- // Calculator.h
- // Copyright (c) 1990,1991,1992 by Jiro Nakamura
- // All rights reserved
- //
- // Maintains a simple 4-function + others calculator in Objective-C
- // Doesn't handle algebraic notation or simple ordering.
- //
- // RCS Information
- // Revision Number-> $Revision: 1.8 $
- // Last Revised-> $Date: 92/02/02 18:24:19 $
- //
-
- #import <appkit/Panel.h>
- #import <appkit/Text.h>
-
- @interface Calculator: Panel
- {
- double x, // Current (displayed) number
- y, // Previous (stored) number
- m; // Memory number
-
- BOOL x_hasDecimal,
- x_isNew,
- calcDidInit;
-
- int displayMode;
-
- int currentOperation;
-
- id display;
- id memoryDisplay;
- id operationDisplay;
-
- id scrollDisplay;
- Text *scrollText;
-
- id invisibleEnterKey;
-
- id hexadecimalKeyMatrix;
- id decimalKeyMatrix;
- id decimalPointKey;
- }
-
- - key_clear:sender;
- - key_divide:sender;
- - key_number:sender;
- - key_log:sender;
- - key_squareRoot:sender;
- - key_memory:sender;
- - key_factorial:sender;
- - key_multiply:sender;
- - key_add:sender;
- - key_subtract:sender;
- - key_enter:sender;
- - key_allClear:sender;
- - key_power:sender;
- - key_negate:sender;
- - key_logicalOr: sender;
- - key_logicalAnd: sender;
- - key_logicalEor: sender;
- - key_baseChanged: sender;
-
- - setDisplay;
- - clearDisplay;
- - errorDisplay;
- - errorDisplay: (char *) error;
- - (double) getDisplay;
- - updateMemoryMarker;
- - updateOperationMarker;
- - processPrevious;
- // Delegate stuff to ensure proper miniaturization behaviour
- - windowWillMiniaturize: sender toMiniwindow: mini;
- - windowDidUpdate: sender;
- - windowDidDeminiaturize: sender;
- - setScrollOperation: (char *) op andNumber: (double) val;
-
- // From CalculatorLab/MinusPanel.h
- - (BOOL)commandKey:(NXEvent *)theEvent;
-
- @end
-