+ /// 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();
+
+ /// 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);
+
+ /// Checks the widget validity. By default, it returns true.
+ /// \param thePrs a selected presentation in the view
+ /// \return a boolean value
+ virtual bool isValidSelectionCustom(const ModuleBase_ViewerPrs& thePrs);
+
+ /// Fills the attribute with the value of the selected owner
+ /// \param thePrs a selected owner
+ virtual bool setSelectionCustom(const ModuleBase_ViewerPrs& thePrs) = 0;
+
+ /// Checks the current attibute in all attribute validators
+ // \return true if all validators return that the attribute is valid
+ bool isValidAttribute() const;
+
+ /// Returns true if the workshop validator filter has been already activated
+ /// \return boolean value
+ bool isFilterActivated() const;
+
+ /// Gets the validity state of the presentation in an internal map. Returns true if the valid state of value is stored
+ /// \param theValue a viewer presentation
+ /// \param theValid a valid state
+ bool getValidState(const ModuleBase_ViewerPrs& theValue, bool& theValid);
+
+ /// Store the validity state of the presentation in an internal map
+ /// \param theValue a viewer presentation
+ /// \param theValid a valid state
+ void storeValidState(const ModuleBase_ViewerPrs& theValue, const bool theValid);
+
+ /// Removes all presentations from internal maps.
+ void clearValidState();
+
+ /// Returns a list of selected presentations in the viewer and object browser
+ /// The presentations from the object browser are filtered by the AIS context filters
+ /// \return a list of presentations
+ QList<ModuleBase_ViewerPrs> getFilteredSelected();
+
+ /// Applies AIS context filters to the parameter list. The not approved presentations are
+ /// removed from the parameters.
+ /// \param theValues a list of presentations.
+ void filterPresentations(QList<ModuleBase_ViewerPrs>& theValues);