#ifndef _QDESIGNVIEWWINDOW_H_ #define _QDESIGNVIEWWINDOW_H_ #include #include #include #include "ui_qdesignviewwindow.h" namespace projection { class ProjectionModel; class QDesignViewWidget; class QPanelWidget; class Channel; class QDesignViewWindow : public QMainWindow { Q_OBJECT public: QDesignViewWindow(QWidget* pParent=0, Qt::WFlags flag=0); ~QDesignViewWindow(); void setModel(ProjectionModel* pModel); QGLWidget* getGLWidget() const; QDesignViewWidget* getDesignView() const; QPanelWidget* getPanel() const; bool loadFile(const QString& fileName); bool saveFile(const QString& fileName); void initFromDOMElement(const QDomElement& element); QDomElement domElement(const QString& name, QDomDocument& doc) const; private slots: void on_actionFileNew_triggered(); void on_actionFileOpen_triggered(); void on_actionFileSave_triggered(); void on_actionFileSaveAs_triggered(); void on_actionFileExportDataset_triggered(); void on_actionFileSyncClients_triggered(); void on_actionFileExit_triggered(); void on_actionFileExitAll_triggered(); void on_actionEditDesignDistortionMap_triggered(); void on_actionEditDesignBlendMap_triggered(); void on_actionEditPreference_triggered(); void on_menuEdit_aboutToShow(); void on_actionViewPerspective_triggered(); void on_actionViewCenter_triggered(); void on_actionViewTop_triggered(); void on_actionViewSide_triggered(); void on_actionViewFront_triggered(); void on_menuView_aboutToShow(); void on_actionViewAxis_triggered(bool checked); void on_designViewWidget_axisVisibilityChanged(bool bVisible); void on_actionViewGrid_triggered(bool checked); void on_designViewWidget_gridVisibilityChanged(bool bVisible); void on_actionViewInfo_triggered(bool checked); void on_designViewWidget_infoVisibilityChanged(bool bVisible); void on_actionViewViewAll_triggered(); void on_actionWindowSceneViewer_triggered(); void on_actionWindowSceneDialog_triggered(); void on_actionWindowScreenDialog_triggered(); void on_actionWindowChannelManager_triggered(); void on_actionHelpHelp_triggered(); void on_actionHelpAbout_triggered(); void on_actionHelpAbout_Qt_triggered(); void on_actionHelpPlugins_triggered(); void setCurrentFile(const QString& fileName); void updateRecentFileActions(); void openRecentFile(); void activateDesignView(); protected: virtual void closeEvent (QCloseEvent* pEvent); private: Ui::QDesignViewWindow ui; // file history management QString m_fileName; enum { MAX_RECENT_FILES = 5 }; QAction* m_pRecentFileActs[MAX_RECENT_FILES]; QAction* m_pSeparatorAct; ProjectionModel* m_pModel; }; }; // projection #endif // _QDESIGNVIEWWINDOW_H_