#include <QObject>
class ModelAPI_Feature;
+class ModuleBase_WidgetValue;
+class GeomAPI_Pnt2d;
class QGroupBox;
class QDoubleSpinBox;
/// \theParent the parent object
/// \theParent the parent object
/// \theData the widget configuation. The attribute of the model widget is obtained from
- ModuleBase_WidgetPoint2D(QWidget* theParent, const Config_WidgetAPI* theData);
+ ModuleBase_WidgetPoint2D(QWidget* theParent, const Config_WidgetAPI* theData, const std::string& theParentId);
/// Destructor
virtual ~ModuleBase_WidgetPoint2D();
+ /// 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);
+
/// Saves the internal parameters to the given feature
- /// \param theFeature a model feature to be changed
- virtual bool storeValue(FeaturePtr theFeature) const;
+ /// \param theObject a model feature to be changed
+ virtual bool storeValue() const;
- virtual bool restoreValue(FeaturePtr theFeature);
+ virtual bool restoreValue();
/// Returns the internal parent wiget control, that can be shown anywhere
/// \returns the widget
/// \param theEvent the processed event
virtual bool eventFilter(QObject *theObject, QEvent *theEvent);
+ bool initFromPrevious(ObjectPtr theObject);
+
+signals:
+ /// Signal about the point 2d set to the feature
+ /// \param the feature
+ /// \param the attribute of the feature
+ void storedPoint2D(ObjectPtr theObject, const std::string& theAttribute);
+
+protected:
+ /// Fill the widget values by given point
+ /// \param thePoint the point
+ void setPoint(const boost::shared_ptr<GeomAPI_Pnt2d>& thePoint);
+
private:
QGroupBox* myGroupBox; ///< the parent group box for all intenal widgets
QDoubleSpinBox* myXSpin; ///< the spin box for the X coordinate
QDoubleSpinBox* myYSpin; ///< the spin box for the Y coordinate
+
+ std::string myOptionParam; /// Parameter name which has to be taken from previous feature
};
#endif