2 Copyright (C) 1999-2007 id Software, Inc. and contributors.
\r
3 For a list of contributors, see the accompanying CONTRIBUTORS file.
\r
5 This file is part of GtkRadiant.
\r
7 GtkRadiant is free software; you can redistribute it and/or modify
\r
8 it under the terms of the GNU General Public License as published by
\r
9 the Free Software Foundation; either version 2 of the License, or
\r
10 (at your option) any later version.
\r
12 GtkRadiant is distributed in the hope that it will be useful,
\r
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
\r
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
\r
15 GNU General Public License for more details.
\r
17 You should have received a copy of the GNU General Public License
\r
18 along with GtkRadiant; if not, write to the Free Software
\r
19 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
\r
22 #ifndef _MAINFRAME_H_
\r
23 #define _MAINFRAME_H_
\r
25 #include "xywindow.h"
\r
26 #include "texwindow.h"
\r
27 #include "zwindow.h"
\r
28 #include "camwindow.h"
\r
29 #include "watchbsp.h"
\r
31 #include "pluginmanager.h"
\r
34 #include "gtkr_vector.h"
\r
37 #define __toascii(c) ((c) & 0x7f)
\r
40 const int RAD_SHIFT = 0x01;
\r
41 const int RAD_ALT = 0x02;
\r
42 const int RAD_CONTROL = 0x04;
\r
43 const int RAD_PRESS = 0x08;
\r
48 unsigned int m_nKey;
\r
49 unsigned int m_nModifiers;
\r
50 unsigned int m_nCommand;
\r
57 unsigned int m_nVKKey;
\r
60 #define ID_FILE_NEW 0xE100
\r
61 #define ID_FILE_OPEN 0xE101
\r
62 #define ID_FILE_SAVE 0xE103
\r
63 #define ID_EDIT_UNDO 0xE12B
\r
64 #define ID_EDIT_REDO 0xE12C
\r
65 #define ID_HELP 0xE146
\r
66 #define ID_FILE_RECENT1 0xE110
\r
67 #define ID_FILE_RECENT2 0xE111
\r
68 #define ID_FILE_RECENT3 0xE112
\r
69 #define ID_FILE_RECENT4 0xE113
\r
71 #define IDC_BTN_FACEFIT 1143
\r
72 #define ID_ENTITY_START 22800
\r
73 #define ID_ENTITY_END 32000 //leo
\r
74 //#define ID_ENTITY_END 33500
\r
75 #define ID_VIEW_XY 32772
\r
76 #define ID_VIEW_SIDE 32773
\r
77 #define ID_VIEW_FRONT 32774
\r
78 #define ID_CAMERATOGGLE 32775
\r
79 #define ID_VIEW_CAMERATOGGLE 32776
\r
80 #define ID_BUTTON32777 32777
\r
81 #define ID_BUTTON32778 32778
\r
82 #define ID_TEXTURES_POPUP 32780
\r
83 #define ID_POPUP_SELECTION 32782
\r
84 #define ID_VIEW_CHANGE 32783
\r
85 #define ID_VIEW_CAMERAUPDATE 32784
\r
86 #define ID_VIEW_CLIPPER 32785
\r
87 #define ID_PREFS 32786
\r
88 #define ID_TOGGLE_LOCK 32787
\r
89 #define ID_EDIT_MAPINFO 32788
\r
90 #define ID_EDIT_ENTITYINFO 32789
\r
91 #define ID_BRUSH_SCRIPTS 32790
\r
92 #define ID_VIEW_NEXTVIEW 32791
\r
93 #define ID_HELP_COMMANDLIST 32792
\r
94 #define ID_FILE_NEWPROJECT 32793
\r
95 #define ID_SNAPTOGRID 32795
\r
96 #define ID_VIEW_CENTERVIEW 32796
\r
97 #define ID_SPLIT_SELECTED 32823
\r
98 #define ID_CLIP_SELECTED 32824
\r
99 #define ID_FLIP_CLIP 32825
\r
100 #define ID_TOGGLEVIEW_YZ 32831
\r
101 #define ID_TOGGLEVIEW_XZ 32832
\r
102 #define ID_COLORS_GRIDTEXT 32833
\r
103 #define ID_COLORS_BRUSH 32834
\r
104 #define ID_COLORS_SELECTEDBRUSH 32835
\r
105 #define ID_COLORS_CLIPPER 32836
\r
106 #define ID_COLORS_GRIDBLOCK 32837
\r
107 #define ID_COLORS_VIEWNAME 32838
\r
108 #define ID_COLOR_SETORIGINAL 32839
\r
109 #define ID_COLOR_SETQER 32840
\r
110 #define ID_COLOR_SETBLACK 32841
\r
111 #define ID_COLOR_SETYDNAR 37001 /* ydnar */
\r
112 #define ID_BYEBYE 32842
\r
113 #define ID_SELECT_SCALE 32843
\r
114 #define ID_SELECT_MOUSEROTATE 32844
\r
115 #define ID_COLORS_SELECTEDBRUSH3D 32845
\r
116 #define ID_COLORS_CAMERABACK 32846
\r
117 #define ID_TEXTURE_REPLACESELECTED 32859
\r
118 #define ID_TEXTURE_REPLACEALL 32860
\r
119 #define ID_SELECT_MOUSESCALE 32866
\r
120 #define ID_SCALELOCKX 32867
\r
121 #define ID_SCALELOCKY 32868
\r
122 #define ID_SCALELOCKZ 32869
\r
123 #define ID_VIEW_CUBICCLIPPING 32870
\r
124 #define ID_FILE_PROJECTSETTINGS 32875
\r
125 #define ID_VIEW_CUBEOUT 32876
\r
126 #define ID_VIEW_CUBEIN 32877
\r
127 #define ID_NODES_LOADNODES 32878
\r
128 #define ID_NODES_SHOWNODES 32879
\r
129 #define ID_NODES_SHOWLINKS 32880
\r
130 #define ID_NODES_REMOVEALLNODES 32881
\r
131 #define ID_NODES_COUNTNODES 32882
\r
132 #define ID_NODES_GIVEMONEYTONELNO 32883
\r
133 #define ID_FILE_SAVEREGION 32887
\r
134 #define ID_FILE_LOADREGION 32888
\r
135 #define ID_SELECTION_MOVEDOWN 32890
\r
136 #define ID_TOOLBAR_MAIN 32891
\r
137 #define ID_SELECTION_MOVEUP 32892
\r
138 //#define ID_TOOLBAR_TEXTURE 32892
\r
139 #define ID_BRUSH_MAKECONE 32896
\r
140 #define ID_TEXTURES_LOAD 32897
\r
141 #define ID_TOGGLE_ROTATELOCK 32898
\r
142 #define ID_FILE_IMPORTMAP 32911
\r
143 #define ID_FILE_EXPORTMAP 32912
\r
144 #define ID_EDIT_LOADPREFAB 32913
\r
145 #define ID_SELECTION_SELECT_NUDGELEFT 32916
\r
146 #define ID_SELECTION_SELECT_NUDGERIGHT 32917
\r
147 #define ID_SELECTION_SELECT_NUDGEUP 32918
\r
148 #define ID_SELECTION_SELECT_NUDGEDOWN 32919
\r
149 #define ID_TEXTURES_LOADLIST 32920
\r
150 #define ID_DONTSELECTCURVE 32923
\r
151 #define ID_CONVERTCURVES 32924
\r
152 #define ID_PATCH_SHOWBOUNDINGBOX 32926
\r
153 #define ID_CURVE_SIMPLEPATCHMESH 32927
\r
154 #define ID_PATCH_WIREFRAME 32928
\r
155 #define ID_PATCH_WELD 32929
\r
156 #define ID_CURVE_PATCHTUBE 32930
\r
157 #define ID_CURVE_PATCHCONE 32931
\r
158 #define ID_CURVE_PATCHENDCAP 32932
\r
159 #define ID_CURVE_PATCHBEVEL 32933
\r
160 #define ID_PATCH_DRILLDOWN 32936
\r
161 #define ID_CURVE_LOADPATCHFILE 32937
\r
162 #define ID_CURVE_INSERTROW 32938
\r
163 #define ID_CURVE_INSERTCOLUMN 32939
\r
164 #define ID_CURVE_DELETEROW 32940
\r
165 #define ID_CURVE_DELETECOLUMN 32941
\r
166 #define ID_BUTTON32942 32942
\r
167 //#define ID_PATCH_INSDEL 32942
\r
168 #define ID_CURVE_INSERT_ADDCOLUMN 32943
\r
169 #define ID_CURVE_INSERT_INSERTCOLUMN 32944
\r
170 #define ID_CURVE_INSERT_ADDROW 32945
\r
171 #define ID_CURVE_INSERT_INSERTROW 32946
\r
172 #define ID_CURVE_DELETE_FIRSTCOLUMN 32947
\r
173 #define ID_CURVE_DELETE_LASTCOLUMN 32948
\r
174 #define ID_CURVE_DELETE_FIRSTROW 32949
\r
175 #define ID_CURVE_DELETE_LASTROW 32950
\r
176 #define ID_CURVE_NEGATIVE 32951
\r
177 #define ID_PATCH_BEND 32952
\r
178 #define ID_CURVE_PATCHDENSETUBE 32955
\r
179 #define ID_CURVE_PATCHVERYDENSETUBE 32956
\r
180 #define ID_CURVE_CAP 32957
\r
181 #define ID_CURVE_REDISPERSE_ROWS 32961
\r
182 #define ID_PATCH_NATURALIZE 32963
\r
183 #define ID_CURVE_PATCHSQUARE 32964
\r
184 #define ID_BRUSH_PRIMITIVES_SPHERE 32965
\r
185 #define ID_BRUSH_PRIMITIVES_TORUS 32966
\r
186 #define ID_TEXTURES_TEXTUREWINDOWSCALE_200 32967
\r
187 #define ID_TEXTURES_TEXTUREWINDOWSCALE_100 32968
\r
188 #define ID_TEXTURES_TEXTUREWINDOWSCALE_50 32969
\r
189 #define ID_TEXTURES_TEXTUREWINDOWSCALE_25 32970
\r
190 #define ID_TEXTURES_TEXTUREWINDOWSCALE_10 32971
\r
191 #define ID_CURVE_NEGATIVETEXTUREX 32972
\r
192 #define ID_TEXTURES_FLUSH 32973
\r
193 #define ID_CURVE_OVERLAY_SET 32974
\r
194 #define ID_CURVE_OVERLAY_CLEAR 32975
\r
195 #define ID_CURVE_NEGATIVETEXTUREY 32976
\r
196 #define ID_CURVE_THICKEN 32977
\r
197 #define ID_CURVE_CYCLECAP 32978
\r
198 #define ID_CURVE_MATRIX_TRANSPOSE 32981
\r
199 #define ID_PLUGINS_REFRESH 32982
\r
200 #define ID_TEXTURES_RELOADSHADERS 32983
\r
201 #define ID_VIEW_ENTITIESAS_BOUNDINGBOX 32984
\r
202 #define ID_VIEW_ENTITIESAS_WRITEFRAME 32985
\r
203 #define ID_VIEW_ENTITIESAS_SELECTEDWIREFRAME 32986
\r
204 #define ID_VIEW_ENTITIESAS_SELECTEDSKINNED 32987
\r
205 #define ID_VIEW_ENTITIESAS_SKINNED 32988
\r
206 #define ID_VIEW_ENTITIESAS_SKINNEDANDBOXED 32989
\r
207 #define ID_SHOW_ENTITIES 32990
\r
208 #define ID_VIEW_ENTITIESAS_WIREFRAME 32991
\r
209 #define ID_VIEW_OPENGLLIGHTING 32998
\r
210 #define ID_EDIT_SAVEPREFAB 33001
\r
211 #define ID_CURVE_MOREENDCAPSBEVELS_SQUAREENDCAP 33002
\r
212 #define ID_CURVE_MOREENDCAPSBEVELS_SQUAREBEVEL 33003
\r
213 #define ID_CURVE_PRIMITIVES_SPHERE 33005
\r
214 #define ID_VIEW_HIDESHOW_HIDESELECTED 33006
\r
215 #define ID_VIEW_HIDESHOW_SHOWHIDDEN 33007
\r
216 #define ID_TEXTURES_SHADERS_SHOW 33008
\r
217 //#define ID_SELECTION_CSGADD 33009
\r
218 #define ID_SELECTION_CSGMERGE 33011
\r
219 #define ID_TEXTURES_FLUSH_UNUSED 33014
\r
220 #define ID_DROP_GROUP_REMOVE 33016
\r
221 #define ID_DROP_GROUP_ADDTO_WORLD 33017
\r
222 #define ID_DROP_GROUP_NEWGROUP 33018
\r
223 #define ID_DROP_GROUP_NAME 33019
\r
224 #define ID_DROP_GROUP_ADDTO 33020
\r
225 #define ID_VIEW_SHOWANGLES 33021
\r
226 #define ID_VIEW_SHOWWORKZONE 33022
\r
227 #define ID_TEXTURE_FLUSH 33023
\r
228 #define ID_TEXTURES_SHOWSHADERS 33025
\r
229 #define ID_DONTSELECTMODEL 33027
\r
230 #define ID_TEXTURES_SHADERLISTONLY 33030
\r
231 #define ID_PLUGIN_START 33800
\r
232 #define ID_PLUGIN_END 33999
\r
233 #define ID_FILE_EXIT 40002
\r
234 #define ID_FILE_SAVEAS 40004
\r
235 #define ID_VIEW_CENTER 40005
\r
236 #define ID_VIEW_UPFLOOR 40006
\r
237 #define ID_VIEW_DOWNFLOOR 40007
\r
238 #define ID_BRUSH_FLIPX 40008
\r
239 #define ID_BRUSH_FLIPY 40009
\r
240 #define ID_BRUSH_FLIPZ 40010
\r
241 #define ID_BRUSH_ROTATEX 40011
\r
242 #define ID_BRUSH_ROTATEY 40012
\r
243 #define ID_BRUSH_ROTATEZ 40013
\r
244 #define ID_BSP_FULLVIS 40016
\r
245 #define ID_BSP_FASTVIS 40017
\r
246 #define ID_BSP_NOVIS 40018
\r
247 #define ID_BSP_RELIGHT 40019
\r
248 #define ID_BSP_ENTITIES 40020
\r
249 #define ID_FILE_POINTFILE 40021
\r
250 #define ID_VIEW_100 40022
\r
251 #define ID_VIEW_75 40023
\r
252 #define ID_VIEW_50 40024
\r
253 #define ID_VIEW_25 40025
\r
254 #define ID_VIEW_12 40026
\r
255 #define ID_TEXTURES_SHOWALL 40033
\r
256 #define ID_TEXTURES_SHOWINUSE 40034
\r
257 #define ID_TEXTURES_TOGGLEVIEW 40037
\r
258 #define ID_SELECTION_CREATEENTITY 40039
\r
259 #define ID_SELECTION_EDITENTITY 40040
\r
260 #define ID_MISC_BENCHMARK 40041
\r
261 #define ID_REGION_OFF 40043
\r
262 #define ID_REGION_SETXY 40044
\r
263 #define ID_REGION_SETBRUSH 40045
\r
264 #define ID_SELECTION_MAKEHOLLOW 40046
\r
265 #define ID_SELECTION_SELECTPARTIALTALL 40047
\r
266 #define ID_SELECTION_SELECTCOMPLETETALL 40048
\r
267 #define ID_SELECTION_CSGSUBTRACT 40049
\r
268 #define ID_SELECTION_SELECTTOUCHING 40050
\r
269 #define ID_VIEW_NEAREST 40052
\r
270 #define ID_VIEW_NEARESTMIPMAP 40053
\r
271 #define ID_VIEW_LINEAR 40054
\r
272 #define ID_VIEW_BILINEAR 40055
\r
273 #define ID_VIEW_BILINEARMIPMAP 40056
\r
274 #define ID_VIEW_TRILINEAR 40057
\r
275 #define ID_TEXTURES_WIREFRAME 40058
\r
276 #define ID_TEXTURES_FLATSHADE 40059
\r
277 #define ID_VIEW_SHOWNAMES 40060
\r
278 #define ID_VIEW_ZOOMIN 40061
\r
279 #define ID_VIEW_ZOOMOUT 40062
\r
280 #define ID_VIEW_SHOWCOORDINATES 40063
\r
281 #define ID_VIEW_Z100 40064
\r
282 #define ID_VIEW_ZZOOMIN 40065
\r
283 #define ID_VIEW_ZZOOMOUT 40066
\r
284 #define ID_SELECTION_CLONE 40067
\r
285 #define ID_SELECTION_DESELECT 40068
\r
286 #define ID_SELECTION_DELETE 40069
\r
287 #define ID_BUTTON40068 40070
\r
288 #define ID_SELECTION_DRAGVERTECIES 40074
\r
289 #define ID_SELECTION_DRAGEDGES 40075
\r
290 #define ID_REGION_SETTALLBRUSH 40076
\r
291 #define ID_SELECTION_SELECTINSIDE 40092
\r
292 #define ID_PROJECT_RELEAD 40094
\r
293 #define ID_PROJECT_CHANGE 40095
\r
294 #define ID_MISC_GAMMA 40097
\r
295 #define ID_MISC_TEXTUREBACKGROUN 40104
\r
296 #define ID_TEXTUREBK 40105
\r
297 #define ID_COLORS_XYBK 40106
\r
298 #define ID_FILE_ABOUT 40107
\r
299 #define ID_VIEW_CONSOLE 40108
\r
300 #define ID_VIEW_ENTITY 40109
\r
301 #define ID_VIEW_TEXTURE 40110
\r
302 #define ID_COLORS_MAJOR 40111
\r
303 #define ID_COLORS_MINOR 40113
\r
304 #define ID_SELECTION_CONNECT 40114
\r
305 #define ID_FILE_LOADPROJECT 40115
\r
306 #define ID_MISC_FINDBRUSH 40116
\r
307 #define ID_MISC_NEXTLEAKSPOT 40117
\r
308 #define ID_MISC_PREVIOUSLEAKSPOT 40118
\r
309 #define ID_BRUSH_3SIDED 40119
\r
310 #define ID_BRUSH_4SIDED 40120
\r
311 #define ID_BRUSH_5SIDED 40121
\r
312 #define ID_BRUSH_6SIDED 40122
\r
313 #define ID_BRUSH_7SIDED 40123
\r
314 #define ID_BRUSH_8SIDED 40124
\r
315 #define ID_BRUSH_9SIDED 40125
\r
316 #define ID_SELECTION_ARBITRARYROTATION 40126
\r
317 #define ID_BRUSH_ARBITRARYSIDED 40127
\r
318 #define ID_SELECTION_UNGROUPENTITY 40130
\r
319 #define ID_MISC_SELECTENTITYCOLOR 40131
\r
320 #define ID_MISC_PRINTXY 40132
\r
321 #define ID_HELP_ABOUT 40134
\r
322 #define ID_EDIT_COPYBRUSH 40135
\r
323 #define ID_EDIT_PASTEBRUSH 40136
\r
324 #define ID_TEXTURES_INSPECTOR 40137
\r
325 #define ID_SELECTION_MAKE_DETAIL 40139
\r
326 #define ID_SELECTION_MAKE_STRUCTURAL 40140
\r
327 #define ID_REGION_SETSELECTION 40141
\r
328 #define ID_VIEW_SHOWBLOCKS 40142
\r
329 #define ID_CAMERA_UP 40152
\r
330 #define ID_CAMERA_DOWN 40153
\r
331 #define ID_CAMERA_LEFT 40154
\r
332 #define ID_CAMERA_RIGHT 40155
\r
333 #define ID_CAMERA_FORWARD 40156
\r
334 #define ID_CAMERA_BACK 40157
\r
335 #define ID_CAMERA_ANGLEUP 40158
\r
336 #define ID_CAMERA_ANGLEDOWN 40159
\r
337 #define ID_CAMERA_STRAFELEFT 40160
\r
338 #define ID_CAMERA_STRAFERIGHT 40161
\r
339 #define ID_GRID_TOGGLE 40162
\r
340 #define ID_ENTITYLIST 40163
\r
341 #define ID_MAPINFO 40164
\r
342 #define ID_TOGGLECONSOLE 40165
\r
343 #define ID_TOGGLECAMERA 40166
\r
344 #define ID_TOGGLEZ 40167
\r
345 #define ID_TOGGLEVIEW 40168
\r
346 #define ID_SELECTION_TEXTURE_FIT 40171
\r
347 #define ID_SELECTION_TEXTURE_ROTATECLOCK 40172
\r
348 #define ID_SELECTION_TEXTURE_ROTATECOUNTER 40173
\r
349 #define ID_SELECTION_TEXTURE_SCALEUP 40174
\r
350 #define ID_SELECTION_TEXTURE_SCALEDOWN 40175
\r
351 #define ID_SELECTION_TEXTURE_SHIFTLEFT 40176
\r
352 #define ID_SELECTION_TEXTURE_SHIFTRIGHT 40177
\r
353 #define ID_SELECTION_TEXTURE_SHIFTUP 40178
\r
354 #define ID_SELECTION_TEXTURE_SHIFTDOWN 40179
\r
355 #define ID_GRID_NEXT 40180
\r
356 #define ID_GRID_PREV 40181
\r
357 #define ID_SELECTION_TEXTURE_SCALELEFT 40182
\r
358 #define ID_SELECTION_TEXTURE_SCALERIGHT 40183
\r
359 #define ID_SELECTION_PRINT 40184
\r
360 #define ID_SELECTION_TOGGLESIZEPAINT 40185
\r
361 #define ID_PATCH_TAB 40186
\r
362 #define ID_PATCH_ENTER 40187
\r
363 #define ID_SELECT_SNAPTOGRID 40188
\r
364 #define ID_PATCH_INSPECTOR 40189
\r
365 #define ID_SELECT_ALL 40190
\r
366 #define ID_CURVE_FREEZE 40191
\r
367 #define ID_CURVE_UNFREEZE 40192
\r
368 #define ID_CURVE_UNFREEZEALL 40193
\r
369 #define ID_SELECT_RESELECT 40194
\r
370 #define ID_FITFACE 40196
\r
371 #define ID_VIEW_CROSSHAIR 40197
\r
372 #define ID_SELECTION_INVERT 40198
\r
373 #define ID_VIEW_GROUPS 40199
\r
374 #define ID_FILE_SLEEP 40200
\r
375 #define ID_HELP_LINKS 40201
\r
376 #define ID_VIEW_SHOWOUTLINE 40202 // TTimo: outline as in colored outline around the window to quickly guess the orientation
\r
377 #define ID_VIEW_SHOWAXES 40203
\r
378 #define ID_SELECTION_NOOUTLINE 40204 // TTimo: outline as in zbuffered outline toggle on camera view (TA Q3Radiant 200f addition)
\r
379 #define ID_SELECTION_OUTLINESTYLE 40205 // Arnout: cycles through selection styles (extended 'nooutline')
\r
380 #define ID_SELECTION_SEPERATE 40206 // TTimo: split brushes out of an entity back into worldspawn
\r
381 #define ID_SELECTION_MERGE 40207 // TTimo: merge brushes from worldspawn into entity
\r
382 #define ID_HELP_BUGREPORT 40208
\r
384 #define ID_FILTER_WORLD 40209
\r
385 #define ID_FILTER_PATCHES 40210
\r
386 #define ID_FILTER_DETAILS 40211
\r
387 #define ID_FILTER_ENTITIES 40212
\r
388 #define ID_FILTER_MODELS 40213
\r
389 #define ID_FILTER_HINTSSKIPS 40214
\r
390 #define ID_FILTER_CLIPS 40215
\r
391 #define ID_FILTER_LIQUIDS 40216
\r
392 #define ID_FILTER_TRIGGERS 40217
\r
393 #define ID_FILTER_AREAPORTALS 40218
\r
394 #define ID_FILTER_TRANSLUCENT 40219
\r
395 #define ID_FILTER_CAULK 40220
\r
396 #define ID_FILTER_LIGHTS 40221
\r
397 #define ID_FILTER_PATHS 40223
\r
398 #define ID_FILTER_CLUSTERPORTALS 40224
\r
399 #define ID_FILTER_LIGHTGRID 40225
\r
400 #define ID_FILTER_STRUCTURAL 40226
\r
401 #define ID_FILTER_BOTCLIPS 40227
\r
403 #define ID_CURVE_REDISPERSE_INTERMEDIATE_COLS 40230
\r
404 #define ID_CURVE_REDISPERSE_INTERMEDIATE_ROWS 40231
\r
405 #define ID_EDIT_PASTEBRUSHTOCAMERA 40232
\r
407 #define ID_COLORS_MINOR_ALT 40230
\r
408 #define ID_COLORS_MAJOR_ALT 40231
\r
410 // those must have their own ID chunk ID_GRID_025 <= ID_GRID <= ID_GRID_256
\r
411 #define ID_GRID_025 40300
\r
412 #define ID_GRID_05 40301
\r
413 #define ID_GRID_1 40302
\r
414 #define ID_GRID_2 40303
\r
415 #define ID_GRID_4 40304
\r
416 #define ID_GRID_8 40305
\r
417 #define ID_GRID_16 40306
\r
418 #define ID_GRID_32 40307
\r
419 #define ID_GRID_64 40308
\r
420 #define ID_GRID_128 40309
\r
421 #define ID_GRID_256 40310
\r
423 #define ID_FILE_CHECKUPDATE 40320
\r
425 #define ID_TEXTUREWINDOW_SCALEUP 40321
\r
426 #define ID_TEXTUREWINDOW_SCALEDOWN 40322
\r
428 class CSynapseClientRadiant : public CSynapseClient
\r
431 bool RequestAPI(APIDescriptor_t *pAPI);
\r
432 const char* GetInfo();
\r
433 const char* GetName();
\r
435 void ImportMap(IDataStream *in, CPtrArray *ents, const char *type);
\r
436 void ExportMap(CPtrArray *ents, IDataStream *out, const char *type);
\r
438 CSynapseClientRadiant() { }
\r
439 virtual ~CSynapseClientRadiant() { }
\r
454 GtkWidget *m_pWidget;
\r
457 called to fire up the help links
\r
459 void handle_help_command(int id);
\r
464 the urls to fire up in the game packs help menus
\r
466 vector<Str *> mHelpURLs;
\r
469 scan the .game files for game install packs
\r
470 look there for help description nodes
\r
471 build the corresponding menus in Radiant
\r
473 void create_game_help_menu (GtkWidget *menu, GtkAccelGroup *accel);
\r
476 build the menu once the filename is found
\r
478 void process_xlink (Str &FileName, char *menu_name, const char *base_url, GtkWidget *menu, GtkAccelGroup *accel);
\r
481 void create_main_menu (GtkWidget *window, GtkWidget *vbox);
\r
482 void create_main_toolbar (GtkWidget *window, GtkWidget *vbox);
\r
483 void create_plugin_toolbar (GtkWidget *window, GtkWidget *vbox);
\r
484 void create_main_statusbar (GtkWidget *window, GtkWidget *vbox);
\r
485 GtkWidget *m_pStatusLabel[6];
\r
486 GtkWidget *m_pSplits[4];
\r
493 CWatchBSP* m_pWatchBSP;
\r
495 XYWnd* m_pActiveXY;
\r
496 bool m_bCamPreview;
\r
497 CPlugInManager m_PlugInMgr;
\r
498 int m_nNextPlugInID;
\r
502 CString m_strStatus[15];
\r
503 bool m_bNeedStatusUpdate;
\r
507 deals with dynamically loading the modules, initializing them, requesting the APIs
\r
509 CSynapseServer m_SynapseServer;
\r
511 we are also a synapse client in that we provide and require some APIs as well
\r
513 CSynapseClientRadiant m_SynapseClient;
\r
518 // trigger network listen
\r
521 { return m_bSleeping; }
\r
523 void UpdatePatchToolbarButtons();
\r
524 // Gef: Changed to float for sub-integer grid size
\r
525 void NudgeSelection(int nDirection, float nAmount);
\r
526 void SetButtonMenuStates();
\r
527 void SetGridStatus();
\r
528 void RoutineProcessing();
\r
529 XYWnd* ActiveXY() { return m_pActiveXY; };
\r
530 void UpdateWindows(int nBits);
\r
531 void SetStatusText(int nPane, const char* pText);
\r
532 void UpdateStatusText();
\r
533 void SetWindowStyle(int nStyle);
\r
534 virtual ~MainFrame();
\r
535 XYWnd* GetXYWnd() {return m_pXYWnd;}
\r
536 XYWnd* GetXZWnd() {return m_pXZWnd;}
\r
537 XYWnd* GetYZWnd() {return m_pYZWnd;}
\r
538 ZWnd* GetZWnd() {return m_pZWnd;}
\r
539 CamWnd* GetCamWnd() {return m_pCamWnd;}
\r
540 TexWnd* GetTexWnd() {return m_pTexWnd;}
\r
541 CWatchBSP *GetWatchBSP() { return m_pWatchBSP; }
\r
542 void ReleaseContexts ();
\r
543 void CreateContexts ();
\r
545 void SetActiveXY(XYWnd* p)
\r
548 m_pActiveXY->SetActive(false);
\r
553 m_pActiveXY->SetActive(true);
\r
557 EViewStyle CurrentStyle()
\r
559 return m_nCurrentStyle;
\r
562 bool FloatingGroupDialog()
\r
564 return CurrentStyle() == eFloating || CurrentStyle() == eSplit;
\r
568 const GdkRectangle & GetPrimaryMonitorRect( void ) const { return primaryMonitorRect; }
\r
569 const int GetGDKOffsetX( void ) const { return gdk_offset_x; }
\r
570 const int GetGDKOffsetY( void ) const { return gdk_offset_y; }
\r
575 bool m_bSplittersOK;
\r
576 void CreateQEChildren();
\r
577 void LoadCommandMap();
\r
578 void ShowMenuItemKeyBindings(GtkWidget* window);
\r
583 void Nudge(int nDim, float fNudge);
\r
584 CPlugInManager &GetPlugInMgr() {return m_PlugInMgr;};
\r
585 CSynapseServer &GetSynapseServer() {return m_SynapseServer;};
\r
586 CSynapseClientRadiant &GetSynapseClient() {return m_SynapseClient;};
\r
587 void AddPlugInToolbarButton(const IToolbarButton* button);
\r
588 void AddPlugInMenuItem(IPlugIn* pPlugIn);
\r
589 void CleanPlugInMenu();
\r
591 // these are public so i can easily reflect messages
\r
592 // from child windows..
\r
596 void ToggleCamera();
\r
599 void OnFileLoadproject();
\r
602 void OnFilePointfile();
\r
604 void OnFileSaveas();
\r
605 void OnFileCheckUpdate();
\r
607 void OnViewCenter();
\r
608 void OnViewConsole();
\r
609 void OnViewDownfloor();
\r
610 void OnViewEntity();
\r
611 void OnViewFront();
\r
612 void OnViewShowblocks();
\r
613 void OnViewShowclip();
\r
614 void OnViewShowcoordinates();
\r
615 void OnViewShowOutline();
\r
616 void OnViewShowAxes();
\r
617 void OnViewShowdetail();
\r
618 void OnViewShowent();
\r
619 void OnViewShowlights();
\r
620 void OnViewShownames();
\r
621 void OnViewShowpath();
\r
622 void OnViewShowwater();
\r
623 void OnViewShowworld();
\r
624 void OnViewTexture();
\r
625 void OnViewUpfloor();
\r
628 void OnViewZoomin();
\r
629 void OnViewZoomout();
\r
630 void OnViewZzoomin();
\r
631 void OnViewZzoomout();
\r
633 void OnTexturesShowinuse();
\r
634 void OnTexturesInspector();
\r
635 void OnMiscBenchmark();
\r
636 void OnMiscFindbrush();
\r
637 void OnMiscGamma();
\r
638 void OnMiscNextleakspot();
\r
639 void OnMiscPreviousleakspot();
\r
640 void OnMiscPrintxy();
\r
641 void OnMiscSelectentitycolor();
\r
642 void OnTexturebk();
\r
643 void OnColorsMajor();
\r
644 void OnColorsMinor();
\r
645 void OnColorsMajor_Alt();
\r
646 void OnColorsMinor_Alt();
\r
647 void OnColorsXybk();
\r
648 void OnBrush3sided();
\r
649 void OnBrush4sided();
\r
650 void OnBrush5sided();
\r
651 void OnBrush6sided();
\r
652 void OnBrush7sided();
\r
653 void OnBrush8sided();
\r
654 void OnBrush9sided();
\r
655 void OnBrushArbitrarysided();
\r
656 void OnBrushFlipx();
\r
657 void OnBrushFlipy();
\r
658 void OnBrushFlipz();
\r
659 void OnBrushRotatex();
\r
660 void OnBrushRotatey();
\r
661 void OnBrushRotatez();
\r
662 void OnRegionOff();
\r
663 void OnRegionSetbrush();
\r
664 void OnRegionSetselection();
\r
665 void OnRegionSettallbrush();
\r
666 void OnRegionSetxy();
\r
667 void OnSelectionArbitraryrotation();
\r
668 void OnSelectionClone();
\r
669 void OnSelectionConnect();
\r
670 void OnSelectionCsgsubtract();
\r
671 void OnSelectionCsgmerge();
\r
672 void OnSelectionNoOutline();
\r
673 void OnSelectionOutlineStyle();
\r
674 void OnSelectionDelete();
\r
675 void OnSelectionDeselect();
\r
676 void OnSelectionDragedges();
\r
677 void OnSelectionDragvertecies();
\r
678 void OnSelectionMakeDetail();
\r
679 void OnSelectionMakeStructural();
\r
680 void OnSelectionMakehollow();
\r
681 void OnSelectionSelectcompletetall();
\r
682 void OnSelectionSelectinside();
\r
683 void OnSelectionSelectpartialtall();
\r
684 void OnSelectionSelecttouching();
\r
685 void OnSelectionUngroupentity();
\r
686 void OnSelectionMergeentity();
\r
687 void OnSelectionGroupworld();
\r
688 void OnTexturesPopup();
\r
689 void OnPopupSelection();
\r
690 void OnViewChange();
\r
691 void OnViewCameraupdate();
\r
692 void OnHelpAbout();
\r
694 void OnHelpLinks();
\r
695 void OnHelpBugreport();
\r
696 void OnViewClipper();
\r
697 void OnCameraAngledown();
\r
698 void OnCameraAngleup();
\r
699 void OnCameraBack(bool keydown);
\r
700 void OnCameraDown();
\r
701 void OnCameraForward(bool keydown);
\r
702 void OnCameraLeft(bool keydown);
\r
703 void OnCameraRight(bool keydown);
\r
704 void OnCameraStrafeleft(bool keydown);
\r
705 void OnCameraStraferight(bool keydown);
\r
707 void OnGridToggle();
\r
709 void OnTogglecamera();
\r
710 void OnToggleconsole();
\r
711 void OnToggleview();
\r
713 void OnToggleLock();
\r
714 void OnEditMapinfo();
\r
715 void OnEditEntityinfo();
\r
716 void OnBrushScripts();
\r
717 void OnViewCenterview();
\r
718 void OnViewNextview();
\r
719 void OnHelpCommandlist();
\r
720 void OnFileNewproject();
\r
722 void OnClipSelected();
\r
723 void OnSplitSelected();
\r
724 void OnToggleviewXz();
\r
725 void OnToggleviewYz();
\r
726 void OnColorsBrush();
\r
727 void OnColorsClipper();
\r
728 void OnColorsGridtext();
\r
729 void OnColorsSelectedbrush();
\r
730 void OnColorsSelectedbrush3D();
\r
731 void OnColorsCameraBack();
\r
732 void OnColorsGridblock();
\r
733 void OnColorsViewname();
\r
734 void OnColorSetoriginal();
\r
735 void OnColorSetqer();
\r
736 void OnColorSetblack();
\r
737 void OnColorSetydnar(); /* ydnar */
\r
738 void OnSnaptogrid();
\r
739 void OnSelectScale();
\r
740 void OnSelectMouserotate();
\r
741 void OnEditCopybrush();
\r
742 void OnEditPastebrush();
\r
743 void OnEditPastebrushToCamera();
\r
746 void OnSelectionInvert();
\r
747 // void OnSelectionTextureDec();
\r
748 void OnSelectionTextureFit();
\r
749 // void OnSelectionTextureInc();
\r
750 void OnSelectionTextureRotateclock();
\r
751 void OnSelectionTextureRotatecounter();
\r
752 void OnSelectionTextureScaledown();
\r
753 void OnSelectionTextureScaleup();
\r
754 void OnSelectionTextureShiftdown();
\r
755 void OnSelectionTextureShiftleft();
\r
756 void OnSelectionTextureShiftright();
\r
757 void OnSelectionTextureShiftup();
\r
760 void OnSelectionTextureScaleLeft();
\r
761 void OnSelectionTextureScaleRight();
\r
762 void OnTextureReplaceall();
\r
763 void OnScalelockx();
\r
764 void OnScalelocky();
\r
765 void OnScalelockz();
\r
766 void OnSelectMousescale();
\r
767 void OnViewCubicclipping();
\r
768 void OnFileProjectsettings();
\r
769 void OnViewCubein();
\r
770 void OnViewCubeout();
\r
771 void OnFileSaveregion();
\r
772 void OnSelectionMovedown();
\r
773 void OnSelectionMoveup();
\r
774 void OnToolbarMain();
\r
775 void OnToolbarTexture();
\r
776 void OnSelectionPrint();
\r
777 void OnSelectionTogglesizepaint();
\r
778 void OnBrushMakecone();
\r
779 void OnTexturesLoad();
\r
780 void OnToggleRotatelock();
\r
781 void OnFileImportmap();
\r
782 void OnFileExportmap();
\r
783 void OnEditLoadprefab();
\r
784 void OnSelectionSelectNudgedown();
\r
785 void OnSelectionSelectNudgeleft();
\r
786 void OnSelectionSelectNudgeright();
\r
787 void OnSelectionSelectNudgeup();
\r
788 void OnTexturesLoadlist();
\r
789 void OnDontselectcurve();
\r
790 void OnConvertcurves();
\r
791 void OnCurveSimplepatchmesh();
\r
792 void OnPatchToggleBox();
\r
793 void OnPatchWireframe();
\r
794 void OnCurvePatchcone();
\r
795 void OnCurvePatchtube();
\r
796 void OnPatchWeld();
\r
797 void OnCurvePatchbevel();
\r
798 void OnCurvePatchendcap();
\r
799 void OnPatchDrilldown();
\r
800 void OnCurveInsertcolumn();
\r
801 void OnCurveInsertrow();
\r
802 void OnCurveDeletecolumn();
\r
803 void OnCurveDeleterow();
\r
804 void OnCurveInsertAddcolumn();
\r
805 void OnCurveInsertAddrow();
\r
806 void OnCurveInsertInsertcolumn();
\r
807 void OnCurveInsertInsertrow();
\r
808 void OnCurveNegative();
\r
809 void OnCurveNegativeTextureX();
\r
810 void OnCurveNegativeTextureY();
\r
811 void OnCurveDeleteFirstcolumn();
\r
812 void OnCurveDeleteFirstrow();
\r
813 void OnCurveDeleteLastcolumn();
\r
814 void OnCurveDeleteLastrow();
\r
815 void OnPatchBend();
\r
816 // void OnPatchInsdel();
\r
817 void OnPatchEnter();
\r
819 void OnCurvePatchdensetube();
\r
820 void OnCurvePatchverydensetube();
\r
822 void OnCurveCapInvertedbevel();
\r
823 void OnCurveCapInvertedendcap();
\r
824 void OnCurveRedisperseRows();
\r
825 void OnCurveRedisperseIntermediateCols();
\r
826 void OnCurveRedisperseIntermediateRows();
\r
827 void OnPatchNaturalize();
\r
828 void OnSnapToGrid();
\r
829 void OnCurvePatchsquare();
\r
830 void OnTexturewindowScaleup();
\r
831 void OnTexturewindowScaledown();
\r
832 void OnCurveOverlayClear();
\r
833 void OnCurveOverlaySet();
\r
834 void OnCurveThicken();
\r
835 void OnCurveCyclecap();
\r
836 void OnCurveMatrixTranspose();
\r
837 void OnTexturesReloadshaders();
\r
838 void OnShowEntities();
\r
839 // will set the view mode right, don't set the value for mode if you only want to update the radio item
\r
840 void OnEntitiesSetViewAs(int mode = 0);
\r
841 void OnPluginsRefresh();
\r
842 void OnTexturesShowall();
\r
843 void OnPatchInspector();
\r
844 void OnViewOpengllighting();
\r
845 void OnSelectAll();
\r
846 void OnCurveFreeze();
\r
847 void OnCurveUnFreeze();
\r
848 void OnCurveUnFreezeAll();
\r
849 void OnSelectReselect();
\r
850 void OnEditSaveprefab();
\r
851 void OnCurveMoreendcapsbevelsSquarebevel();
\r
852 void OnCurveMoreendcapsbevelsSquareendcap();
\r
853 void OnBrushPrimitivesSphere();
\r
854 void OnViewCrosshair();
\r
855 void OnViewHideshowHideselected();
\r
856 void OnViewHideshowShowhidden();
\r
857 void OnTexturesShadersShow();
\r
858 void OnViewGroups();
\r
859 void OnDropGroupAddtoWorld();
\r
860 void OnDropGroupName();
\r
861 void OnDropGroupNewgroup();
\r
862 void OnDropGroupRemove();
\r
863 void OnViewShowWorkzone();
\r
864 void OnViewShowAngles();
\r
865 void OnMru(unsigned int nID);
\r
866 void OnViewNearest(unsigned int nID);
\r
867 void OnTextureWad(unsigned int nID);
\r
868 void OnBspCommand(unsigned int nID);
\r
869 void OnGrid(unsigned int nID);
\r
870 void OnPlugIn(unsigned int nID, char *str);
\r
872 void SetTextureScale(int id);
\r
873 void OnDontselectmodel();
\r
874 void OnTexturesShaderlistonly();
\r
876 void OnFilterAreaportals();
\r
877 void OnFilterCaulk();
\r
878 void OnFilterStructural();
\r
879 void OnFilterClips();
\r
880 void OnFilterBotClips();
\r
881 void OnFilterDetails();
\r
882 void OnFilterEntities();
\r
883 void OnFilterHintsskips();
\r
884 void OnFilterLights();
\r
885 void OnFilterLiquids();
\r
886 void OnFilterModels();
\r
887 void OnFilterPatches();
\r
888 void OnFilterTranslucent();
\r
889 void OnFilterTriggers();
\r
890 void OnFilterWorld();
\r
891 void OnFilterPaths();
\r
892 void OnFilterClusterportals();
\r
893 void OnFilterLightgrid();
\r
896 EViewStyle m_nCurrentStyle;
\r
899 GdkRectangle primaryMonitorRect;
\r
906 // some C API to the mainframe functions
\r
907 void WINAPI QERApp_Sleep();
\r
909 #endif // _MAINFRAME_H_
\r