#include "ModuleBase_Definitions.h"
#include <ModelAPI_Object.h>
+#include <ModelAPI_Attribute.h>
#include <GeomAPI_Shape.h>
class Config_WidgetAPI;
/// Defines if it is supposed that the widget should interact with the viewer.
virtual bool isViewerSelector() { return true; }
+ /// Activate or deactivate selection and selection filters
+ void activateSelectionAndFilters(bool toActivate);
+
/// Checks the widget validity. By default, it returns true.
- /// \param theValue a selected presentation in the view
+ /// \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 theOwner a selected owner
+ /// \param thePrs a selected owner
virtual bool setSelectionCustom(const ModuleBase_ViewerPrs& thePrs);
/// The methiod called when widget is deactivated
virtual void deactivate();
- //TODO: nds stabilization hotfix
- virtual void disconnectSignals();
-
-protected:
- /// Activate or deactivate selection
- void activateSelection(bool toActivate);
-
private slots:
/// Slot which is called on selection event
void onSelectionChanged();
/// Set an empty value to attribute
virtual void clearAttribute() = 0;
- // Update focus after the attribute value change
+ /// Update focus after the attribute value change
virtual void updateFocus() = 0;
/// Return the attribute values wrapped in a list of viewer presentations
/// \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 -------------
-protected:
- /// Reference to workshop
- ModuleBase_IWorkshop* myWorkshop;
+ /// 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