X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FModuleBase%2FModuleBase_WidgetMultiSelector.h;h=5f2bf3498abd470eb50efc4edb46858e94c5b3b6;hb=cdc2caa21375bc96aaad9bb7c3ee1140dac1d738;hp=e6ad53b2464a9ca8e94d69a3a5e46213a52fd94a;hpb=b25922145a97fccf8d2613d0ef52a283d3ce0987;p=modules%2Fshaper.git diff --git a/src/ModuleBase/ModuleBase_WidgetMultiSelector.h b/src/ModuleBase/ModuleBase_WidgetMultiSelector.h index e6ad53b24..5f2bf3498 100644 --- a/src/ModuleBase/ModuleBase_WidgetMultiSelector.h +++ b/src/ModuleBase/ModuleBase_WidgetMultiSelector.h @@ -11,8 +11,7 @@ #define MODULEBASE_WIDGETMULTISELECTOR_H_ #include -#include -#include +#include #include #include @@ -47,7 +46,7 @@ class QAction; * - tooltip - a tooltip for the widget * - type_choice - list of expected shape types. */ -class MODULEBASE_EXPORT ModuleBase_WidgetMultiSelector : public ModuleBase_ModelWidget +class MODULEBASE_EXPORT ModuleBase_WidgetMultiSelector : public ModuleBase_WidgetValidated { Q_OBJECT public: @@ -70,10 +69,14 @@ class MODULEBASE_EXPORT ModuleBase_WidgetMultiSelector : public ModuleBase_Model virtual bool eventFilter(QObject* , QEvent* ); - public slots: - /// Activate or deactivate selection - void activateSelection(bool toActivate); + /// The methiod called when widget is deactivated + virtual void deactivate(); + + /// Fills the attribute with the value of the selected owner + /// \param theOwner a selected owner + virtual bool setSelectionCustom(const ModuleBase_ViewerPrs& thePrs); + public slots: /// Slot is called on selection type changed void onSelectionTypeChanged(); @@ -88,15 +91,23 @@ protected slots: void onListSelection(); protected: + /// The methiod called when widget is activated + virtual void activateCustom(); + /// Saves the internal parameters to the given feature /// \return True in success - virtual bool storeValue() const; + virtual bool storeValueCustom() const; + + /// Creates a backup of the current values of the attribute + /// It should be realized in the specific widget because of different + /// parameters of the current attribute + virtual void storeAttributeValue(); - /// Provide filtering of selected shapes - /// \param theShapesToFilter source list of shapes - /// \param theResult result list of shapes - void filterShapes(const NCollection_List& theShapesToFilter, - NCollection_List& theResult); + /// Creates a backup of the current values of the attribute + /// It should be realized in the specific widget because of different + /// parameters of the current attribute + /// \param theValid a boolean flag, if restore happens for valid parameters + virtual void restoreAttributeValue(const bool theValid); /// Set current shape type for selection void setCurrentShapeType(const TopAbs_ShapeEnum theShapeType); @@ -123,14 +134,17 @@ protected slots: /// Provides correspondance between Result object and its shape typedef QPair GeomSelection; - /// Variable of GeomSelection type - QList mySelection; - /// 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; + /// backup parameters of the model attribute. The class processes three types of attribute: + /// Reference, RefAttr and Selection. Depending on the attribute type, only the attribute parameter + /// values are reserved in the backup + /// Variable of selection type + std::string mySelectionType; + + /// Variable of GeomSelection + QList mySelection; }; #endif /* MODULEBASE_WIDGETFILESELECTOR_H_ */