/// 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<ModuleBase_ViewerPrs>& 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);
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<ModuleBase_ViewerPrs> getAttributeSelection() const;
protected:
/// Update selection list
//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<ResultPtr, GeomShapePtr> GeomSelection;