Salome HOME
Rectangle correction to have coincidence with point/line selected for the first point...
[modules/shaper.git] / src / ModuleBase / ModuleBase_WidgetSelector.h
index cb7d76e42ab1ada09ee8def3cacde5cd607ecadc..9756b3633e13c78af6f2b7ef4f7ee224e85f632e 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;
@@ -43,7 +44,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 +64,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 +86,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 +106,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