Salome HOME
Merge branch 'master' of newgeom:newgeom
[modules/shaper.git] / src / XGUI / XGUI_MainWindow.h
index e12614a7380fa6ac38040960acd193fe5f683cbe..2a71a876a00327a14758f54812ef941a43be002f 100644 (file)
@@ -1,6 +1,7 @@
 #ifndef XGUI_MAINWINDOW_H
 #define XGUI_MAINWINDOW_H
 
+#include "XGUI.h"
 #include <QMainWindow>
 
 class XGUI_MainMenu;
@@ -9,7 +10,12 @@ class XGUI_ObjectsBrowser;
 class QMdiArea;
 class PyConsole_EnhConsole;
 
-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
 
@@ -17,36 +23,46 @@ public:
   XGUI_MainWindow(QWidget* parent = 0);
   virtual ~XGUI_MainWindow();
 
+  //! Returns main menu object
   XGUI_MainMenu* menuObject() const
   {
     return myMenuBar;
   }
 
+  //! Returns Object browser
   XGUI_ObjectsBrowser* objectBrowser() const
   {
     return myObjectBrowser;
   }
 
-  void showObjectBrowser();
-  void hideObjectBrowser();
-
+  //! Returns MDI area
   QMdiArea* mdiArea() const;
 
+  //! Returns 3d viewer
   XGUI_Viewer* viewer() const
   {
     return myViewer;
   }
 
+  // Creates Dock widgets: Object broewser and Property panel
+  void createDockWidgets();
+  void setPropertyPannelTitle(const QString& theTitle);
+
+public slots:
   void showPythonConsole();
   void hidePythonConsole();
+  void showPropertyPanel();
+  void hidePropertyPanel();
+  void showObjectBrowser();
+  void hideObjectBrowser();
 
 private:
-  void createDockWidgets();
   QDockWidget* createObjectBrowser();
   QDockWidget* createPropertyPanel();
 
   XGUI_MainMenu* myMenuBar;
   XGUI_ObjectsBrowser* myObjectBrowser;
+  QDockWidget* myPropertyPanelDock;
 
   XGUI_Viewer* myViewer;