Salome HOME
Issue 1299 Angle constraint: support of additional and complementary angles. Test...
[modules/shaper.git] / src / ModuleBase / ModuleBase_WidgetSelector.h
index cb7d76e42ab1ada09ee8def3cacde5cd607ecadc..2a41f711449980ddc0f0d5169eabed0d0fb8a487 100755 (executable)
@@ -13,6 +13,7 @@
 #include "ModuleBase_Definitions.h"
 
 #include <ModelAPI_Object.h>
+#include <ModelAPI_Attribute.h>
 #include <GeomAPI_Shape.h>
 
 class Config_WidgetAPI;
@@ -33,9 +34,8 @@ Q_OBJECT
   /// \param theParent the parent object
   /// \param theWorkshop instance of workshop interface
   /// \param theData the widget configuation. The attribute of the model widget is obtained from
-  /// \param theParentId is Id of a parent of the current attribute
   ModuleBase_WidgetSelector(QWidget* theParent, ModuleBase_IWorkshop* theWorkshop,
-                            const Config_WidgetAPI* theData, const std::string& theParentId);
+                            const Config_WidgetAPI* theData);
 
   virtual ~ModuleBase_WidgetSelector();
 
@@ -43,7 +43,8 @@ Q_OBJECT
   virtual bool isViewerSelector() { return true; }
 
   /// Activate or deactivate selection and selection filters
-  void activateSelectionAndFilters(bool toActivate);
+  /// \return true if the selection filter of the widget is activated in viewer context
+  virtual bool activateSelectionAndFilters(bool toActivate);
 
   /// Checks the widget validity. By default, it returns true.
   /// \param thePrs a selected presentation in the view
@@ -62,9 +63,6 @@ Q_OBJECT
   void onSelectionChanged();
 
  protected:
-  /// Set an empty value to attribute
-  virtual void clearAttribute() = 0;
-
   /// Update focus after the attribute value change
   virtual void updateFocus() = 0;
 
@@ -87,7 +85,7 @@ Q_OBJECT
   /// \return true if it is succeed
   virtual void setObject(ObjectPtr theSelectedObject, GeomShapePtr theShape) = 0;
 
-   /// The methiod called when widget is activated
+  /// The methiod called when widget is activated
   virtual void activateCustom();
 
   /// Returns true if selected shape corresponds to requested shape types.
@@ -107,6 +105,11 @@ Q_OBJECT
                                 GeomShapePtr& theShape);
 
   //----------- Class members -------------
+  /// Returns a name in the next form: attribute_feature_name/attribute_id
+  /// \param theAttribute a model attribute
+  /// \return string value
+  static std::string generateName(const AttributePtr& theAttribite,
+                                  ModuleBase_IWorkshop* theWorkshop);
 };
 
 #endif