#include <QList>
+class Handle_SelectMgr_EntityOwner;
+
/**
* \ingroup GUI
* A class which provides access to selection.
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<ModuleBase_ViewerPrs> getSelected(int theShapeTypeToSkip = -1) const = 0;
+ virtual QList<ModuleBase_ViewerPrs> 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<ModuleBase_ViewerPrs> getHighlighted(int theShapeTypeToSkip = -1) const = 0;
+ virtual QList<ModuleBase_ViewerPrs> 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
//! \param theList returning list of selected AIS objects
virtual void selectedAISObjects(AIS_ListOfInteractive& theList) const = 0;
+ //! 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
virtual void selectedShapes(NCollection_List<TopoDS_Shape>& theList,
std::list<ObjectPtr>& 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<ModuleBase_ViewerPrs> getViewerPrs(
+ const QObjectPtrList& theObjects);
};
#endif