Salome HOME
Merge branch 'master' of newgeom:newgeom
[modules/shaper.git] / src / XGUI / XGUI_MainWindow.h
1 #ifndef XGUI_MAINWINDOW_H
2 #define XGUI_MAINWINDOW_H
3
4 #include "XGUI.h"
5 #include <QMainWindow>
6
7 class XGUI_MainMenu;
8 class XGUI_Viewer;
9 class QMdiArea;
10 class PyConsole_EnhConsole;
11
12 /**\class XGUI_MainWindow
13  * \ingroup GUI
14  * \brief Main window of the application (Desktop).
15  * It contains: Object Browser, 3d Viewer, Python console, property panel, main menu
16  */
17 class XGUI_EXPORT XGUI_MainWindow: public QMainWindow
18 {
19 Q_OBJECT
20
21 public:
22   XGUI_MainWindow(QWidget* parent = 0);
23   virtual ~XGUI_MainWindow();
24
25   //! Returns main menu object
26   XGUI_MainMenu* menuObject() const
27   {
28     return myMenuBar;
29   }
30
31   //! Returns MDI area
32   QMdiArea* mdiArea() const;
33
34   //! Returns 3d viewer
35   XGUI_Viewer* viewer() const
36   {
37     return myViewer;
38   }
39
40 public slots:
41   void showPythonConsole();
42   void hidePythonConsole();
43
44 private:
45   XGUI_MainMenu* myMenuBar;
46
47   XGUI_Viewer* myViewer;
48
49   PyConsole_EnhConsole* myPythonConsole;
50 };
51
52 #endif