1 //
2 //  EMController.h
3 //  EdenMath
4 //
5 //  Created by admin on Thu Feb 21 2002.
6 //  Copyright (c) 2002-2004 Edenwaith. All rights reserved.
7 //
8 
9 #import <Foundation/Foundation.h>
10 #import <AppKit/AppKit.h>
11 #import "EMResponder.h"
12 
13 #include <math.h>
14 
15 @interface EMController : NSObject
16 {
17     EMResponder *em; 			// model responder to buttons
18     IBOutlet NSTextField *displayField; // display field showing output
19     NSUndoManager *undoManager;		// the undo manager
20 }
21 
22 // prototypes for EMController class methods
23 - (void)off:(id)sender;
24 
25 - (void)clear:(id)sender;
26 - (void)cut:(id)sender;
27 - (void)copy:(id)sender;
28 - (void)paste:(id)sender;
29 
30 - (void)updateDisplay;
31 - (BOOL)applicationShouldTerminateAfterLastWindowClosed:(NSApplication *)theApplication;
32 - (void)saveState;
33 - (void)setState:(NSDictionary *)emState;
34 - (void)undoAction:(id)sender;
35 - (NSUndoManager *)windowWillReturnUndoManager:(NSWindow *)sender;
36 
37 - (IBAction) checkForNewVersion: (id) sender;
38 - (IBAction) goToProductPage : (id) sender;
39 - (IBAction) goToFeedbackPage: (id) sender;
40 
41 // Arithmetic functions & constants
42 - (void) digitButton: (id) sender;
43 - (void)period:(id)sender;
44 - (void)pi2:(id)sender;
45 - (void)pi3_2:(id)sender;
46 - (void)pi:(id)sender;
47 - (void)pi_2:(id)sender;
48 - (void)pi_3:(id)sender;
49 - (void)pi_4:(id)sender;
50 - (void)pi_6:(id)sender;
51 - (void)e:(id)sender;
52 
53 // Standard 4-function calc methods
54 - (void)enter:(id)sender;
55 - (void)add:(id)sender;
56 - (void)subtract:(id)sender;
57 - (void)multiply:(id)sender;
58 - (void)divide:(id)sender;
59 - (void)reverse_sign:(id)sender;
60 - (void)percentage:(id)sender;
61 - (void)mod:(id)sender;
62 - (void)EE:(id)sender;
63 
64 // Algebraic functions
65 - (void)squared:(id)sender;
66 - (void)cubed:(id)sender;
67 - (void)exponent:(id)sender;
68 - (void)square_root:(id)sender;
69 - (void)cubed_root:(id)sender;
70 - (void)xroot:(id)sender;
71 - (void)ln:(id)sender;
72 - (void)logarithm:(id)sender;
73 - (void)factorial:(id)sender;
74 - (void)powerE:(id)sender;
75 - (void)power10:(id)sender;
76 - (void)inverse:(id)sender;
77 
78 // Trigonometric functions
79 - (void)setDegree:(id)sender;
80 - (void)setRadian:(id)sender;
81 - (void)setGradient:(id)sender;
82 - (void)sine:(id)sender;
83 - (void)cosine:(id)sender;
84 - (void)tangent:(id)sender;
85 - (void)arcsine:(id)sender;
86 - (void)arccosine:(id)sender;
87 - (void)arctangent:(id)sender;
88 
89 // Probability functions
90 - (void)permutation:(id)sender;
91 - (void)combination:(id)sender;
92 - (void)random_num:(id)sender;
93 
94 @end
95