]> Dogcows Code - chaz/thecheat/blob - MyDocument.h
The Cheat 1.0b4
[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 NSNetServiceBrowser *browser;
36
37 // for updating the interface
38 NSString *targetName;
39 int targetPID;
40 BOOL targetPaused;
41
42 // list of broadcast servers
43 NSMutableArray *serverList;
44 NSMutableArray *addressList;
45
46 TCaddress *searchResults;
47 int searchResultsAmount;
48
49 // to allow for connecting on new document
50 BOOL everConnected;
51
52 // for the status field
53 NSString *savedStatusText;
54 NSColor *savedStatusColor;
55 NSTimer *statusTextTimer;
56
57 // for updating the interface
58 int undoCount, redoCount;
59 BOOL addressSelected;
60
61 // for changing variables every x seconds
62 NSTimer *changeTimer;
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
80 IBOutlet NSMenu *serverMenu;
81 IBOutlet NSMenu *processMenu;
82 IBOutlet NSMenu *typeMenu;
83 IBOutlet NSMenu *stringSizeMenu;
84 IBOutlet NSMenu *integerSizeMenu;
85 IBOutlet NSMenu *decimalSizeMenu;
86
87 // FOR THE CHANGE SHEET
88 IBOutlet NSWindow *changeSheet;
89 IBOutlet NSTextField *changeTextField;
90 IBOutlet NSButton *recurringChangeButton;
91 IBOutlet NSComboBox *changeSecondsCombo;
92 IBOutlet NSButton *cancelButton;
93 IBOutlet NSButton *okButton;
94 }
95
96 // UPDATE INTERFACE
97 - (void)initialInterfaceSetup;
98
99 - (void)updateSearchButton;
100 - (void)updatePauseButton;
101 - (void)updateSearchBoxes;
102 - (void)updateChangeButton;
103
104 - (void)setStatusDisconnected;
105 - (void)setStatusConnected;
106 - (void)setStatusCheating;
107 - (void)setStatusSearching;
108 - (void)setStatusChanging;
109 - (void)setStatusChangingLater;
110 - (void)setStatusChangingContinuously;
111 - (void)setStatusUndoing;
112 - (void)setStatusRedoing;
113 - (void)setStatusToLast;
114
115 - (void)setStatusText:(NSString *)msg duration:(NSTimeInterval)seconds;
116 - (void)setStatusText:(NSString *)msg duration:(NSTimeInterval)seconds color:(NSColor *)color;
117 - (void)statusTextTimer:(NSTimer *)timer;
118
119 // UPDATE CHANGE SHEET
120
121
122
123 // CONNECT/DISCONNECT TO SERVER
124 - (void)connectToLocal;
125 - (void)connectToServer:(NSData *)addr name:(NSString *)name;
126 - (void)disconnect;
127
128 // SEND NETWORK MESSAGE
129 - (void)sendProcessListRequest;
130 - (void)sendClearSearch;
131 - (void)sendSearch:(char const *)data size:(int)size;
132 - (void)sendChange:(char const *)data size:(int)size;
133 - (void)sendPauseTarget;
134 - (void)sendVariableValueRequest;
135 - (void)sendUndoRequest;
136 - (void)sendRedoRequest;
137 - (void)sendSetTargetPID:(int)pid;
138
139 // RECEIVED NETWORK MESSAGE
140 - (void)receivedProcessList:(NSData *)data;
141 - (void)receivedSearchFinished;
142 - (void)receivedVariableList:(NSData *)data;
143 - (void)receivedChangeFinished;
144 - (void)receivedError:(NSData *)data;
145 - (void)receivedUndoFinished;
146 - (void)receivedRedoFinished;
147 - (void)receivedUndoRedoStatus:(NSData *)data;
148 - (void)receivedAppLaunched:(NSData *)data;
149 - (void)receivedAppQuit:(NSData *)data;
150 - (void)receivedTargetQuit;
151 - (void)receivedPauseFinished:(NSData *)data;
152
153 // SEARCHING/CHANGING COMMANDS
154 - (void)search;
155 - (void)change;
156
157 - (void)changeSheet:(NSWindow *)sheet returned:(int)returned context:(void *)context;
158
159 - (void)changeTimer:(NSTimer *)timer;
160
161 // CHEAT WINDOW INTERFACE
162 - (IBAction)typePopup:(id)sender;
163
164 - (IBAction)searchButton:(id)sender;
165 - (IBAction)clearSearchButton:(id)sender;
166
167 - (IBAction)changeButton:(id)sender;
168
169 - (IBAction)serverMenuItem:(id)sender;
170 - (IBAction)serverMenuDisconnect:(id)sender;
171 - (IBAction)serverMenuLocal:(id)sender;
172 - (IBAction)processMenuItem:(id)sender;
173
174 - (IBAction)pauseButton:(id)sender;
175
176 - (IBAction)undoMenu:(id)sender;
177 - (IBAction)redoMenu:(id)sender;
178
179 // CHANGE SHEET INTERFACE
180 - (IBAction)cancelButton:(id)sender;
181 - (IBAction)okButton:(id)sender;
182
183 - (IBAction)recurringChangeButton:(id)sender;
184
185 // CLEAN UP
186 - (void)clearSearch;
187 - (void)destroyResults;
188
189 // NOTIFICATION SELECTORS
190 - (void)listenerStarted:(NSNotification *)note;
191 - (void)listenerStopped:(NSNotification *)note;
192
193 - (void)windowsOnTopChanged:(NSNotification *)note;
194
195 // ERROR HANDLING
196 - (void)handleErrorMessage:(NSString *)msg fatal:(BOOL)fatal;
197
198 @end
This page took 0.041245 seconds and 4 git commands to generate.