- /// Store the values to the model attribute of the widget. It casts this attribute to
- /// the specific type and set the given values
- /// \param theSelectedObject an object
- /// \param theShape a selected shape, which is used in the selection attribute
- virtual bool setObject(ObjectPtr theSelectedObject, GeomShapePtr theShape);
-
- /// Get the shape from the attribute if the attribute contain a shape
- /// It processes the ref attr type of attributes. It obtains the referenced attribute,
- /// results of the attribute feature. And it founds a vertes in the owners of the results
- /// If the vertex is found, it creates a geom shape on it.
- /// \return a shape
- virtual GeomShapePtr getShape() const;
+ /// 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 std::shared_ptr<ModuleBase_ViewerPrs>& thePrs);
+
+ /// Return an object and geom shape by the viewer presentation
+ /// \param thePrs a selection
+ /// \param theObject an output object
+ /// \param theShape a shape of the selection
+ virtual void getGeomSelection(const std::shared_ptr<ModuleBase_ViewerPrs>& thePrs,
+ ObjectPtr& theObject,
+ GeomShapePtr& theShape);