X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FPartSet%2FPartSet_WidgetPoint2dDistance.cpp;h=0e40984766fc5af49890a7b32df41b298958473a;hb=f3f60a3cb69f2534a5837cd249782395e5edb183;hp=be108103444444fb9defbfc239b8f925efcddc31;hpb=e5b2e13f8b3609856b888ad53c3cdcbb9f47cf6b;p=modules%2Fshaper.git diff --git a/src/PartSet/PartSet_WidgetPoint2dDistance.cpp b/src/PartSet/PartSet_WidgetPoint2dDistance.cpp index be1081034..0e4098476 100644 --- a/src/PartSet/PartSet_WidgetPoint2dDistance.cpp +++ b/src/PartSet/PartSet_WidgetPoint2dDistance.cpp @@ -9,6 +9,7 @@ #include #include +#include #include #include @@ -40,6 +41,15 @@ PartSet_WidgetPoint2dDistance::~PartSet_WidgetPoint2dDistance() { } +void PartSet_WidgetPoint2dDistance::reset() +{ + bool isOk; + double aDefValue = QString::fromStdString(getDefaultValue()).toDouble(&isOk); + + ModuleBase_Tools::setSpinValue(mySpinBox, isOk ? aDefValue : 0.0); + storeValueCustom(); +} + void PartSet_WidgetPoint2dDistance::setPoint(FeaturePtr theFeature, const std::shared_ptr& thePnt) { @@ -53,10 +63,9 @@ void PartSet_WidgetPoint2dDistance::setPoint(FeaturePtr theFeature, AttributeDoublePtr aReal = aData->real(attributeID()); if (aReal && (aReal->value() != aRadius)) { aReal->setValue(aRadius); - mySpinBox->blockSignals(true); - mySpinBox->setValue(aRadius); - mySpinBox->blockSignals(false); - emit valuesChanged(); + + ModuleBase_Tools::setSpinValue(mySpinBox, aRadius); + storeValue(); } } @@ -81,6 +90,10 @@ void PartSet_WidgetPoint2dDistance::deactivate() void PartSet_WidgetPoint2dDistance::onMouseRelease(ModuleBase_IViewWindow* theWnd, QMouseEvent* theEvent) { + // the contex menu release by the right button should not be processed by this widget + if (theEvent->button() != Qt::LeftButton) + return; + gp_Pnt aPoint = PartSet_Tools::convertClickToPoint(theEvent->pos(), theWnd->v3dView()); double aX, aY;