Salome HOME
Coincidence to rectangle macro feature: 1. Get point of sub-feature to set coincidenc...
[modules/shaper.git] / src / ModuleBase / ModuleBase_WidgetMultiSelector.h
index 54ff6ddcf44298aecc9c530e5b787e70dee7f35e..bebe4123b98cf30ddf8078088d33803dca11ce3b 100755 (executable)
@@ -116,13 +116,6 @@ protected:
   /// parameters of the current attribute
   virtual void storeAttributeValue();
 
-  /// Fills the attribute with the value of the selected owner
-  /// \param thePrs a selected owner
-  virtual bool setSelectionCustom(const ModuleBase_ViewerPrs& thePrs);
-
-  /// Clear attribute
-  virtual void clearAttribute();
-
   /// Set the focus on the last item in  the list
   virtual void updateFocus();
 
@@ -172,6 +165,26 @@ protected:
   /// \param theValues the result presentations, filled with object and shape of an attribute item
   void convertIndicesToViewerSelection(std::set<int> theAttributeIds,
                                        QList<ModuleBase_ViewerPrs>& theValues) const;
+
+  /// Iterates throgh the model attribute list and remove elements which do not present in the list
+  /// \param theValues the wrapped selection values
+  virtual void removeUnusedAttributeObjects(QList<ModuleBase_ViewerPrs>& theValues);
+
+  /// Converts viewer presentation selection list to objects and shapes map
+  /// \param theValues the wrapped selection values
+  /// \return selection list
+  std::map<ObjectPtr, std::set<GeomShapePtr> > convertSelection
+                                          (QList<ModuleBase_ViewerPrs>& theValues);
+
+  /// Returns true if the object and shape present in the container
+  /// \param theObject a model object, a set of shapes is searched by it
+  /// \param theShape a shape to be in the set of the object shapes
+  /// \param theGeomSelection a map built on selection
+  /// \return boolean result
+  static bool findInSelection(const ObjectPtr& theObject,
+                            const GeomShapePtr& theShape,
+                            const std::map<ObjectPtr, std::set<GeomShapePtr> >& theGeomSelection);
+
 protected:
   /// List control
   QListWidget* myListControl;