Salome HOME
[bos #29947] [CEA 29944] SIGSEGV using filet
[modules/shaper.git] / src / ModuleBase / ModuleBase_WidgetValidated.h
index d47b71f14305bcbad4d3c5f0ff9435e29617ba66..56fbf352c8428862b42849933ba58d150deb892a 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2017  CEA/DEN, EDF R&D
+// Copyright (C) 2014-2022  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 //
 // You should have received a copy of the GNU Lesser General Public
 // License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
 //
-// See http://www.salome-platform.org/ or
-// email : webmaster.salome@opencascade.com<mailto:webmaster.salome@opencascade.com>
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 //
 
 #ifndef MODULEBASE_WIDGETVALIDATED_H_
 #include <GeomAPI_AISObject.h>
 #include <ModelAPI_Object.h>
 #include <ModelAPI_Attribute.h>
+#include <ModelAPI_ResultBody.h>
 
 #include <SelectMgr_ListOfFilter.hxx>
 #include <NCollection_DataMap.hxx>
 #include <TopoDS_Shape.hxx>
+#include <AIS_NListOfEntityOwner.hxx>
 
 #include <QList>
 #include <QMap>
@@ -84,8 +85,10 @@ class MODULEBASE_EXPORT ModuleBase_WidgetValidated : public ModuleBase_ModelWidg
   bool isFilterActivated() const;
 
   /// Appends into container of workshop selection filters
+  /// \param [out] theModuleSelectionFilters module additional modes, -1 means all default modes
   /// \param [out] selection filters
-  virtual void selectionFilters(SelectMgr_ListOfFilter& theSelectionFilters);
+  virtual void selectionFilters(QIntList& theModuleSelectionFilters,
+                                SelectMgr_ListOfFilter& theSelectionFilters);
 
   /// Block the model flush of update and intialization of attribute
   /// \param theAttribute an attribute of blocking
@@ -189,6 +192,8 @@ private:
   /// \param theValues a list of presentations.
   void filterCompSolids(QList<std::shared_ptr<ModuleBase_ViewerPrs>>& theValues);
 
+  void collectSubBodies(const ResultBodyPtr& theBody, AIS_NListOfEntityOwner& theList);
+
 protected:
   /// Reference to workshop
   ModuleBase_IWorkshop* myWorkshop;