X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FXGUI%2FXGUI_MainWindow.h;h=010f9e309530b3cb12289015b259a85908bfdcee;hb=e6aea428c7da7751e753eac36b99e16b7e3166e4;hp=d6590d44a1e95d6f24ec5c71982a1a62d5b22b6f;hpb=54c039ab2b209cf0aa20993ddb4d92ed2848b2f2;p=modules%2Fshaper.git diff --git a/src/XGUI/XGUI_MainWindow.h b/src/XGUI/XGUI_MainWindow.h index d6590d44a..010f9e309 100644 --- a/src/XGUI/XGUI_MainWindow.h +++ b/src/XGUI/XGUI_MainWindow.h @@ -1,35 +1,70 @@ #ifndef XGUI_MAINWINDOW_H #define XGUI_MAINWINDOW_H +#include "XGUI.h" #include class XGUI_MainMenu; -class QTreeWidget; +class XGUI_Viewer; +class XGUI_ActionsMgr; +class XGUI_ViewWindow; +class QMdiArea; +class QMdiSubWindow; +class PyConsole_EnhConsole; +class QCloseEvent; -class XGUI_MainWindow : public QMainWindow +/**\class XGUI_MainWindow + * \ingroup GUI + * \brief Main window of the application (Desktop). + * It contains: Object Browser, 3d Viewer, Python console, property panel, main menu + */ +class XGUI_EXPORT XGUI_MainWindow: public QMainWindow { - Q_OBJECT +Q_OBJECT public: - XGUI_MainWindow(QWidget* parent = 0); - virtual ~XGUI_MainWindow(); + XGUI_MainWindow(QWidget* parent = 0); + virtual ~XGUI_MainWindow(); - XGUI_MainMenu* menuObject() const { return myMenuBar; } - - QTreeWidget* objectBrowser() const { return myObjectBrowser; } - void showObjectBrowser(); - void hideObjectBrowser(); + //! Returns main menu object + XGUI_MainMenu* menuObject() const + { + return myMenuBar; + } -private: - //!! For test purposes only - QWidget* getSubWindow(); + //! Returns MDI area + QMdiArea* mdiArea() const; + + //! Returns 3d viewer + XGUI_Viewer* viewer() const + { + return myViewer; + } + +public slots: + void showPythonConsole(); + void hidePythonConsole(); - void fillObjectBrowser(); - void addPropertyPanel(); + void createSubWindow(); + +private slots: + void cascadeWindows(); + void onViewCreated(XGUI_ViewWindow* theWindow); + void onDeleteView(XGUI_ViewWindow* theWindow); + void activateView(); + void onViewActivated(QMdiSubWindow* theSubWnd); +signals: + void exitKeySequence(); + +protected: + void closeEvent(QCloseEvent* event); + +private: + XGUI_MainMenu* myMenuBar; + XGUI_Viewer* myViewer; - XGUI_MainMenu* myMenuBar; - QTreeWidget* myObjectBrowser; + PyConsole_EnhConsole* myPythonConsole; }; -#endif \ No newline at end of file +#endif