From 46882287f25e31adffa9c336bd0bfb724a5ae631 Mon Sep 17 00:00:00 2001 From: grubertechnic Date: Tue, 6 Jun 2023 15:47:05 +0200 Subject: [PATCH] [TechDraw] let arrow size of a dimension change due property task panel --- src/Mod/TechDraw/App/Preferences.cpp | 6 ++++++ src/Mod/TechDraw/App/Preferences.h | 2 ++ src/Mod/TechDraw/Gui/DlgPrefsTechDrawDimensionsImp.cpp | 3 ++- src/Mod/TechDraw/Gui/PreferencesGui.cpp | 2 +- src/Mod/TechDraw/Gui/ViewProviderDimension.cpp | 9 +++++++++ src/Mod/TechDraw/Gui/ViewProviderDimension.h | 2 ++ 6 files changed, 22 insertions(+), 2 deletions(-) diff --git a/src/Mod/TechDraw/App/Preferences.cpp b/src/Mod/TechDraw/App/Preferences.cpp index b88bca9771..7278ee04db 100644 --- a/src/Mod/TechDraw/App/Preferences.cpp +++ b/src/Mod/TechDraw/App/Preferences.cpp @@ -42,6 +42,7 @@ using namespace TechDraw; const double Preferences::DefaultFontSizeInMM = 5.0; +const double Preferences::DefaultArrowSize = 3.5; //! Returns the TechDraw preference group Base::Reference Preferences::getPreferenceGroup(const char* Name) @@ -70,6 +71,11 @@ double Preferences::dimFontSizeMM() return getPreferenceGroup("Dimensions")->GetFloat("FontSize", DefaultFontSizeInMM); } +double Preferences::dimArrowSize() +{ + return getPreferenceGroup("Dimensions")->GetFloat("ArrowSize", DefaultArrowSize); +} + App::Color Preferences::normalColor() { App::Color fcColor; diff --git a/src/Mod/TechDraw/App/Preferences.h b/src/Mod/TechDraw/App/Preferences.h index c976a17849..e4757e9348 100644 --- a/src/Mod/TechDraw/App/Preferences.h +++ b/src/Mod/TechDraw/App/Preferences.h @@ -51,6 +51,7 @@ public: static QString labelFontQString(); static double labelFontSizeMM(); static double dimFontSizeMM(); + static double dimArrowSize(); static App::Color normalColor(); static App::Color selectColor(); @@ -74,6 +75,7 @@ public: static std::string lineGroupFile(); static const double DefaultFontSizeInMM; + static const double DefaultArrowSize; static std::string formatSpec(); static int altDecimals(); diff --git a/src/Mod/TechDraw/Gui/DlgPrefsTechDrawDimensionsImp.cpp b/src/Mod/TechDraw/Gui/DlgPrefsTechDrawDimensionsImp.cpp index 6bdf0f0ade..829bca5a97 100644 --- a/src/Mod/TechDraw/Gui/DlgPrefsTechDrawDimensionsImp.cpp +++ b/src/Mod/TechDraw/Gui/DlgPrefsTechDrawDimensionsImp.cpp @@ -74,10 +74,11 @@ void DlgPrefsTechDrawDimensionsImp::loadSettings() //Quantity widgets do not use preset value since they are based on //QAbstractSpinBox double fontDefault = Preferences::dimFontSizeMM(); + double arrowDefault = Preferences::dimArrowSize(); ui->plsb_FontSize->setValue(fontDefault); // double arrowDefault = 5.0; // plsb_ArrowSize->setValue(arrowDefault); - ui->plsb_ArrowSize->setValue(fontDefault); + ui->plsb_ArrowSize->setValue(arrowDefault); ui->pcbStandardAndStyle->onRestore(); ui->cbGlobalDecimals->onRestore(); diff --git a/src/Mod/TechDraw/Gui/PreferencesGui.cpp b/src/Mod/TechDraw/Gui/PreferencesGui.cpp index 6628dbbfce..43ead436dc 100644 --- a/src/Mod/TechDraw/Gui/PreferencesGui.cpp +++ b/src/Mod/TechDraw/Gui/PreferencesGui.cpp @@ -145,7 +145,7 @@ int PreferencesGui::dimArrowStyle() double PreferencesGui::dimArrowSize() { - return Preferences::getPreferenceGroup("Dimensions")->GetFloat("ArrowSize", Preferences::dimFontSizeMM()); + return Preferences::getPreferenceGroup("Dimensions")->GetFloat("ArrowSize", Preferences::dimArrowSize()); } diff --git a/src/Mod/TechDraw/Gui/ViewProviderDimension.cpp b/src/Mod/TechDraw/Gui/ViewProviderDimension.cpp index 8732c238d6..64973da627 100644 --- a/src/Mod/TechDraw/Gui/ViewProviderDimension.cpp +++ b/src/Mod/TechDraw/Gui/ViewProviderDimension.cpp @@ -70,6 +70,9 @@ ViewProviderDimension::ViewProviderDimension() ADD_PROPERTY_TYPE(Fontsize, (Preferences::dimFontSizeMM()), group, (App::PropertyType)(App::Prop_None), "Dimension text size in units"); + ADD_PROPERTY_TYPE(Arrowsize, (Preferences::dimArrowSize()), + group, (App::PropertyType)(App::Prop_None), + "Arrow size in units"); ADD_PROPERTY_TYPE(LineWidth, (prefWeight()), group, (App::PropertyType)(App::Prop_None), "Dimension line width"); ADD_PROPERTY_TYPE(Color, (prefColor()), group, App::Prop_None, "Color of the dimension"); @@ -195,6 +198,7 @@ void ViewProviderDimension::onChanged(const App::Property* p) { if ((p == &Font) || (p == &Fontsize) || + (p == &Arrowsize) || (p == &LineWidth) || (p == &StandardAndStyle) || (p == &RenderingExtent) || @@ -240,6 +244,11 @@ double ViewProviderDimension::prefFontSize() const return Preferences::dimFontSizeMM(); } +double ViewProviderDimension::prefArrowSize() const +{ + return Preferences::dimArrowSize(); +} + double ViewProviderDimension::prefWeight() const { return TechDraw::LineGroup::getDefaultWidth("Thin"); diff --git a/src/Mod/TechDraw/Gui/ViewProviderDimension.h b/src/Mod/TechDraw/Gui/ViewProviderDimension.h index 8a72f9abec..9756101fc4 100644 --- a/src/Mod/TechDraw/Gui/ViewProviderDimension.h +++ b/src/Mod/TechDraw/Gui/ViewProviderDimension.h @@ -45,6 +45,7 @@ public: App::PropertyFont Font; App::PropertyLength Fontsize; + App::PropertyLength Arrowsize; App::PropertyLength LineWidth; App::PropertyColor Color; @@ -81,6 +82,7 @@ public: App::Color prefColor() const; std::string prefFont() const; double prefFontSize() const; + double prefArrowSize() const; double prefWeight() const; int prefStandardAndStyle() const; bool canDelete(App::DocumentObject* obj) const override;