00001
00002
00003
00004
00005
00007
00008 #ifndef __TerrainEditor__
00009 #define __TerrainEditor__
00010
00011 #include <wx/string.h>
00012 #include <wx/bitmap.h>
00013 #include <wx/image.h>
00014 #include <wx/icon.h>
00015 #include <wx/menu.h>
00016 #include <wx/gdicmn.h>
00017 #include <wx/font.h>
00018 #include <wx/colour.h>
00019 #include <wx/settings.h>
00020 #include <wx/statusbr.h>
00021 #include <wx/toolbar.h>
00022 #include <wx/panel.h>
00023 #include <wx/stattext.h>
00024 #include <wx/listbox.h>
00025 #include <wx/tglbtn.h>
00026 #include <wx/sizer.h>
00027 #include <wx/splitter.h>
00028 #include <wx/frame.h>
00029 #include <wx/dialog.h>
00030 #include <wx/textctrl.h>
00031 #include <wx/button.h>
00032
00034
00035 #define ID_TOOL_NORMAL 1000
00036 #define ID_TOOL_SELECT 1001
00037 #define ID_TOOL_ROTATE 1002
00038 #define ID_TOOL_TRANSLATE 1003
00039 #define ID_TOOL_SCALE 1004
00040 #define ID_TOOL_DELETE 1005
00041 #define ID_TOOL_NVG 1006
00042 #define ID_TOOL_MODEL_PANEL 1007
00043 #define wxABOUT 1008
00044
00048 class MainFrameBase : public wxFrame
00049 {
00050 private:
00051
00052 protected:
00053 wxMenu* helpMenu;
00054 wxMenu* rendererMenu;
00055 wxFlexGridSizer* _bSizer1;
00056 wxSplitterWindow* m_splitter1;
00057 wxPanel* _renderingPanel;
00058 wxPanel* _modelPanel;
00059 wxBoxSizer* _bSizer2;
00060 wxSplitterWindow* m_splitter2;
00061 wxPanel* _modelListPanel;
00062 wxStaticText* _staticText1;
00063 wxListBox* _modelsList;
00064 wxToggleButton* _togglePreview;
00065 wxStaticText* m_staticTextFakeSide;
00066
00067
00068 virtual void onIdle( wxIdleEvent& event ){ event.Skip(); }
00069 virtual void onOpen( wxCommandEvent& event ){ event.Skip(); }
00070 virtual void onImportXMLScene( wxCommandEvent& event ){ event.Skip(); }
00071 virtual void onEmportXMLScene( wxCommandEvent& event ){ event.Skip(); }
00072 virtual void onExit( wxCommandEvent& event ){ event.Skip(); }
00073 virtual void OnAbout( wxCommandEvent& event ){ event.Skip(); }
00074 virtual void onFullscreen( wxCommandEvent& event ){ event.Skip(); }
00075 virtual void onNightvisionMode( wxCommandEvent& event ){ event.Skip(); }
00076 virtual void onToolNormal( wxCommandEvent& event ){ event.Skip(); }
00077 virtual void onToolSelect( wxCommandEvent& event ){ event.Skip(); }
00078 virtual void onToolRotate( wxCommandEvent& event ){ event.Skip(); }
00079 virtual void onToolTranslate( wxCommandEvent& event ){ event.Skip(); }
00080 virtual void onToolScale( wxCommandEvent& event ){ event.Skip(); }
00081 virtual void onToolDelete( wxCommandEvent& event ){ event.Skip(); }
00082 virtual void onToolNVToggle( wxCommandEvent& event ){ event.Skip(); }
00083 virtual void onToolModelPanel( wxCommandEvent& event ){ event.Skip(); }
00084 virtual void updateCanvas( wxSizeEvent& event ){ event.Skip(); }
00085 virtual void onModelsListClick( wxCommandEvent& event ){ event.Skip(); }
00086 virtual void onModelsListDoubleClick( wxCommandEvent& event ){ event.Skip(); }
00087 virtual void toggleShowModelPreview( wxCommandEvent& event ){ event.Skip(); }
00088
00089
00090 public:
00091 wxMenuBar* menuBar;
00092 wxMenu* fileMenu;
00093 wxMenuItem* menuItemOpen;
00094 wxMenuItem* menuItemImport;
00095 wxMenuItem* menuItemExport;
00096 wxMenuItem* menuItemExit;
00097 wxMenuItem* menuItemFullscreen;
00098 wxMenuItem* menuItemNightvision;
00099 wxStatusBar* statusBar;
00100 wxToolBar* toolBar;
00101 wxPanel* _modelPreview;
00102 MainFrameBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = wxT("Terrain Editor"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 800,600 ), long style = wxDEFAULT_FRAME_STYLE|wxTAB_TRAVERSAL );
00103 ~MainFrameBase();
00104 void m_splitter1OnIdle( wxIdleEvent& )
00105 {
00106 m_splitter1->SetSashPosition( -1 );
00107 m_splitter1->Disconnect( wxEVT_IDLE, wxIdleEventHandler( MainFrameBase::m_splitter1OnIdle ), NULL, this );
00108 }
00109
00110 void m_splitter2OnIdle( wxIdleEvent& )
00111 {
00112 m_splitter2->SetSashPosition( -1 );
00113 m_splitter2->Disconnect( wxEVT_IDLE, wxIdleEventHandler( MainFrameBase::m_splitter2OnIdle ), NULL, this );
00114 }
00115
00116
00117 };
00118
00122 class AboutDialog : public wxDialog
00123 {
00124 private:
00125
00126 protected:
00127 wxStaticText* m_staticText18;
00128 wxStaticText* m_staticText21;
00129 wxStaticText* m_staticText20;
00130
00131 public:
00132 AboutDialog( wxWindow* parent, wxWindowID id = wxABOUT, const wxString& title = wxT("About"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 250,209 ), long style = wxDEFAULT_DIALOG_STYLE );
00133 ~AboutDialog();
00134
00135 };
00136
00140 class ScaleFrameBase : public wxFrame
00141 {
00142 private:
00143
00144 protected:
00145 wxStaticText* _staticText13;
00146 wxStaticText* _staticText17;
00147 wxStaticText* _staticText18;
00148 wxStaticText* _staticText19;
00149 wxButton* _buttonApply;
00150
00151
00152 virtual void onButtonClickApply( wxCommandEvent& event ){ event.Skip(); }
00153
00154
00155 public:
00156 wxTextCtrl* textCtrlX;
00157 wxTextCtrl* textCtrlY;
00158 wxTextCtrl* textCtrlZ;
00159 ScaleFrameBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = wxT("Scaling"), const wxPoint& pos = wxPoint( -1,-1 ), const wxSize& size = wxSize( 150,214 ), long style = wxCAPTION|wxFRAME_FLOAT_ON_PARENT|wxFRAME_TOOL_WINDOW|wxTAB_TRAVERSAL );
00160 ~ScaleFrameBase();
00161
00162 };
00163
00167 class TranslationFrameBase : public wxFrame
00168 {
00169 private:
00170
00171 protected:
00172 wxStaticText* _staticText11;
00173 wxStaticText* _staticText6;
00174 wxStaticText* _staticText8;
00175 wxStaticText* _staticText9;
00176 wxButton* _buttonApply;
00177
00178
00179 virtual void onButtonClickApply( wxCommandEvent& event ){ event.Skip(); }
00180
00181
00182 public:
00183 wxTextCtrl* textCtrlX;
00184 wxTextCtrl* textCtrlY;
00185 wxTextCtrl* textCtrlZ;
00186 TranslationFrameBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = wxT("Translation"), const wxPoint& pos = wxPoint( -1,-1 ), const wxSize& size = wxSize( 150,214 ), long style = wxCAPTION|wxFRAME_FLOAT_ON_PARENT|wxFRAME_TOOL_WINDOW|wxTAB_TRAVERSAL );
00187 ~TranslationFrameBase();
00188
00189 };
00190
00194 class RotationFrameBase : public wxFrame
00195 {
00196 private:
00197
00198 protected:
00199 wxStaticText* _staticText12;
00200 wxStaticText* _staticText7;
00201 wxStaticText* _staticText13;
00202 wxStaticText* _staticText14;
00203 wxButton* _buttonApply;
00204
00205
00206 virtual void onButtonClickApply( wxCommandEvent& event ){ event.Skip(); }
00207
00208
00209 public:
00210 wxTextCtrl* textCtrlX;
00211 wxTextCtrl* textCtrlY;
00212 wxTextCtrl* textCtrlZ;
00213 RotationFrameBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = wxT("Rotation"), const wxPoint& pos = wxPoint( -1,-1 ), const wxSize& size = wxSize( 150,214 ), long style = wxCAPTION|wxFRAME_FLOAT_ON_PARENT|wxFRAME_TOOL_WINDOW|wxTAB_TRAVERSAL );
00214 ~RotationFrameBase();
00215
00216 };
00217
00218 #endif //__TerrainEditor__