Salome HOME
Source documentation updated. Obsolete files removed
[modules/shaper.git] / src / XGUI / XGUI_PropertyPanel.h
index c70e0aec7cacde7276ff3902fa4ec2203883ce7e..083242fd16c18b7acca6ea240bf13dadcb25f148 100644 (file)
@@ -19,7 +19,9 @@
 
 class XGUI_ActionsMgr;
 class QKeyEvent;
-class QVBoxLayout;
+class QGridLayout;
+class ModuleBase_PageBase;
+class ModuleBase_PageWidget;
 
 /// Internal name of property panel widget
 const static char* PROP_PANEL = "property_panel_dock";
@@ -48,9 +50,12 @@ Q_OBJECT
 
   virtual ~XGUI_PropertyPanel();
 
+  /// Returns header widget
+  virtual QWidget* headerWidget() const { return myHeaderWidget; }
+
   /// Returns main widget of the property panel, which children will be created
   /// by WidgetFactory using the XML definition
-  QWidget* contentWidget();
+  ModuleBase_PageBase* contentWidget();
 
   /// Brings back all widget created by widget factory for signal/slot
   /// connections and further processing
@@ -60,7 +65,7 @@ Q_OBJECT
   virtual const QList<ModuleBase_ModelWidget*>& modelWidgets() const;
 
   /// Removes all widgets in the widget area of the property panel
-  void cleanContent();
+  virtual void cleanContent();
 
   /// Returns currently active widget
   virtual ModuleBase_ModelWidget* activeWidget() const { return myActiveWidget; }
@@ -72,8 +77,8 @@ Q_OBJECT
   /// Activate the next from current widget in the property panel
   virtual void activateNextWidget();
 
-  /// \brief Enable/Disable stretch area in the panel
-  void setStretchEnabled(bool isEnabled);
+  /// Set focus on the Ok button
+  virtual void setFocusOnOkButton();
 
   /// Set Enable/Disable state of Cancel button
   /// \param theEnabled Enable/Disable state of Cancel button
@@ -89,6 +94,12 @@ Q_OBJECT
   //! Allows to set predefined actions for the property panel fetched from the ActionsMgr
   void setupActions(XGUI_ActionsMgr* theMgr);
 
+  /// Returns widget processed by preselection
+  virtual ModuleBase_ModelWidget* preselectionWidget() const;
+
+  /// Sets widget processed by preselection
+  virtual void setPreselectionWidget(ModuleBase_ModelWidget* theWidget);
+
  public slots:
 
    /// \brief Update all widgets in property panel with values from the given feature
@@ -103,13 +114,18 @@ Q_OBJECT
   */
   virtual void activateWidget(ModuleBase_ModelWidget* theWidget);
 
+ protected:
+  /// A header widget
+  QWidget* myHeaderWidget;
+
  private:
-  QWidget* myCustomWidget;
+  ModuleBase_PageWidget* myPanelPage;
   QList<ModuleBase_ModelWidget*> myWidgets;
-  QVBoxLayout* myMainLayout;
 
   /// Currently active widget
   ModuleBase_ModelWidget* myActiveWidget;
+  /// Currently widget processed by preselection
+  ModuleBase_ModelWidget* myPreselectionWidget;
 };
 
 #endif /* XGUI_PROPERTYPANEL_H_ */