/// Checks all widget validator if the owner is valid
/// \param theOwner a selected owner in the view
/// \return a boolean value
- bool isValid(const Handle_SelectMgr_EntityOwner& theOwner);
+ bool isValidSelection(const ModuleBase_ViewerPrs& theValue);
+
+ /// Set the given wrapped value to the current widget
+ /// This value should be processed in the widget according to the needs
+ /// The method is called by the current operation to process the operation preselection.
+ /// It is redefined to check the value validity and if it is, fill the attribute with by value
+ /// \param theValue the wrapped widget value
+ virtual bool setSelection(ModuleBase_ViewerPrs theValue);
protected:
/// 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) = 0;
+ virtual void storeAttributeValue() = 0;
+
+ /// 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) = 0;
/// Fills the attribute with the value of the selected owner
/// \param theOwner a selected owner
- virtual void setSelection(const Handle_SelectMgr_EntityOwner& theOwner) = 0;
+ virtual bool setSelectionCustom(const ModuleBase_ViewerPrs& thePrs) = 0;
+
+ virtual void removePresentations() {};
/// Checks the current attibute in all attribute validators
// \return true if all validators return that the attribute is valid
bool isValidAttribute() const;
- /// Check the selected with validators if installed
- /// \param theObj the object for checking
- /// \param theShape the shape for checking
- virtual bool isValid(ObjectPtr theObj, GeomShapePtr theShape) const;
-
/// It obtains selection filters from the workshop and activates them in the active viewer
/// \param theWorkshop an active workshop
/// \param toActivate a flag about activation or deactivation the filters
virtual void activateFilters(ModuleBase_IWorkshop* theWorkshop, const bool toActivate) const;
-
- /// Fills the given list with all widget filters.
- /// \param theWorkshop an active workshop
- /// \param theFilters a list of filters
- void selectionFilters(ModuleBase_IWorkshop* theWorkshop,
- SelectMgr_ListOfFilter& theFilters) const;
};
#endif /* MODULEBASE_WIDGETVALIDATED_H_ */