00001 00023 #ifndef MAIN_WINDOW_H 00024 #define MAIN_WINDOW_H 00025 00026 #include <QtGui> 00027 00028 #include "config.h" 00029 #include "graphic_view.h" 00030 #include "timerthread.h" 00031 #include "property_delegate.h" 00032 #include "pluginbox.h" 00033 #include "setting_window.h" 00034 #include "setting_modules.h" 00035 #include "setting_general.h" 00036 #include "setting_controller.h" 00037 #include "module_loader.h" 00038 00039 class MainWindow : public QMainWindow 00040 { 00041 Q_OBJECT 00042 00043 public: 00044 MainWindow(); 00045 ~MainWindow(); 00046 00047 private slots: 00048 void updateFileStatus(const QString& xmlFileName = "unnamed.xml"); 00049 void execSceneMenu(const QPoint&); 00050 void execSettings(); 00051 void runTimer(bool); 00052 void updateSettings(); 00053 void trayActivate(QSystemTrayIcon::ActivationReason); 00054 void closeApp(); 00055 00056 private: 00057 QAction* addToolButton(int, const QString&, const QIcon&); 00058 00059 TimerThread m_timerThread; 00060 GraphicView m_graphicView; 00061 PropertyModel m_propertyModel; 00062 PropertyDelegate m_propertyDelegate; 00063 PluginBox* m_pluginBox; 00064 QTreeView* m_propertyBox; 00065 00066 SettingWindow m_settingWindow; 00067 ModuleSettings* m_moduleSettings; 00068 GeneralSettings* m_generalSettings; 00069 ControllerSettings* m_controllerSettings; 00070 00071 QSystemTrayIcon m_sysTrayIcon; 00072 QSettings m_settings; 00073 QDockWidget m_propertyTab; 00074 QDockWidget m_libraryTab; 00075 QToolBar m_mainToolBar; 00076 QToolBar m_extraToolBar; 00077 QMenu* m_editMenu; 00078 QMenu* m_sceneMenu; 00079 QActionGroup* m_toolBtnGroup; 00080 QDoubleSpinBox* m_msBox; 00081 QAction* m_startAct; 00082 }; 00083 00084 #endif