Salome HOME
Merge branch 'Dev_0.7.1' of newgeom:newgeom into Dev_0.7.1
[modules/shaper.git] / src / XGUI / XGUI_Selection.h
index cfefd28a0cb0730b5e7fc4b58c0d809c972459c9..f766841d6edea79f9134a863816e55bd52b400ad 100644 (file)
 #include <NCollection_List.hxx>
 #include <TopoDS_Shape.hxx>
 
+#include <SelectMgr_IndexedMapOfOwner.hxx>
+
 class XGUI_Workshop;
 
+/**
+* \ingroup GUI
+* Implementation of \ref ModuleBase_ISelection interface.
+*/
 class XGUI_EXPORT XGUI_Selection : public ModuleBase_ISelection
 {
  public:
+   /// Constructor
+   /// \param theWorkshop reference to workshop instance
   XGUI_Selection(XGUI_Workshop* theWorkshop);
 
   /// Returns a list of viewer selected presentations
@@ -55,6 +63,17 @@ class XGUI_EXPORT XGUI_Selection : public ModuleBase_ISelection
   virtual void selectedShapes(NCollection_List<TopoDS_Shape>& theShapes, 
     std::list<ObjectPtr>& theOwners) const;
 
+  //! Returns list of currently selected owners
+  /// \return list of owners
+  void selectedOwners(SelectMgr_IndexedMapOfOwner& theSelectedOwners) const;
+
+  //! Returns a list of selection entity owners of the interactive object
+  /// It depends on the modes, in which the object is activated in the context
+  /// \param theObject an object
+  /// \param theOwners a map of entity owners
+  void entityOwners(const Handle_AIS_InteractiveObject& theObject,
+                    SelectMgr_IndexedMapOfOwner& theOwners) const;
+
  private:
   XGUI_Workshop* myWorkshop;
 };