diff --git a/src/Mod/TechDraw/Gui/QGIViewDimension.cpp b/src/Mod/TechDraw/Gui/QGIViewDimension.cpp index b8b2fdefe7..1308ece86d 100644 --- a/src/Mod/TechDraw/Gui/QGIViewDimension.cpp +++ b/src/Mod/TechDraw/Gui/QGIViewDimension.cpp @@ -48,6 +48,7 @@ #include #include #include +#include #include "QGIViewDimension.h" #include "PreferencesGui.h" @@ -1459,14 +1460,18 @@ void QGIViewDimension::drawArrows(int count, const Base::Vector2d positions[], d continue; } - // some dimensions must use point ends (area). The point style is 3. - arrow->setStyle(forcePoint ? 3 : QGIArrow::getPrefArrowStyle()); auto vp = static_cast(getViewProvider(getViewObject())); + if (!vp) { + return; + } + + // some dimensions must use point ends (area). The point style is 3. + arrow->setStyle(forcePoint ? static_cast(ArrowType::DOT) : vp->ArrowStyle.getValue()); auto arrowSize = vp->Arrowsize.getValue(); arrow->setSize(arrowSize); arrow->setFlipped(flipped); - if (QGIArrow::getPrefArrowStyle() != 7) {// if not "None" + if (vp->ArrowStyle.getValue() != ArrowType::NONE) {// if not "None" arrow->draw(); arrow->show(); } diff --git a/src/Mod/TechDraw/Gui/ViewProviderDimension.cpp b/src/Mod/TechDraw/Gui/ViewProviderDimension.cpp index f28da16315..914c7b0b28 100644 --- a/src/Mod/TechDraw/Gui/ViewProviderDimension.cpp +++ b/src/Mod/TechDraw/Gui/ViewProviderDimension.cpp @@ -44,6 +44,7 @@ #include #include #include +#include #include "PreferencesGui.h" @@ -80,6 +81,12 @@ ViewProviderDimension::ViewProviderDimension() ADD_PROPERTY_TYPE(Arrowsize, (Preferences::dimArrowSize()), group, (App::PropertyType)(App::Prop_None), "Arrow size in units"); + + ArrowStyle.setEnums(ArrowPropEnum::ArrowTypeEnums); + ADD_PROPERTY_TYPE(ArrowStyle, (PreferencesGui::dimArrowStyle()), + group, (App::PropertyType)(App::Prop_None), + "Arrow end symbol - point, filled arrow, etc"); + 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"); diff --git a/src/Mod/TechDraw/Gui/ViewProviderDimension.h b/src/Mod/TechDraw/Gui/ViewProviderDimension.h index 04213422f9..8c31520ce8 100644 --- a/src/Mod/TechDraw/Gui/ViewProviderDimension.h +++ b/src/Mod/TechDraw/Gui/ViewProviderDimension.h @@ -46,6 +46,7 @@ public: App::PropertyFont Font; App::PropertyLength Fontsize; App::PropertyLength Arrowsize; + App::PropertyEnumeration ArrowStyle; App::PropertyLength LineWidth; App::PropertyColor Color;