From 4ea0784341dc8d64d8b4c84b574492abbc487c93 Mon Sep 17 00:00:00 2001 From: Aapo Date: Fri, 29 Jan 2021 10:27:11 +0200 Subject: [PATCH] [TD] Dimensions: donovaly's minor fixes for TheoreticalExact dimensions. --- src/Mod/TechDraw/App/DrawViewDimension.cpp | 6 +++++- src/Mod/TechDraw/Gui/QGIViewDimension.cpp | 3 ++- src/Mod/TechDraw/Gui/TaskDimension.cpp | 3 +++ 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/Mod/TechDraw/App/DrawViewDimension.cpp b/src/Mod/TechDraw/App/DrawViewDimension.cpp index 394c8d3659..d0f25e58ee 100644 --- a/src/Mod/TechDraw/App/DrawViewDimension.cpp +++ b/src/Mod/TechDraw/App/DrawViewDimension.cpp @@ -216,10 +216,13 @@ void DrawViewDimension::onChanged(const App::Property* prop) UnderTolerance.setReadOnly(true); FormatSpecOverTolerance.setReadOnly(true); FormatSpecUnderTolerance.setReadOnly(true); + ArbitraryTolerances.setValue(false); + ArbitraryTolerances.setReadOnly(true); } else { OverTolerance.setReadOnly(false); FormatSpecOverTolerance.setReadOnly(false); + ArbitraryTolerances.setReadOnly(false); if (!EqualTolerance.getValue()) { UnderTolerance.setReadOnly(false); FormatSpecUnderTolerance.setReadOnly(false); @@ -923,7 +926,8 @@ std::string DrawViewDimension::getFormattedDimensionValue(int partial) { QString qFormatSpec = QString::fromUtf8(FormatSpec.getStrValue().data()); - if (Arbitrary.getValue() && !EqualTolerance.getValue()) { + if ( (Arbitrary.getValue() && !EqualTolerance.getValue()) + || (Arbitrary.getValue() && TheoreticalExact.getValue()) ) { return FormatSpec.getStrValue(); } diff --git a/src/Mod/TechDraw/Gui/QGIViewDimension.cpp b/src/Mod/TechDraw/Gui/QGIViewDimension.cpp index e8cbf9204b..2bef981208 100644 --- a/src/Mod/TechDraw/Gui/QGIViewDimension.cpp +++ b/src/Mod/TechDraw/Gui/QGIViewDimension.cpp @@ -628,7 +628,8 @@ void QGIViewDimension::updateDim() QString labelText; QString unitText; - if (dim->Arbitrary.getValue() && !dim->EqualTolerance.getValue()) { + if ( (dim->Arbitrary.getValue() && !dim->EqualTolerance.getValue()) + || (dim->Arbitrary.getValue() && dim->TheoreticalExact.getValue()) ) { labelText = QString::fromUtf8(dim->getFormattedDimensionValue(1).c_str()); //just the number pref/spec/suf } else { if (dim->isMultiValueSchema()) { diff --git a/src/Mod/TechDraw/Gui/TaskDimension.cpp b/src/Mod/TechDraw/Gui/TaskDimension.cpp index f41aa41fe8..83d8690255 100644 --- a/src/Mod/TechDraw/Gui/TaskDimension.cpp +++ b/src/Mod/TechDraw/Gui/TaskDimension.cpp @@ -180,11 +180,14 @@ void TaskDimension::onTheoreticallyExactChanged() ui->qsbUndertolerance->setDisabled(true); ui->leFormatSpecifierOverTolerance->setDisabled(true); ui->leFormatSpecifierUnderTolerance->setDisabled(true); + ui->cbArbitraryTolerances->setDisabled(true); + ui->cbArbitraryTolerances->setChecked(false); } else { ui->cbEqualTolerance->setDisabled(false); ui->qsbOvertolerance->setDisabled(false); ui->leFormatSpecifierOverTolerance->setDisabled(false); + ui->cbArbitraryTolerances->setDisabled(false); if (!ui->cbEqualTolerance->isChecked()) { ui->qsbUndertolerance->setDisabled(false); ui->leFormatSpecifierUnderTolerance->setDisabled(false);