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 <QMainWindow>
5
6 class XGUI_MainMenu;
7 class XGUI_Viewer;
8 class XGUI_ObjectsBrowser;
9 class QMdiArea;
10 class PyConsole_EnhConsole;
11
12 class XGUI_MainWindow: public QMainWindow
13 {
14 Q_OBJECT
15
16 public:
17   XGUI_MainWindow(QWidget* parent = 0);
18   virtual ~XGUI_MainWindow();
19
20   XGUI_MainMenu* menuObject() const
21   {
22     return myMenuBar;
23   }
24
25   XGUI_ObjectsBrowser* objectBrowser() const
26   {
27     return myObjectBrowser;
28   }
29
30   void showObjectBrowser();
31   void hideObjectBrowser();
32
33   QMdiArea* mdiArea() const;
34
35   XGUI_Viewer* viewer() const
36   {
37     return myViewer;
38   }
39
40 public slots:
41   void showPythonConsole();
42   void hidePythonConsole();
43   void showPropertyPanel();
44   void hidePropertyPanel();
45
46 private:
47   void createDockWidgets();
48   QDockWidget* createObjectBrowser();
49   QDockWidget* createPropertyPanel();
50
51   XGUI_MainMenu* myMenuBar;
52   XGUI_ObjectsBrowser* myObjectBrowser;
53   QDockWidget* myPropertyPanelDock;
54
55   XGUI_Viewer* myViewer;
56
57   PyConsole_EnhConsole* myPythonConsole;
58 };
59
60 #endif