+
+QList<QWidget*> ModuleBase_WidgetPoint2D::getControls() const
+{
+ QList<QWidget*> aControls;
+ aControls.push_back(myXSpin);
+ aControls.push_back(myYSpin);
+
+ return aControls;
+}
+
+bool ModuleBase_WidgetPoint2D::eventFilter(QObject *theObject, QEvent *theEvent)
+{
+ if (theObject == myXSpin || theObject == myYSpin) {
+ if (theEvent->type() == QEvent::KeyRelease) {
+ QKeyEvent* aKeyEvent = (QKeyEvent*)theEvent;
+ if (aKeyEvent && aKeyEvent->key() == Qt::Key_Return) {
+ emit focusOutWidget(this);
+ }
+ emit keyReleased(attributeID(), (QKeyEvent*) theEvent);
+ return true;
+ }
+ }
+ return ModuleBase_ModelWidget::eventFilter(theObject, theEvent);
+}
+
+bool ModuleBase_WidgetPoint2D::initFromPrevious(FeaturePtr theFeature)
+{
+ if (myOptionParam.length() == 0)
+ return false;
+ boost::shared_ptr<ModelAPI_Data> aData = theFeature->data();
+ boost::shared_ptr<GeomDataAPI_Point2D> aPoint =
+ boost::dynamic_pointer_cast<GeomDataAPI_Point2D>(aData->attribute(myOptionParam));
+ if (aPoint) {
+ bool isBlocked = this->blockSignals(true);
+ myXSpin->setValue(aPoint->x());
+ myYSpin->setValue(aPoint->y());
+ this->blockSignals(isBlocked);
+
+ emit valuesChanged();
+ emit storedPoint2D(theFeature, myOptionParam);
+ return true;
+ }
+ return false;
+}