home *** CD-ROM | disk | FTP | other *** search
-
- /*
- ** Interface file for calculator exercise, lab #1
- ** NeXT Technical Support
- */
-
- #import <objc/Object.h>
-
- #define STACKSIZE 20
-
- @interface Calculator:Object
- {
- id aWindow; /* main window in which calculator is drawn */
- id viewer; /* calculator's simulated LCD display */
- char viewerStr[24]; /* string of digits to put in viewer */
- double stack[STACKSIZE];
- int topOfStack;
- BOOL frozen; /* flag to freeze calculator's functioning
- upon encountering an error, until
- "clear" button is clicked */
- }
- +new;
- -(double)pop;
- -push:(double)aNum;
- -(double)getOperand;
- -displayValue:(double)aNum;
- -pushAndDisplay:(double)aNum;
- -enter:(id)sender;
- -clearDisplay:(id)sender;
- -digit:(id)sender;
- -period:(id)sender;
- -add:(id)sender;
- -subtract:(id)sender;
- -multiply:(id)sender;
- -divide:(id)sender;
- -changeSign:(id)sender;
- -stackError:(STR)errorMsg;
- - setAWindow:(id)anObject;
- - setViewer:(id)anObject;
- - windowWillClose:(id)sender;
- @end
-
-