#include "ModuleBase_Definitions.h"
#include <ModelAPI_Object.h>
+#include <ModelAPI_Attribute.h>
#include <GeomAPI_Shape.h>
class Config_WidgetAPI;
/// \param theParent the parent object
/// \param theWorkshop instance of workshop interface
/// \param theData the widget configuation. The attribute of the model widget is obtained from
- /// \param theParentId is Id of a parent of the current attribute
ModuleBase_WidgetSelector(QWidget* theParent, ModuleBase_IWorkshop* theWorkshop,
- const Config_WidgetAPI* theData, const std::string& theParentId);
+ const Config_WidgetAPI* theData);
virtual ~ModuleBase_WidgetSelector();
virtual bool isViewerSelector() { return true; }
/// Activate or deactivate selection and selection filters
- void activateSelectionAndFilters(bool toActivate);
+ /// \return true if the selection filter of the widget is activated in viewer context
+ virtual bool activateSelectionAndFilters(bool toActivate);
/// Checks the widget validity. By default, it returns true.
/// \param thePrs a selected presentation in the view
void onSelectionChanged();
protected:
- /// Set an empty value to attribute
- virtual void clearAttribute() = 0;
-
/// Update focus after the attribute value change
virtual void updateFocus() = 0;
/// \return true if it is succeed
virtual void setObject(ObjectPtr theSelectedObject, GeomShapePtr theShape) = 0;
- /// The methiod called when widget is activated
+ /// The methiod called when widget is activated
virtual void activateCustom();
/// Returns true if selected shape corresponds to requested shape types.
GeomShapePtr& theShape);
//----------- Class members -------------
+ /// Returns a name in the next form: attribute_feature_name/attribute_id
+ /// \param theAttribute a model attribute
+ /// \return string value
+ static std::string generateName(const AttributePtr& theAttribite,
+ ModuleBase_IWorkshop* theWorkshop);
};
#endif