root/trunk/Main.h

Revision 14, 5.8 kB (checked in by sagrer, 4 months ago)

Поковырял код на предмет понять "где что есть". Заодно добавил везде шапку и вбил дополнительно в конфиг проекта те модули, которые вбиты не были - чтобы можно было быстро открыть любой файл через окно менеджера проекта.

Line 
1 ///////////////////////////////////////////////////////////
2 //                        TexGen                         //
3 //          утилита для подготовки текстур рельефа       //
4 //               для игры Проклятые Земли                //
5 //           Copyright (C) 2007-2008 Gipat Group         //
6 //              Распространяется на условиях             //
7 //    Gipat Group's opened EI-editor-utility license     //
8 //                      версии 1.0                       //
9 //                                                       //
10 //                  www.gipatgroup.org                   //
11 ///////////////////////////////////////////////////////////
12
13 //К работе над данным файлом приложили руки, ноги.... короче аффтары:
14 // 1) Снайпер (sniper-rifle@rambler.ru)
15
16 ////////////////////////////////////////////////////////////////////////
17
18 //---------------------------------------------------------------------------
19
20 #ifndef MainH
21 #define MainH
22 //---------------------------------------------------------------------------
23 #include <Classes.hpp>
24 #include <Controls.hpp>
25 #include <StdCtrls.hpp>
26 #include <Forms.hpp>
27 #include <ComCtrls.hpp>
28 #include <Menus.hpp>
29 #include <ExtCtrls.hpp>
30 #include <Graphics.hpp>
31 #include "Permissions.h"
32 #include "CConfigFile.cpp"
33 #include <FileCtrl.hpp>
34 #include <ImgList.hpp>
35 //---------------------------------------------------------------------------
36 class TG : public TForm
37 {
38 __published:    // IDE-managed Components
39         TPageControl *Pages;
40         TMainMenu *MainMenu;
41         TMenuItem *mnuFile;
42         TMenuItem *mnuTools;
43         TMenuItem *mnuHelp;
44         TMenuItem *mnuOpen;
45         TMenuItem *mnuSave;
46         TMenuItem *mnuNew;
47         TMenuItem *mnuExit;
48         TTabSheet *pgProject;
49         TTabSheet *pgGeneral;
50         TStatusBar *Status;
51         TMenuItem *mnuBreak;
52         TMenuItem *mnuMask;
53         TMenuItem *mnuTexCrop;
54         TMenuItem *mnuTest;
55         TMenuItem *mnuAbout;
56         TTreeView *Tree;
57         TButton *btnDelTerrain;
58         TButton *btnAllowDeny;
59         TImage *PreviewPage;
60         TTrackBar *PageTrack;
61         TButton *btnAddTerrain;
62         TButton *btnGenerate;
63         TButton *btnOptions;
64         TLabel *lblTileSet;
65         TComboBox *TileSets;
66         TListBox *listAllTerrains;
67         TLabel *lblTerrains;
68         TButton *btnCreate;
69         TButton *btnRemove;
70         TLabel *lblLayer;
71         TEdit *Layer;
72         TImage *PreviewTile;
73         TLabel *Label1;
74         TButton *btnSelectTile;
75         TButton *btnBaseMask;
76         TButton *btnBaseTile;
77         TImage *baseTile;
78         TImage *baseMask;
79         TButton *btnExit;
80         TButton *btnCheck;
81         TButton *btnChangeProjectSet;
82         TDirectoryListBox *DList;
83         TFileListBox *FList;
84         TImageList *Images;
85         void __fastcall mnuExitClick(TObject *Sender);
86         void __fastcall mnuAboutClick(TObject *Sender);
87         void __fastcall btnExitClick(TObject *Sender);
88         void __fastcall btnAllowDenyClick(TObject *Sender);
89         void __fastcall FormCreate(TObject *Sender);
90         void __fastcall PagesChange(TObject *Sender);
91         void __fastcall FormDestroy(TObject *Sender);
92         void __fastcall mnuTestClick(TObject *Sender);
93         void __fastcall TileSetsChange(TObject *Sender);
94         void __fastcall LayerKeyPress(TObject *Sender, char &Key);
95         void __fastcall LayerChange(TObject *Sender);
96         void __fastcall listAllTerrainsClick(TObject *Sender);
97         void __fastcall btnBaseMaskClick(TObject *Sender);
98 private:        // User declarations
99 public:         // User declarations
100         __fastcall TG(TComponent* Owner);
101         //Основные переменные и методы
102         AnsiString ProgDir;
103         //Работа с конфигом
104         void LoadIni(AnsiString Path);
105         void RefreshTileSets();
106         void SaveIni(AnsiString Path);
107         void UpgradeIni(AnsiString P);
108         void InitDirectories(CConfigFile *C);
109         bool CreateDirChain(AnsiString Path);
110         bool NormalDirName(AnsiString Name);
111         AnsiString EnsureDir(AnsiString Path, AnsiString OtherName);
112
113         CConfigFile *Config;
114         //Работа с проектом и наборами
115         void LoadProject(AnsiString Path);
116         void SaveProject(AnsiString Path);
117         void BuildTerrains(AnsiString TileSet);
118         bool TileSetExists(AnsiString Terrain);
119         //Переменные для текущего проекта:
120         AnsiString Name, TileSet;
121         int TileSize;
122         AnsiString TerrList,TileList;
123
124         //Вспомогательные функции
125         AnsiString GetNext(AnsiString *Src, AnsiString Sep="_");
126         bool IsTile(AnsiString Tile);
127         bool TerrainInCollection(AnsiString Terrain);
128         AnsiString FormatNumber(int N, byte Size);
129         void ApplyTileLayer(AnsiString Terrain, AnsiString Layer);
130         //Вспомогательные функции - 2.
131         bool AskUser(AnsiString Question);
132
133         AnsiString SDir, MDir, ODir;
134         //Дополнительные окна проекта
135         void WndPermissions();        //Окошко по кнопке "разрешения"
136         void WndGenerateWTF();        //Окно с выбором, чего же мы будем генерировать
137         void WndEditOptions();        //Редактор файла проекта, некоторые переменные
138         void WndAddTerrains();        //Выбираем добавляемые террейны из списка в наборе тайлов
139
140         int  WndSelect(AnsiString Desc, AnsiString Vars);//Выбираем один из предложенных вариантов.
141         //Спецфункции
142         void CutTextures(AnsiString Name);
143         void MaskEditor ();
144         void TestFunction();
145         //Различные инфошки
146         void WillBe();
147         void ProgHelp();
148
149
150         //Переменные:
151 };
152 //---------------------------------------------------------------------------
153 extern PACKAGE TG *G;
154 //---------------------------------------------------------------------------
155 #endif
Note: See TracBrowser for help on using the browser.