Salome HOME
Change color for construction/body/group.
[modules/shaper.git] / src / ModuleBase / ModuleBase_WidgetMultiSelector.h
index 66ef0bc87f2ff6dcc960e30bd3d16a15af1f19b5..660fe06983aaa8cbb572d5b53c065e63003ee896 100644 (file)
@@ -12,6 +12,7 @@
 
 #include <ModuleBase.h>
 #include <ModuleBase_ModelWidget.h>
+#include <ModuleBase_FilterNoDegeneratedEdge.h>
 
 #include <GeomAPI_Shape.h>
 #include <ModelAPI_Result.h>
@@ -33,6 +34,7 @@ class QAction;
 
 
 /**
+* \ingroup GUI
 * Implementation of widget for shapes selection. This widget provides selection of several shapes.
 * It can be defined in XML file as following:
 * \code
@@ -60,15 +62,8 @@ class MODULEBASE_EXPORT ModuleBase_WidgetMultiSelector : public ModuleBase_Model
                                  const std::string& theParentId);
   virtual ~ModuleBase_WidgetMultiSelector();
 
-  /// Saves the internal parameters to the given feature
-  virtual bool storeValue() const;
-
   virtual bool restoreValue();
 
-  /// Returns the internal parent wiget control, that can be shown anywhere
-  /// \returns the widget
-  QWidget* getControl() const;
-
   /// Returns list of widget controls
   /// \return a control list
   virtual QList<QWidget*> getControls() const;
@@ -93,7 +88,11 @@ protected slots:
   void onListSelection();
 
  protected:
-   /// Provide filtering of selected shapes
+  /// Saves the internal parameters to the given feature
+  /// \return True in success
+  virtual bool storeValueCustom() const;
+
+  /// Provide filtering of selected shapes
    /// \param theShapesToFilter source list of shapes
    /// \param theResult result list of shapes
   void filterShapes(const NCollection_List<TopoDS_Shape>& theShapesToFilter,
@@ -115,16 +114,13 @@ protected slots:
   /// Combobox of types
   QComboBox* myTypeCombo;
 
-  /// Container
-  QWidget* myMainWidget;
-
   //TODO: Move into the base of selectors
   ModuleBase_IWorkshop* myWorkshop;
 
   /// If true then local selector has to be activated in context
   bool myIsActive;
 
-  /// \typedef GeomSelection provides correspondance between Result object and its shape
+  /// Provides correspondance between Result object and its shape
   typedef QPair<ResultPtr, GeomShapePtr> GeomSelection;
 
   /// Variable of GeomSelection type
@@ -132,6 +128,9 @@ protected slots:
 
   /// An action for pop-up menu in a list control
   QAction* myCopyAction;
+
+  /// A filter for the Edges type, which avoid the generated edges selection
+  Handle(ModuleBase_FilterNoDegeneratedEdge) myEdgesTypeFilter;
 };
 
 #endif /* MODULEBASE_WIDGETFILESELECTOR_H_ */