Salome HOME
Merge branch 'Dev_0.6.1' of newgeom:newgeom into Dev_0.6.1
[modules/shaper.git] / src / PartSet / PartSet_WidgetPoint2d.cpp
index 51c3289a57fbfb919cb614688f6a05ad799eb2ff..26f8f65374be43e28cf5a2853e35c86f50a1da93 100644 (file)
@@ -60,28 +60,28 @@ PartSet_WidgetPoint2D::PartSet_WidgetPoint2D(QWidget* theParent,
   aGroupLay->setColumnStretch(1, 1);
   {
     QLabel* aLabel = new QLabel(myGroupBox);
-    aLabel->setText("X");
+    aLabel->setText(tr("X"));
     aLabel->setPixmap(QPixmap(":pictures/x_point.png"));
     aGroupLay->addWidget(aLabel, 0, 0);
 
     myXSpin = new ModuleBase_DoubleSpinBox(myGroupBox);
     myXSpin->setMinimum(-DBL_MAX);
     myXSpin->setMaximum(DBL_MAX);
-    myXSpin->setToolTip("X");
+    myXSpin->setToolTip(tr("X"));
     aGroupLay->addWidget(myXSpin, 0, 1);
 
     connect(myXSpin, SIGNAL(valueChanged(double)), this, SLOT(onValuesChanged()));
   }
   {
     QLabel* aLabel = new QLabel(myGroupBox);
-    aLabel->setText("Y");
+    aLabel->setText(tr("Y"));
     aLabel->setPixmap(QPixmap(":pictures/y_point.png"));
     aGroupLay->addWidget(aLabel, 1, 0);
 
     myYSpin = new ModuleBase_DoubleSpinBox(myGroupBox);
     myYSpin->setMinimum(-DBL_MAX);
     myYSpin->setMaximum(DBL_MAX);
-    myYSpin->setToolTip("X");
+    myYSpin->setToolTip(tr("Y"));
     aGroupLay->addWidget(myYSpin, 1, 1);
 
     connect(myYSpin, SIGNAL(valueChanged(double)), this, SLOT(onValuesChanged()));
@@ -124,6 +124,8 @@ void PartSet_WidgetPoint2D::setPoint(double theX, double theY)
 bool PartSet_WidgetPoint2D::storeValue() const
 {
   std::shared_ptr<ModelAPI_Data> aData = myFeature->data();
+  if (!aData) // can be on abort of sketcher element
+    return false;
   std::shared_ptr<GeomDataAPI_Point2D> aPoint = std::dynamic_pointer_cast<GeomDataAPI_Point2D>(
       aData->attribute(attributeID()));
   
@@ -136,7 +138,8 @@ bool PartSet_WidgetPoint2D::storeValue() const
   double _Y = myYSpin->value();
 #endif
   aPoint->setValue(myXSpin->value(), myYSpin->value());
-  updateObject(myFeature);
+  // after movement the solver will call the update event: optimization
+  moveObject(myFeature);
   aPoint->setImmutable(isImmutable);
   that->blockSignals(isBlocked);
 
@@ -253,6 +256,8 @@ void PartSet_WidgetPoint2D::onMouseRelease(ModuleBase_IViewWindow* theWnd, QMous
 
 void PartSet_WidgetPoint2D::onMouseMove(ModuleBase_IViewWindow* theWnd, QMouseEvent* theEvent)
 {
+  if (isEditingMode())
+    return;
   myWorkshop->operationMgr()->setLockValidating(true);
   myWorkshop->propertyPanel()->setOkEnabled(false);