Salome HOME
Apply action enable state correction.
[modules/shaper.git] / src / XGUI / XGUI_PropertyPanel.h
index 5d17060424687a4b5187498deb8a9841c9752665..6a982c1c66e8c6795fec689ba8c426e20f9d57ef 100644 (file)
@@ -20,6 +20,8 @@
 class XGUI_ActionsMgr;
 class QKeyEvent;
 class QGridLayout;
+class ModuleBase_PageBase;
+class ModuleBase_PageWidget;
 
 /// Internal name of property panel widget
 const static char* PROP_PANEL = "property_panel_dock";
@@ -50,7 +52,7 @@ Q_OBJECT
 
   /// 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 +62,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,9 +74,6 @@ 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 Enable/Disable state of Cancel button
   /// \param theEnabled Enable/Disable state of Cancel button
   virtual void setCancelEnabled(bool theEnabled);
@@ -89,6 +88,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
@@ -104,12 +109,13 @@ Q_OBJECT
   virtual void activateWidget(ModuleBase_ModelWidget* theWidget);
 
  private:
-  QWidget* myCustomWidget;
+  ModuleBase_PageWidget* myPanelPage;
   QList<ModuleBase_ModelWidget*> myWidgets;
-  QGridLayout* myMainLayout;
 
   /// Currently active widget
   ModuleBase_ModelWidget* myActiveWidget;
+  /// Currently widget processed by preselection
+  ModuleBase_ModelWidget* myPreselectionWidget;
 };
 
 #endif /* XGUI_PROPERTYPANEL_H_ */