|
Vlaxicon
|
00001 /********************************************************************* 00002 * Name: main.h 00003 * Purpose: Declares simple wxWidgets application with GUI 00004 * created using wxFormBuilder. 00005 * Author: 00006 * Created: 00007 * Copyright: 00008 * License: wxWidgets license (www.wxwidgets.org) 00009 * 00010 * Notes: Note that all GUI creation code is declared in 00011 * gui.h source file which is generated by wxFormBuilder. 00012 *********************************************************************/ 00013 00014 #ifndef __main__ 00015 #define __main__ 00016 00017 #include <list> 00018 // main wxWidgets header file 00019 #include <wx/wx.h> 00020 #include <wx/dynlib.h> 00021 // gui classes generated by wxFormBuilder 00022 #include "gui.h" 00023 #include "framecanvas.h" 00024 #include "interfaces/interface.h" 00026 // application class declaration 00028 using namespace std; 00029 class MainApp : public wxApp 00030 { 00031 public: 00033 virtual bool OnInit(); 00034 }; 00035 00036 // declare global static function wxGetApp() 00037 DECLARE_APP(MainApp) 00038 00039 00040 // main application frame declaration 00042 00043 class MainFrame : public MainFrameBase 00044 { 00045 public: 00046 enum MODE 00047 { 00048 MODE_DESIGN, 00049 MODE_BITMAP, 00050 MODE_CHOICE, 00051 MODE_CHECKBOX, 00052 MODE_PLOT, 00053 MODE_RECTANGLE, 00054 MODE_SLIDER, 00055 MODE_STATICTEXT, 00056 MODE_EDITTEXT, 00057 MODE_UNIVERSAL 00058 }; 00059 00062 MainFrame( wxWindow *parent ); 00063 00065 virtual ~MainFrame(); 00066 00069 MODE GetToolMode(){return m_nToolMode;} 00070 00072 void SetToolMode(); 00073 00076 void SetToolMode(MODE mode){m_nToolMode = mode;} 00077 00079 void SetDesignTool(); 00080 00082 void SetProperties(); 00083 00085 void ClearProperties(); 00086 00089 FrameCanvas* GetActiveCanvas(); 00090 00094 void SaveFile(wxString sName, FrameCanvas* canvas); 00095 00097 void SaveBeforeClose(); 00098 00102 IPlugin* GetPluginByName(wxString sPlugName); 00103 00105 void StopRun(); 00106 00107 wxCriticalSection m_csThread; 00108 00109 protected: 00110 // protected event handlers 00112 virtual void OnCloseFrame( wxCloseEvent& event ); 00113 00115 virtual void OnNotebookToolPageChanged( wxAuiNotebookEvent& event ) ; 00116 00118 virtual void OnToolChange( wxCommandEvent& event ) ; 00119 00121 virtual void OnToolsUpdate( wxUpdateUIEvent& event ) ; 00122 00124 virtual void OnMenuNewClick( wxCommandEvent& event ) ; 00125 00127 virtual void OnMenuOpenClick( wxCommandEvent& event ) ; 00128 00130 virtual void OnMenuSaveClick( wxCommandEvent& event ) ; 00131 00133 virtual void OnMenuSaveUpdate( wxUpdateUIEvent& event ) ; 00134 00136 virtual void OnMenuExitClick( wxCommandEvent& event ) ; 00137 00139 virtual void OnMenuUndoClick( wxCommandEvent& event ) ; 00140 00142 virtual void OnMenuUndoUpdate( wxUpdateUIEvent& event ) ; 00143 00145 virtual void OnMenuRedoClick( wxCommandEvent& event ) ; 00146 00148 virtual void OnMenuRedoUpdate( wxUpdateUIEvent& event ) ; 00149 00151 virtual void OnMenuAlignLeftClick( wxCommandEvent& event ) ; 00152 00154 virtual void OnMenuAlignLeftUpdate( wxUpdateUIEvent& event ) ; 00155 00157 virtual void OnMenuAlignCenterClick( wxCommandEvent& event ) ; 00158 00160 virtual void OnMenuAlignCenterUpdate( wxUpdateUIEvent& event ) ; 00161 00163 virtual void OnMenuAlignRightClick( wxCommandEvent& event ) ; 00164 00166 virtual void OnMenuAlignRightUpdate( wxUpdateUIEvent& event ) ; 00167 00169 virtual void OnMenuAlignTopClick( wxCommandEvent& event ) ; 00170 00172 virtual void OnMenuAlignTopUpdate( wxUpdateUIEvent& event ) ; 00173 00175 virtual void OnMenuAlignMiddleClick( wxCommandEvent& event ) ; 00176 00178 virtual void OnMenuAlignMiddleUpdate( wxUpdateUIEvent& event ) ; 00179 00181 virtual void OnMenuAlignBottomClick( wxCommandEvent& event ) ; 00182 00184 virtual void OnMenuAlignBottomUpdate( wxUpdateUIEvent& event ) ; 00185 00187 virtual void OnMenuRunClick( wxCommandEvent& event ) ; 00188 00190 virtual void OnMenuRunUpdate( wxUpdateUIEvent& event ) ; 00191 00193 virtual void OnMenuStopClick( wxCommandEvent& event ) ; 00194 00196 virtual void OnMenuStopUpdate( wxUpdateUIEvent& event ) ; 00197 00199 virtual void OnPropertiesUpdate( wxUpdateUIEvent& event ); 00200 00202 virtual void OnCloseNtbPage( wxAuiNotebookEvent& event ); 00203 00205 virtual void OnMenuAbout( wxCommandEvent& event ); 00206 00208 void OnToolPropertiesChange(wxPropertyGridEvent &event); 00209 00211 void LoadPlugins(); 00212 00213 MODE m_nToolMode; 00214 wxArrayString m_arrPluginNames; 00215 wxArrayString m_arrPluginAlias; 00216 00217 private: 00218 // create wxSF diagram manager 00219 list<wxSFDiagramManager*> lst_DiagramManager; 00220 00221 }; 00222 00223 #endif //__main__
1.7.3