]> Dogcows Code - chaz/thecheat/blob - MyDocument.h
The Cheat 1.1.1
[chaz/thecheat] / MyDocument.h
1
2 // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3 // Project: The Cheat
4 //
5 // File: MyDocument.h
6 // Created: Sun Sep 07 2003
7 //
8 // Copyright: 2003 Chaz McGarvey. All rights reserved.
9 // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
10
11 #import <Cocoa/Cocoa.h>
12
13 #include <float.h>
14
15 #import "ClientDelegate.h"
16
17 #import "MenuExtras.h"
18
19 #include "cheat_types.h"
20 #include "cheat_globals.h"
21 #include "cheat_net.h"
22
23
24 @interface MyDocument : NSDocument < ClientDelegate >
25 {
26 // allows for easy interface updating
27 TCstatus status, lastStatus;
28
29 // dealing with connecting
30 BOOL waitingToConnect;
31 NSConnection *connection;
32 NSData *connectionAddress;
33 NSString *connectionName;
34 int sockfd;
35
36 // for updating the interface
37 NSString *targetName;
38 int targetPID;
39 BOOL targetPaused;
40
41 NSArray *serverList;
42 NSMutableArray *addressList;
43
44 TCaddress *searchResults;
45 int searchResultsAmount;
46 int maxSearchResultsAmount;
47
48 // to allow for connecting on new document
49 BOOL everConnected;
50
51 // for the status field
52 NSString *savedStatusText;
53 NSColor *savedStatusColor;
54 NSTimer *statusTextTimer;
55
56 // for updating the interface
57 int undoCount, redoCount;
58 BOOL addressSelected;
59
60 // for changing variables every x seconds
61 NSTimer *changeTimer;
62 NSArray *changeSelectedItems;
63
64 // INTERFACE OUTLETS
65 IBOutlet NSWindow *cheatWindow;
66 IBOutlet NSPopUpButton *serverPopup;
67 IBOutlet NSButton *pauseButton;
68 IBOutlet NSPopUpButton *processPopup;
69 IBOutlet NSPopUpButton *typePopup;
70 IBOutlet NSPopUpButton *sizePopup;
71 IBOutlet NSTextField *searchTextField;
72 IBOutlet NSMatrix *searchRadioMatrix;
73 IBOutlet NSButton *searchButton;
74 IBOutlet NSButton *clearSearchButton;
75 IBOutlet NSButton *changeButton;
76 IBOutlet NSTableView *addressTable;
77 IBOutlet NSTextField *statusText;
78 IBOutlet NSProgressIndicator *statusBar;
79 IBOutlet NSTextField *descriptionText;
80
81 IBOutlet NSMenu *serverMenu;
82 IBOutlet NSMenu *processMenu;
83 IBOutlet NSMenu *typeMenu;
84 IBOutlet NSMenu *stringSizeMenu;
85 IBOutlet NSMenu *integerSizeMenu;
86 IBOutlet NSMenu *decimalSizeMenu;
87
88 // FOR THE CHANGE SHEET
89 IBOutlet NSWindow *changeSheet;
90 IBOutlet NSTextField *changeTextField;
91 IBOutlet NSButton *recurringChangeButton;
92 IBOutlet NSComboBox *changeSecondsCombo;
93 IBOutlet NSButton *cancelButton;
94 IBOutlet NSButton *okButton;
95 }
96
97 // UPDATE INTERFACE
98 - (void)initialInterfaceSetup;
99
100 - (void)updateSearchButton;
101 - (void)updatePauseButton;
102 - (void)updateSearchBoxes;
103 - (void)updateChangeButton;
104 - (void)updateDescriptionText;
105
106 - (void)setStatusDisconnected;
107 - (void)setStatusConnected;
108 - (void)setStatusCheating;
109 - (void)setStatusSearching;
110 - (void)setStatusChanging;
111 - (void)setStatusChangingLater;
112 - (void)setStatusChangingContinuously;
113 - (void)setStatusUndoing;
114 - (void)setStatusRedoing;
115 - (void)setStatusToLast;
116
117 - (void)setStatusText:(NSString *)msg duration:(NSTimeInterval)seconds;
118 - (void)setStatusText:(NSString *)msg duration:(NSTimeInterval)seconds color:(NSColor *)color;
119 - (void)statusTextTimer:(NSTimer *)timer;
120
121 // UPDATE CHANGE SHEET
122
123
124
125 // CONNECT/DISCONNECT TO SERVER
126 - (void)connectToLocal;
127 - (void)connectToServer:(NSData *)addr name:(NSString *)name;
128 - (void)disconnect;
129
130 // SEND NETWORK MESSAGE
131 - (void)sendProcessListRequest;
132 - (void)sendClearSearch;
133 - (void)sendSearch:(char const *)data size:(int)size;
134 - (void)sendChange:(char const *)data size:(int)size;
135 - (void)sendPauseTarget;
136 - (void)sendVariableValueRequest;
137 - (void)sendUndoRequest;
138 - (void)sendRedoRequest;
139 - (void)sendSetTargetPID:(int)pid;
140
141 // RECEIVED NETWORK MESSAGE
142 - (void)receivedProcessList:(NSData *)data;
143 - (void)receivedSearchFinished;
144 - (void)receivedVariableList:(NSData *)data;
145 - (void)receivedChangeFinished;
146 - (void)receivedError:(NSData *)data;
147 - (void)receivedUndoFinished;
148 - (void)receivedRedoFinished;
149 - (void)receivedUndoRedoStatus:(NSData *)data;
150 - (void)receivedAppLaunched:(NSData *)data;
151 - (void)receivedAppQuit:(NSData *)data;
152 - (void)receivedTargetQuit;
153 - (void)receivedPauseFinished:(NSData *)data;
154
155 // SEARCHING/CHANGING COMMANDS
156 - (void)search;
157 - (void)change;
158
159 - (void)changeSheet:(NSWindow *)sheet returned:(int)returned context:(void *)context;
160
161 - (void)changeTimer:(NSTimer *)timer;
162
163 // CHEAT WINDOW INTERFACE
164 - (IBAction)typePopup:(id)sender;
165 - (IBAction)sizePopup:(id)sender;
166
167 - (IBAction)searchButton:(id)sender;
168 - (IBAction)clearSearchButton:(id)sender;
169
170 - (IBAction)changeButton:(id)sender;
171
172 - (IBAction)serverMenuItem:(id)sender;
173 - (IBAction)serverMenuDisconnect:(id)sender;
174 - (IBAction)serverMenuLocal:(id)sender;
175 - (IBAction)processMenuItem:(id)sender;
176
177 - (IBAction)pauseButton:(id)sender;
178
179 - (IBAction)undoMenu:(id)sender;
180 - (IBAction)redoMenu:(id)sender;
181
182 // CHANGE SHEET INTERFACE
183 - (IBAction)cancelButton:(id)sender;
184 - (IBAction)okButton:(id)sender;
185
186 - (IBAction)recurringChangeButton:(id)sender;
187
188 // CLEAN UP
189 - (void)clearSearch;
190 - (void)destroyResults;
191
192 // NOTIFICATION SELECTORS
193 - (void)listenerStarted:(NSNotification *)note;
194 - (void)listenerStopped:(NSNotification *)note;
195
196 - (void)windowsOnTopChanged:(NSNotification *)note;
197
198 // ERROR HANDLING
199 - (void)handleErrorMessage:(NSString *)msg fatal:(BOOL)fatal;
200
201 @end
This page took 0.039824 seconds and 4 git commands to generate.