#include "ModuleBase_ModelWidget.h"
#include <ModelAPI_Object.h>
+#include <GeomAPI_Shape.h>
#include <TopAbs_ShapeEnum.hxx>
{
Q_OBJECT
public:
+ static TopAbs_ShapeEnum shapeType(const QString& theType);
+
ModuleBase_WidgetShapeSelector(QWidget* theParent, ModuleBase_IWorkshop* theWorkshop,
const Config_WidgetAPI* theData, const std::string& theParentId);
return mySelectedObject;
}
- public slots:
+ /// Set the given wrapped value to the current widget
+ /// This value should be processed in the widget according to the needs
+ /// \param theValue the wrapped widget value
+ virtual bool setValue(ModuleBase_WidgetValue* theValue);
+
+public slots:
/// Activate or deactivate selection
void activateSelection(bool toActivate);
void updateSelectionName();
void raisePanel() const;
bool isAccepted(const ObjectPtr theObject) const;
+ bool isAccepted(boost::shared_ptr<GeomAPI_Shape> theShape) const;
- static TopAbs_ShapeEnum shapeType(const QString& theType);
+ // Set the given object as a value of the widget
+ void setObject(ObjectPtr theObj, boost::shared_ptr<GeomAPI_Shape> theShape = boost::shared_ptr<GeomAPI_Shape>());
QWidget* myContainer;
QLabel* myLabel;
ModuleBase_IWorkshop* myWorkshop;
ObjectPtr mySelectedObject;
+ boost::shared_ptr<GeomAPI_Shape> myShape;
+
QStringList myShapeTypes;
+ /// If true then local selector has to be activated in context
+ bool myUseSubShapes;
+
QPalette myBasePalet;
QPalette myInactivePalet;