X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FModuleBase%2FModuleBase_ISelection.h;h=86cfd4f527c5ef6ed7b404ef947b30b0f737cb5e;hb=0cea3be102af7247b2fe2c8035a1bb38b7bf82ae;hp=b6983d25ac82419d52cc10c2b7bd239c5b8c1314;hpb=f1cd93fd02a54259f72e3191d037323a496b2bef;p=modules%2Fshaper.git diff --git a/src/ModuleBase/ModuleBase_ISelection.h b/src/ModuleBase/ModuleBase_ISelection.h index b6983d25a..86cfd4f52 100644 --- a/src/ModuleBase/ModuleBase_ISelection.h +++ b/src/ModuleBase/ModuleBase_ISelection.h @@ -18,19 +18,30 @@ #include +class Handle_SelectMgr_EntityOwner; + +/** +* \ingroup GUI +* A class which provides access to selection. +* A selection can be obtained as from a viewer as from Object browser in various forms +*/ class ModuleBase_ISelection { public: /// Returns a list of viewer selected presentations - /// \param theShapeTypeToSkip the shapes with this type will be skipped during the result list build /// \return list of presentations - virtual QList getSelected(int theShapeTypeToSkip = -1) const = 0; + virtual QList getSelected() const = 0; /// Returns a list of viewer highlited presentations - /// \param theShapeTypeToSkip the shapes with this type will be skipped during the result list build /// \return list of presentations - virtual QList getHighlighted(int theShapeTypeToSkip = -1) const = 0; + virtual QList getHighlighted() const = 0; + + /// Fills the viewer presentation parameters by the parameters from the owner + /// \param thePrs a container for selection + /// \param theOwner a selection owner + virtual void fillPresentation(ModuleBase_ViewerPrs& thePrs, + const Handle_SelectMgr_EntityOwner& theOwner) const = 0; /** * Returns list of features currently selected in object browser @@ -46,12 +57,24 @@ class ModuleBase_ISelection virtual QModelIndexList selectedIndexes() const = 0; //! Returns list of currently selected AIS objects + //! \param theList returning list of selected AIS objects virtual void selectedAISObjects(AIS_ListOfInteractive& theList) const = 0; - //! Returns list of currently selected shapes + //! Returns list of currently selected QModelIndexes + virtual ObjectPtr getSelectableObject(const Handle_SelectMgr_EntityOwner& theOwner) const = 0; + + //! Returns list of currently selected shapes and their owners (objects). + //! Both lists are synchronized + //! \param theList returning list of selected AIS objects + //! \param theOwners list of objects virtual void selectedShapes(NCollection_List& theList, std::list& theOwners) const = 0; + //! Wraps the object list into the viewer prs list + //! \param theObjects a list of objects + //! \return a list of prs, where only object is not empty + static MODULEBASE_EXPORT QList getViewerPrs( + const QObjectPtrList& theObjects); }; #endif