From d19a16ddd541f8c9cebc12c6d48e8316c150d3a7 Mon Sep 17 00:00:00 2001 From: Paddle Date: Mon, 23 Oct 2023 18:02:13 +0200 Subject: [PATCH] SketcherToolDefaultWidget : add 3 parameter configuration functions. And remove the units from setParameter. --- .../Gui/SketcherToolDefaultWidget.cpp | 41 ++++++++++++++++++- .../Sketcher/Gui/SketcherToolDefaultWidget.h | 3 ++ 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/src/Mod/Sketcher/Gui/SketcherToolDefaultWidget.cpp b/src/Mod/Sketcher/Gui/SketcherToolDefaultWidget.cpp index 7e205bc1f2..966e24d7fd 100644 --- a/src/Mod/Sketcher/Gui/SketcherToolDefaultWidget.cpp +++ b/src/Mod/Sketcher/Gui/SketcherToolDefaultWidget.cpp @@ -394,7 +394,7 @@ void SketcherToolDefaultWidget::setParameterLabel(int parameterindex, const QStr void SketcherToolDefaultWidget::setParameter(int parameterindex, double val) { if (parameterindex < nParameters) { - getParameterSpinBox(parameterindex)->setValue(Base::Quantity(val, Base::Unit::Length)); + getParameterSpinBox(parameterindex)->setValue(val); return; } @@ -424,6 +424,45 @@ void SketcherToolDefaultWidget::configureParameterUnit(int parameterindex, const QT_TRANSLATE_NOOP("Exceptions", "ToolWidget parameter index out of range")); } +void SketcherToolDefaultWidget::configureParameterDecimals(int parameterindex, int val) +{ + Base::StateLocker lock(blockParameterSlots, true); + if (parameterindex < nParameters) { + getParameterSpinBox(parameterindex)->setDecimals(val); + + return; + } + + THROWM(Base::IndexError, + QT_TRANSLATE_NOOP("Exceptions", "ToolWidget parameter index out of range")); +} + +void SketcherToolDefaultWidget::configureParameterMin(int parameterindex, double val) +{ + Base::StateLocker lock(blockParameterSlots, true); + if (parameterindex < nParameters) { + getParameterSpinBox(parameterindex)->setMinimum(val); + + return; + } + + THROWM(Base::IndexError, + QT_TRANSLATE_NOOP("Exceptions", "ToolWidget parameter index out of range")); +} + +void SketcherToolDefaultWidget::configureParameterMax(int parameterindex, double val) +{ + Base::StateLocker lock(blockParameterSlots, true); + if (parameterindex < nParameters) { + getParameterSpinBox(parameterindex)->setMaximum(val); + + return; + } + + THROWM(Base::IndexError, + QT_TRANSLATE_NOOP("Exceptions", "ToolWidget parameter index out of range")); +} + void SketcherToolDefaultWidget::setParameterEnabled(int parameterindex, bool active) { if (parameterindex < nParameters) { diff --git a/src/Mod/Sketcher/Gui/SketcherToolDefaultWidget.h b/src/Mod/Sketcher/Gui/SketcherToolDefaultWidget.h index 2a2ca8b9f9..e4ce688fcb 100644 --- a/src/Mod/Sketcher/Gui/SketcherToolDefaultWidget.h +++ b/src/Mod/Sketcher/Gui/SketcherToolDefaultWidget.h @@ -146,6 +146,9 @@ public: void setParameter(int parameterindex, double val); void configureParameterInitialValue(int parameterindex, double value); void configureParameterUnit(int parameterindex, const Base::Unit& unit); + void configureParameterDecimals(int parameterindex, int val); + void configureParameterMax(int parameterindex, double val); + void configureParameterMin(int parameterindex, double val); double getParameter(int parameterindex); bool isParameterSet(int parameterindex); void