X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FModuleBase%2FModuleBase_WidgetMultiSelector.h;h=033b260b4888c3912ea80ef46cb338fd3cee7407;hb=0cea3be102af7247b2fe2c8035a1bb38b7bf82ae;hp=e0b257ca4495790b6d0a872e9730af9b9bc451b4;hpb=8e13a6fd505815aba8d7f64d10a5626817698e61;p=modules%2Fshaper.git diff --git a/src/ModuleBase/ModuleBase_WidgetMultiSelector.h b/src/ModuleBase/ModuleBase_WidgetMultiSelector.h index e0b257ca4..033b260b4 100644 --- a/src/ModuleBase/ModuleBase_WidgetMultiSelector.h +++ b/src/ModuleBase/ModuleBase_WidgetMultiSelector.h @@ -12,7 +12,6 @@ #include #include -#include #include #include @@ -73,12 +72,22 @@ class MODULEBASE_EXPORT ModuleBase_WidgetMultiSelector : public ModuleBase_Widge /// The methiod called when widget is deactivated virtual void deactivate(); + /// Set the given wrapped value to the current widget + /// This value should be processed in the widget according to the needs + /// \param theValues the wrapped selection values + /// \param thePosition an index in the list of values, the values should be get from the index + virtual bool setSelection(const QList& theValues, int& thePosition); + + /// 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(); /// Slot is called on selection changed - void onSelectionChanged(); + virtual void onSelectionChanged(); protected slots: /// Slot for copy command in a list pop-up menu @@ -98,21 +107,27 @@ protected slots: /// 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 isBackup a boolean flag, if true, store values from the attribute - /// to backup, otherwise set the backed up values to the attribute - virtual void backupAttributeValue(const bool isBackup); + virtual void storeAttributeValue(); - /// Fills the attribute with the value of the selected owner - /// \param theOwner a selected owner - virtual void setSelection(const Handle_SelectMgr_EntityOwner& theOwner); + /// 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); /// Start shape selection - void activateShapeSelection(); + /// \param isActivated a state whether the shape is activated or deactivated in selection + void activateShapeSelection(const bool isActivated); + + /// Return the attribute values wrapped in a list of viewer presentations + /// \return a list of viewer presentations, which contains an attribute result and + /// a shape. If the attribute do not uses the shape, it is empty + QList getAttributeSelection() const; - private: + protected: /// Update selection list void updateSelectionList(AttributeSelectionListPtr); @@ -125,20 +140,20 @@ protected slots: //TODO: Move into the base of selectors ModuleBase_IWorkshop* myWorkshop; - /// If true then local selector has to be activated in context - bool myIsActive; - /// 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_ */