- /// \param theTypes a selection modes to be extended
- virtual void customSubShapesSelectionModes(QIntList& theTypes) {}
+ /// \param theModesType combination of available selection filters
+ /// \param theModes a selection modes to be extended
+ virtual void moduleSelectionModes(int theModesType, QIntList& theModes) = 0;
+
+ /// Appends into container of filters module filters corresponded to the modes type
+ /// \param theFilterTypes container of available selection filters
+ /// \param theSelectionFilters [out] container to be extend by elements
+ virtual void moduleSelectionFilters(const QIntList& theFilterTypes,
+ SelectMgr_ListOfFilter& theSelectionFilters) = 0;
+
+ /// Returns types of registered module selection filters
+ /// \param theSelectionFilters [out] container of type value
+ virtual QIntList selectionFilters() { return QIntList(); }
+
+ /// Returns selection filter
+ /// \param theType selection filter type
+ /// \param theFilter instance of filter
+ virtual Handle(SelectMgr_Filter) selectionFilter(const int theType) = 0;