00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef _MAIN_FRAME_HH
00023 #define _MAIN_FRAME_HH
00024
00025 #include <wx/xrc/xmlres.h>
00026 #include <wx/frame.h>
00027 #include <wx/notebook.h>
00028 #include <wx/statusbr.h>
00029
00030 #include "FileDropTarget.hh"
00031 #include "../model/SaveSlot.hh"
00032
00033 namespace ffse {
00034 class SaveSlot;
00035
00036
00037
00038
00039 class MainFrame : public wxFrame {
00040 public:
00041
00042
00043
00044 MainFrame();
00045
00046
00047
00048
00049 void CreateControls();
00050
00051 friend class FileDropTarget;
00052
00053 private:
00054 DECLARE_DYNAMIC_CLASS(MainFrame)
00055 DECLARE_EVENT_TABLE()
00056
00057
00058
00059
00060
00061
00062 bool isOpen() { return open; }
00063
00064
00065
00066
00067
00068
00069 void setOpen(bool open);
00070
00071
00072
00073
00074
00075
00076 void loadCharacterData(int member = 0);
00077
00078
00079
00080
00081 void loadGameData();
00082
00083
00084
00085
00086
00087
00088 void load(wxString &filename);
00089
00090
00091
00092
00093
00094
00095 void fileOpen(wxCommandEvent &event);
00096
00097
00098
00099
00100
00101
00102 bool close();
00103
00104
00105
00106
00107
00108
00109 void fileClose(wxCommandEvent &event);
00110
00111
00112
00113
00114
00115
00116
00117
00118 bool isValidEquipment();
00119
00120
00121
00122
00123
00124
00125
00126
00127 bool save(wxString &filename);
00128
00129
00130
00131
00132
00133
00134 void fileSave(wxCommandEvent &event);
00135
00136
00137
00138
00139
00140
00141 void fileSaveAs(wxCommandEvent &event);
00142
00143
00144
00145
00146
00147
00148 void fileExit(wxCommandEvent &event);
00149
00150
00151
00152
00153
00154
00155 void windowClosing(wxCloseEvent &event);
00156
00157
00158
00159
00160
00161
00162
00163 void memberChange(wxCommandEvent &event);
00164
00165
00166
00167
00168
00169
00170 void helpAbout(wxCommandEvent &event);
00171
00172
00173
00174
00175
00176
00177 void goldChange(wxCommandEvent &event);
00178
00179
00180
00181
00182
00183
00184 void itemQuantityChange(wxScrollEvent &event);
00185
00186
00187
00188
00189
00190
00191 void itemHaveChange(wxCommandEvent &event);
00192
00193
00194
00195
00196
00197
00198 void nameChange(wxCommandEvent &event);
00199
00200
00201
00202
00203
00204
00205 void conditionChange(wxCommandEvent &event);
00206
00207
00208
00209
00210
00211
00212 void statChange(wxCommandEvent &event);
00213
00214
00215
00216
00217
00218
00219 void weaponChange(wxCommandEvent &event);
00220
00221
00222
00223
00224
00225
00226 void weaponEquippedChange(wxCommandEvent &event);
00227
00228
00229
00230
00231
00232
00233 void armorChange(wxCommandEvent &event);
00234
00235
00236
00237
00238
00239
00240 void armorEquippedChange(wxCommandEvent &event);
00241
00242
00243
00244
00245
00246
00247 void currentMagicChange(wxScrollEvent &event);
00248
00249
00250
00251
00252
00253
00254 void maxMagicChange(wxScrollEvent &event);
00255
00256
00257
00258
00259
00260
00261 void knownMagicChange(wxCommandEvent &event);
00262
00263 wxString sramFile;
00264 char *sram;
00265 SaveSlot *game;
00266 int member;
00267
00268 bool open;
00269
00270 wxNotebook *notebook;
00271
00272 wxMenuItem *fileCloseItem;
00273 wxMenuItem *fileSaveItem;
00274 wxMenuItem *fileSaveAsItem;
00275 wxMenuItem *memberItems[4];
00276
00277 wxTextCtrl *goldText;
00278
00279 wxSlider *healSlider;
00280 wxSlider *pureSlider;
00281 wxSlider *softSlider;
00282 wxSlider *tentSlider;
00283 wxSlider *cabinSlider;
00284 wxSlider *houseSlider;
00285
00286 wxCheckBox *luteCheck;
00287 wxCheckBox *crownCheck;
00288 wxCheckBox *crystalCheck;
00289 wxCheckBox *herbCheck;
00290 wxCheckBox *keyCheck;
00291 wxCheckBox *tntCheck;
00292 wxCheckBox *adamentCheck;
00293 wxCheckBox *slabCheck;
00294 wxCheckBox *rubyCheck;
00295 wxCheckBox *rodCheck;
00296 wxCheckBox *floaterCheck;
00297 wxCheckBox *chimeCheck;
00298 wxCheckBox *tailCheck;
00299 wxCheckBox *cubeCheck;
00300 wxCheckBox *bottleCheck;
00301 wxCheckBox *oxyaleCheck;
00302 wxCheckBox *canoeCheck;
00303 wxCheckBox *fireOrbCheck;
00304 wxCheckBox *waterOrbCheck;
00305 wxCheckBox *windOrbCheck;
00306 wxCheckBox *earthOrbCheck;
00307
00308 wxTextCtrl *nameText;
00309 wxChoice *classChoice;
00310 wxChoice *conditionChoice;
00311
00312 wxTextCtrl *currentHPText;
00313 wxTextCtrl *maxHPText;
00314 wxTextCtrl *strengthText;
00315 wxTextCtrl *agilityText;
00316 wxTextCtrl *intelligenceText;
00317 wxTextCtrl *vitalityText;
00318 wxTextCtrl *luckText;
00319 wxTextCtrl *experienceText;
00320 wxTextCtrl *damageText;
00321 wxTextCtrl *hitPercentText;
00322
00323 wxChoice *weaponChoice[4];
00324 wxCheckBox *weaponEquippedCheck[4];
00325
00326 wxChoice *armorChoice[4];
00327 wxCheckBox *armorEquippedCheck[4];
00328
00329 wxSlider *currentMagicSlider[8];
00330 wxSlider *maxMagicSlider[8];
00331
00332 wxChoice *knownMagicChoice[8][3];
00333
00334 wxStatusBar* statusbar;
00335
00336
00337
00338
00339 static const char *ICON[];
00340 };
00341 }
00342
00343 #endif
00344