Salome HOME
Rectangle correction to have coincidence with point/line selected for the first point...
[modules/shaper.git] / src / ModuleBase / ModuleBase_WidgetSelector.h
index 0deb253bdb1358353d186f7164d5aeb479164ba5..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;
@@ -42,6 +43,10 @@ Q_OBJECT
   /// Defines if it is supposed that the widget should interact with the viewer.
   virtual bool isViewerSelector() { return true; }
 
+  /// Activate or deactivate selection and selection filters
+  /// \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
   /// \return a boolean value
@@ -54,18 +59,11 @@ Q_OBJECT
   /// The methiod called when widget is deactivated
   virtual void deactivate();
 
-protected:
-  /// Activate or deactivate selection
-  void activateSelection(bool toActivate);
-
  private slots:
    /// Slot which is called on selection event
   void onSelectionChanged();
 
  protected:
-  /// Set an empty value to attribute
-  virtual void clearAttribute() = 0;
-
   /// Update focus after the attribute value change
   virtual void updateFocus() = 0;
 
@@ -88,7 +86,7 @@ protected:
   /// \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.
@@ -108,6 +106,11 @@ protected:
                                 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