root/trunk/MainForm.h

Revision 12, 15.7 kB (checked in by sagrer, 9 months ago)
  • Добавлен пункт меню для закрытия текущего открытого моба.
  • Исправлена ошибка, проявлявшаяся в некоторых случаях если начать крутить ориентатор при не выделенном в дереве реальном объекте.
  • При любом закрытии активного моба, в т.ч. при выходе из программы если файл был изменен - появляется вопрос о том что делать с измененным файлом.
  • Добавлен svn-clean.cmd для удаления неверсифицированных файлов в рабочей копии.
Line 
1 ///////////////////////////////////////////////////////////
2 //                      MobSurgeon                       //
3 //          Ðåäàêòîð mob-îâ äëÿ Ïðîêëÿòûõ Çåìåëü         //
4 //           Copyright (C) 2005-2007 Gipat Group         //
5 //              Ðàñïðîñòðàíÿåòñÿ íà óñëîâèÿõ             //
6 //    Gipat Group's opened EI-editor-utility license     //
7 //                      âåðñèè 1.0                       //
8 //                                                       //
9 //                  www.gipatgroup.org                   //
10 ///////////////////////////////////////////////////////////
11
12 //Ê ðàáîòå íàä äàííûì ôàéëîì ïðèëîæèëè ðóêè, íîãè.... êîðî÷å àôôòàðû:
13 // 1) Sagrer (sagrer@yandex.ru)
14
15 ////////////////////////////////////////////////////////////////////////
16
17 //---------------------------------------------------------------------------
18
19 #ifndef MainFormH
20 #define MainFormH
21 //---------------------------------------------------------------------------
22 #include <Classes.hpp>
23 #include <Controls.hpp>
24 #include <StdCtrls.hpp>
25 #include <Forms.hpp>
26 #include <Menus.hpp>
27 #include <ComCtrls.hpp>
28 #include <ExtCtrls.hpp>
29 #include <ToolWin.hpp>
30 #include <Dialogs.hpp>
31 #include "SynEdit.hpp"
32 #include "SynEditHighlighter.hpp"
33 #include "SynHighlighterPas.hpp"
34 #include "SynHighlighterEIScript.hpp"
35 #include <Buttons.hpp>
36 #include <Grids.hpp>
37 #include <ValEdit.hpp>
38
39 //Èíêëóäû ñ êîäîì äëÿ ðàçíûõ òèïîâ îáúåêòîâ...
40 #include "MobUnitObj.h"
41 #include "MobObjectObj.h"
42 #include "MobLeverObj.h"
43 #include "MobTrapObj.h"
44 #include "MobFlameObj.h"
45 #include "MobParticle1Obj.h"
46 #include "MobParticle2Obj.h"
47 #include "MobParticle3Obj.h"
48 #include "OrientatorFrame.h"
49 #include "SynEditMiscClasses.hpp"
50 #include "SynEditSearch.hpp"
51
52 //---------------------------------------------------------------------------
53
54 class TMainF : public TForm
55 {
56 __published:    // IDE-managed Components
57         TMainMenu *MainMenu1;
58         TMenuItem *FileMenu;
59         TMenuItem *HelpMenu;
60         TMenuItem *OpenMobMenu;
61         TMenuItem *ExitMenu;
62         TMenuItem *AboutMenu;
63         TMenuItem *N3;
64         TMenuItem *N4;
65         TMenuItem *TestMenuMenu;
66         TPageControl *MainF_PK;
67         TTabSheet *LogSh;
68         TStatusBar *StatusBar1;
69         TToolBar *ToolBar1;
70         TRichEdit *LogEd;
71         TOpenDialog *OpenDialog1;
72         TMenuItem *N5;
73         TMenuItem *SaveMob_menu;
74         TMenuItem *SaveAsMobMenu;
75         TSaveDialog *SaveDialog1;
76         TTabSheet *ScriptSh;
77         TTabSheet *BlocksSh;
78         TTabSheet *ObjectsSh;
79         TTabSheet *DiplomacySh;
80         TTabSheet *MassChangesSh;
81         TMenuItem *N6;
82         TMenuItem *ProgSettsMenu;
83         TMenuItem *N1;
84         TMenuItem *BackupMobMenu;
85         TSynEdit *ScriptEd;
86         TSynEIScriptSyn *SynEIScriptSyn1;
87         TMenuItem *EditMenu;
88         TMenuItem *SearchRepMenu;
89         TMenuItem *N2;
90         TMenuItem *CopyMenu;
91         TMenuItem *CutMenu;
92         TMenuItem *PasteMenu;
93         TMenuItem *N7;
94         TMenuItem *SelectAllMenu;
95         TMenuItem *UndoMenu;
96         TMenuItem *RedoMenu;
97         TMenuItem *SearchNextMenu;
98         TMenuItem *ReplaceNextMenu;
99         TPageControl *MassChangePK;
100         TTabSheet *MC_KriteriasSh;
101         TTabSheet *MC_ActionsSh;
102         TPanel *MC_DownPanel;
103         TButton *MC_GoBut;
104         TGroupBox *MC_KR_ParamGB;
105         TCheckBox *MC_KR_Param_Name1CB;
106         TEdit *MC_KR_Param_Name1Ed;
107         TEdit *MC_KR_Param_Name2Ed;
108         TEdit *MC_KR_Param_ScriptVariableNameEd;
109         TEdit *MC_KR_Param_Model3dEd;
110         TEdit *MC_KR_Param_FirstTextureEd;
111         TEdit *MC_KR_Param_SecondTextureEd;
112         TCheckBox *MC_KR_Param_Name2CB;
113         TCheckBox *MC_KR_Param_ScriptVariableNameCB;
114         TCheckBox *MC_KR_Param_Model3dCB;
115         TCheckBox *MC_KR_Param_FirstTextureCB;
116         TCheckBox *MC_KR_Param_SecondTextureCB;
117         TGroupBox *MC_KR_CoordsGB;
118         TCheckBox *MC_KR_Coords_PramouglCB;
119         TLabel *Label1;
120         TEdit *MC_KR_Coords_Pramougl_X1Ed;
121         TLabel *Label2;
122         TEdit *MC_KR_Coords_Pramougl_Y1Ed;
123         TLabel *Label3;
124         TEdit *MC_KR_Coords_Pramougl_X2Ed;
125         TLabel *Label4;
126         TEdit *MC_KR_Coords_Pramougl_Y2Ed;
127         TCheckBox *MC_KR_Coords_KrugCB;
128         TLabel *Label5;
129         TEdit *MC_KR_Coords_Krug_XEd;
130         TEdit *MC_KR_Coords_Krug_YEd;
131         TLabel *Label6;
132         TLabel *Label7;
133         TEdit *MC_KR_Coords_Krug_RadEd;
134         TGroupBox *MC_KR_TypeGB;
135         TCheckBox *MC_KR_Type_UnitCB;
136         TCheckBox *MC_KR_Type_ObjectCB;
137         TCheckBox *MC_KR_Type_LeverCB;
138         TCheckBox *MC_KR_Type_TrapCB;
139         TCheckBox *MC_KR_Type_FlameCB;
140         TCheckBox *MC_KR_Type_Particle1CB;
141         TCheckBox *MC_KR_Type_Particle2CB;
142         TCheckBox *MC_KR_Type_Particle3CB;
143         TGroupBox *MC_AS_ObjGB;
144         TLabel *Label8;
145         TEdit *MC_AS_Obj_TargetMobEd;
146         TButton *MC_AS_Obj_TargetMobSelBut;
147         TRadioButton *MC_AS_Obj_DelRB;
148         TRadioButton *MC_AS_Obj_CopyRB;
149         TRadioButton *MC_AS_Obj_MoveRB;
150         TCheckBox *MC_AS_Obj_ReplaceCB;
151         TGroupBox *MC_AS_ParamsGB;
152         TCheckBox *MC_AS_Params_Name1CB;
153         TEdit *MC_AS_Params_Name1Ed;
154         TCheckBox *MC_AS_Params_Name2CB;
155         TEdit *MC_AS_Params_Name2Ed;
156         TCheckBox *MC_AS_Params_ScriptVariableNameCB;
157         TEdit *MC_AS_Params_ScriptVariableNameEd;
158         TEdit *MC_AS_Params_Model3dEd;
159         TCheckBox *MC_AS_Params_Model3dCB;
160         TCheckBox *MC_AS_Params_FirstTextureCB;
161         TEdit *MC_AS_Params_FirstTextureEd;
162         TCheckBox *MC_AS_Params_SecondTextureCB;
163         TEdit *MC_AS_Params_SecondTextureEd;
164         TCheckBox *MC_AS_Params_OffsetCB;
165         TLabel *Label9;
166         TEdit *MC_AS_Params_OffsetXEd;
167         TLabel *Label10;
168         TEdit *MC_AS_Params_OffsetYEd;
169         TButton *MC_ResetBut;
170         TRadioButton *MC_AS_Obj_OnlyParamsRB;
171         TTreeView *ObjectsTree;
172         TValueListEditor *ValuesEditor;
173         TOrientatorFr *ObjectOrientator;
174         TMemo *OrientatorHelpMemo;
175         TCheckBox *MC_KR_Param_PlayerNumberCB;
176         TEdit *MC_KR_Param_PlayerNumberEd;
177         TCheckBox *MC_AS_Params_PlayerNumberCB;
178         TEdit *MC_AS_Params_PlayerNumberEd;
179         TMenuItem *ReadmeMenu;
180         TSynEditSearch *SynEditSearchEngine;
181         TMenuItem *N8;
182         TMenuItem *CloseMobMenu;
183         void __fastcall FormShow(TObject *Sender);
184         void __fastcall ExitMenuClick(TObject *Sender);
185         void __fastcall AboutMenuClick(TObject *Sender);
186         void __fastcall TestMenuMenuClick(TObject *Sender);
187         void __fastcall OpenMobMenuClick(TObject *Sender);
188         void __fastcall SaveMob_menuClick(TObject *Sender);
189         void __fastcall SaveAsMobMenuClick(TObject *Sender);
190         void __fastcall LogShShow(TObject *Sender);
191         void __fastcall FormClose(TObject *Sender, TCloseAction &Action);
192         void __fastcall ProgSettsMenuClick(TObject *Sender);
193         void __fastcall ScriptEdEnter(TObject *Sender);
194         void __fastcall ScriptEdExit(TObject *Sender);
195         void __fastcall FormKeyDown(TObject *Sender, WORD &Key,
196           TShiftState Shift);
197         void __fastcall BackupMobMenuClick(TObject *Sender);
198         void __fastcall SearchRepMenuClick(TObject *Sender);
199         void __fastcall UndoMenuClick(TObject *Sender);
200         void __fastcall RedoMenuClick(TObject *Sender);
201         void __fastcall CopyMenuClick(TObject *Sender);
202         void __fastcall CutMenuClick(TObject *Sender);
203         void __fastcall PasteMenuClick(TObject *Sender);
204         void __fastcall SelectAllMenuClick(TObject *Sender);
205         void __fastcall SearchNextMenuClick(TObject *Sender);
206         void __fastcall ReplaceNextMenuClick(TObject *Sender);
207         void __fastcall MC_KR_Param_Name1EdChange(TObject *Sender);
208         void __fastcall MC_KR_Param_Name2EdChange(TObject *Sender);
209         void __fastcall MC_KR_Param_ScriptVariableNameEdChange(
210           TObject *Sender);
211         void __fastcall MC_KR_Param_Model3dEdChange(TObject *Sender);
212         void __fastcall MC_KR_Param_FirstTextureEdChange(TObject *Sender);
213         void __fastcall MC_KR_Param_SecondTextureEdChange(TObject *Sender);
214         void __fastcall MC_KR_Coords_Pramougl_X1EdChange(TObject *Sender);
215         void __fastcall MC_KR_Coords_Pramougl_Y1EdChange(TObject *Sender);
216         void __fastcall MC_KR_Coords_Pramougl_X2EdChange(TObject *Sender);
217         void __fastcall MC_KR_Coords_Pramougl_Y2EdChange(TObject *Sender);
218         void __fastcall MC_KR_Coords_Krug_XEdChange(TObject *Sender);
219         void __fastcall MC_KR_Coords_Krug_YEdChange(TObject *Sender);
220         void __fastcall MC_KR_Coords_Krug_RadEdChange(TObject *Sender);
221         void __fastcall MC_AS_Params_Name1EdChange(TObject *Sender);
222         void __fastcall MC_AS_Params_Name2EdChange(TObject *Sender);
223         void __fastcall MC_AS_Params_ScriptVariableNameEdChange(
224           TObject *Sender);
225         void __fastcall MC_AS_Params_Model3dEdChange(TObject *Sender);
226         void __fastcall MC_AS_Params_FirstTextureEdChange(TObject *Sender);
227         void __fastcall MC_AS_Params_SecondTextureEdChange(
228           TObject *Sender);
229         void __fastcall MC_AS_Params_OffsetXEdChange(TObject *Sender);
230         void __fastcall MC_AS_Params_OffsetYEdChange(TObject *Sender);
231         void __fastcall MC_AS_Obj_DelRBClick(TObject *Sender);
232         void __fastcall MC_AS_Obj_CopyRBClick(TObject *Sender);
233         void __fastcall MC_AS_Obj_MoveRBClick(TObject *Sender);
234         void __fastcall MC_ResetButClick(TObject *Sender);
235         void __fastcall MC_AS_Obj_TargetMobSelButClick(TObject *Sender);
236         void __fastcall MC_GoButClick(TObject *Sender);
237         void __fastcall MC_AS_Obj_OnlyParamsRBClick(TObject *Sender);
238         void __fastcall ObjectsShResize(TObject *Sender);
239         void __fastcall ObjectsShShow(TObject *Sender);
240         void __fastcall ObjectsTreeChange(TObject *Sender,
241           TTreeNode *Node);
242         void __fastcall ValuesEditorValidate(TObject *Sender, int ACol,
243           int ARow, const AnsiString KeyName, const AnsiString KeyValue);
244         void __fastcall ValuesEditorExit(TObject *Sender);
245         void __fastcall ValuesEditorEnter(TObject *Sender);
246         void __fastcall FormCreate(TObject *Sender);
247         void __fastcall FormPaint(TObject *Sender);
248         void __fastcall FormDestroy(TObject *Sender);
249         void __fastcall MC_KR_Param_PlayerNumberEdChange(TObject *Sender);
250         void __fastcall MC_AS_Params_PlayerNumberEdChange(TObject *Sender);
251         void __fastcall ReadmeMenuClick(TObject *Sender);
252         void __fastcall CloseMobMenuClick(TObject *Sender);
253         void __fastcall ScriptEdChange(TObject *Sender);
254 private:        // User declarations
255         bool FirstShowed;
256         bool ObjEditorChanging;
257         bool ObjEditorActive;
258 public:         // User declarations
259         byte ObjTree_UnitsNode;           //Ýòè
260         byte ObjTree_ObjectsNode;         //õðåíè
261         byte ObjTree_LeversNode;          //íóæíû
262         byte ObjTree_TrapsNode;           //÷òîá
263         byte ObjTree_FlamesNode;          //ðàçëè÷àòü
264         byte ObjTree_Particles1Node;      //íîäû - êîðíè
265         byte ObjTree_Particles2Node;      //ãðóïï
266         byte ObjTree_Particles3Node;      //îáúåêòîâ. Ãëàâíîå íå èõ çíà÷åíèå à èõ àäðåñ %).
267         TWinControl *PLastFocus;   //Ññûëêà íà ïîñëåäíèé ôîêóñèðîâàâøèéñÿ ýëåìåíò.
268         TQuaternion *OldQuat;      //Òóò òèïî èíôà î "ñòàðîé" îðèåíòàöèè - äëÿ îòìåíÿëêè.
269
270         bool BlockingInterfNow;  //Èíäèêàòîð ÷òî âûïîëíÿåòñÿ áëîêèðîâêà èíòåðôåéñà...
271         __fastcall TMainF(TComponent* Owner);
272         void BlockInterf();    //Òèïà çàáëîêèðîâàòü èíòåðôåéñ...
273         void UnBlockInterf();   //Òèïà ðàçáëîêèðîâàòü èíòåðôåéñ...
274         void ReturnFocus();  //Âîçâðàùàåò ôîêóñ ïîñëåäíåìó ôîêóñèðîâàâøåìóñÿ ýëåìåíòó :).
275         void UpdateMainInterf();  //Îáíîâëÿåò îñíîâíóþ ÷àñòü èíòåðôåéñà â ñîîòâ. ñ èçìåíèâøèìèñÿ óñëîâèÿìè :).
276         void UpdateEditMenu();   //Îáíîâëÿåò èíòåðôåéñ ìåíþõè ðåäàêòèðîâàíèÿ :).
277         void MakeASearch();       //Âûïîëíÿåò ïîèñê ïî óæå ëåæàùèì â ïàìÿòè ïåðåìåííûì
278         void MakeAReplace();      //Âûïîëíÿåò çàìåíó ïî óæå ëåæàùèì â ïàìÿòè ïåðåìåííûì
279         void MC_AS_UpdDel();      //Â çàâèñèìîñòè îò òîãî óäàëÿþòñÿ èëè íåò îáúåêòû â äåéñòâèÿõ ïðè ìàññîâîì èçìåíåíèè - áëîêèðóåò \ ðàçáëîêèðóåò èíòåðôåéñ.
280         void Set_MC_Interf();     //Â ñîîòâ. ñ ïåðåìåííûìè èç ini âûñòàâëÿåò èíòåðôåéñ ìàññîâûõ èçìåíåíèé.
281         void Save_MC_Interf();    //Ñàâèò íàñòðîéêè èíòåðôåéñà ìàññîâûõ èçìåíåíèé â ini
282         void Reset_MC_Interf();   //Ñòàâèò óìîë÷àëüíûå çíà÷åíèÿ èíòåðôåéñó ìàññîâûõ èçìåíåíèé.
283         void SetMobModified();    //Ñòàâèò îòìåòêó ÷òî ìîá ìîäèôèöèðîâàí (ñ ïîñëåäíåãî save\load) è îáíîâëÿåò èíòåðôåéñ.
284         void SetMobNotModified(); //Ñòàâèò îòìåòêó ÷òî ìîá íå ìîäèôèöèðîâàí (ñ ïîñëåäíåãî save\load) è îáíîâëÿåò èíòåðôåéñ.
285
286         //Ðåäàêòîð îáúåêòîâ...
287         void MobObjectsChanged(); //Ýòà ôóíêöèÿ äîëæíà âûçûâàòüñÿ åñëè áûëè èçìåíåíû îáúåêòû â ìîáå...
288
289         //×èòàëêà...
290         void TreeMobObject2Editor(TTreeNode *Node);  //Òèïà çàêèíóòü èíôó èç îáúåêòà, ïðèâÿçàííóþ ê äåðåâó â ðåäàêòîð îáúåêòîâ äëÿ ðåäàêòèðîâàíèÿ...
291         void UnitObject2Editor(TUnitObjBlock *MobObject);   //Òèïà çàêèíóòü èíôó þíèòà, óêàçàííîãî ïî ññûëêå...
292         void ObjectObject2Editor(TObjectObjBlock *MobObject);   //Òèïà çàêèíóòü èíôó îáúåêòà, óêàçàííîãî ïî ññûëêå...
293         void LeverObject2Editor(TLeverObjBlock *MobObject);   //Òèïà çàêèíóòü èíôó ëåâåðà, óêàçàííîãî ïî ññûëêå...
294         void TrapObject2Editor(TTrapObjBlock *MobObject);   //Òèïà çàêèíóòü èíôó ëîâóøêè, óêàçàííîé ïî ññûëêå...
295         void FlameObject2Editor(TFlameObjBlock *MobObject);   //Òèïà çàêèíóòü èíôó ôëåéìà, óêàçàííîãî ïî ññûëêå...
296         void Particle1Object2Editor(TParticle1ObjBlock *MobObject);   //Òèïà çàêèíóòü èíôó ïàðòèêëà 1 òèïà, óêàçàííîãî ïî ññûëêå...
297         void Particle2Object2Editor(TParticle2ObjBlock *MobObject);   //Òèïà çàêèíóòü èíôó ïàðòèêëà 2 òèïà, óêàçàííîãî ïî ññûëêå...
298         void Particle3Object2Editor(TParticle3ObjBlock *MobObject);   //Òèïà çàêèíóòü èíôó ïàðòèêëà 3 òèïà, óêàçàííîãî ïî ññûëêå...
299
300         //Ñàâèëêà....
301         void Editor2MobObjectObj(const AnsiString KeyName, TObjectObjBlock *MobObject); //Òèïà çàñàâèòü èíôó òèïà "îáúåêò" îáðàòíî â îáúåêò êëàññà...
302         void Editor2MobUnitObj(const AnsiString KeyName, TUnitObjBlock *MobObject); //Òèïà çàñàâèòü èíôó òèïà "þíèò" îáðàòíî â îáúåêò êëàññà...
303         void Editor2MobLeverObj(const AnsiString KeyName, TLeverObjBlock *MobObject); //Òèïà çàñàâèòü èíôó òèïà "ðû÷àã" îáðàòíî â îáúåêò êëàññà...
304         void Editor2MobTrapObj(const AnsiString KeyName, TTrapObjBlock *MobObject); //Òèïà çàñàâèòü èíôó òèïà "ëîâóøêà" îáðàòíî â îáúåêò êëàññà...
305         void Editor2MobFlameObj(const AnsiString KeyName, TFlameObjBlock *MobObject); //Òèïà çàñàâèòü èíôó òèïà "ôëåéì" îáðàòíî â îáúåêò êëàññà...
306         void Editor2MobParticle1Obj(const AnsiString KeyName, TParticle1ObjBlock *MobObject); //Òèïà çàñàâèòü èíôó òèïà "ïàðòèêë 1 òèïà" îáðàòíî â îáúåêò êëàññà...
307         void Editor2MobParticle2Obj(const AnsiString KeyName, TParticle2ObjBlock *MobObject); //Òèïà çàñàâèòü èíôó òèïà "ïàðòèêë 2 òèïà" îáðàòíî â îáúåêò êëàññà...
308         void Editor2MobParticle3Obj(const AnsiString KeyName, TParticle3ObjBlock *MobObject); //Òèïà çàñàâèòü èíôó òèïà "ïàðòèêë 3 òèïà" îáðàòíî â îáúåêò êëàññà...
309
310         //Îðèåíòàòîð.
311         void FillOrientator(TObjectObjBlock *MobObject);  //Çàêèäûâàåò çíà÷åíèÿ îðèåíòàöèè îáúåêòà â îðèåíòàòîð.
312
313 };
314 //---------------------------------------------------------------------------
315 extern PACKAGE TMainF *MainF;
316 //---------------------------------------------------------------------------
317 #endif
Note: See TracBrowser for help on using the browser.