diff --git a/src/Mod/TechDraw/App/DrawGeomHatch.cpp b/src/Mod/TechDraw/App/DrawGeomHatch.cpp index cc3a59d104..ac319d6766 100644 --- a/src/Mod/TechDraw/App/DrawGeomHatch.cpp +++ b/src/Mod/TechDraw/App/DrawGeomHatch.cpp @@ -627,6 +627,15 @@ std::string DrawGeomHatch::prefGeomHatchName() return result; } +App::Color DrawGeomHatch::prefGeomHatchColor() +{ + Base::Reference hGrp = App::GetApplication().GetUserParameter() + .GetGroup("BaseApp")->GetGroup("Preferences")->GetGroup("Mod/TechDraw/Colors"); + App::Color fcColor; + fcColor.setPackedValue(hGrp->GetUnsigned("GeomHatch", 0x00FF0000)); + return fcColor; +} + // Python Drawing feature --------------------------------------------------------- diff --git a/src/Mod/TechDraw/App/DrawGeomHatch.h b/src/Mod/TechDraw/App/DrawGeomHatch.h index cf722400b1..7945054a8a 100644 --- a/src/Mod/TechDraw/App/DrawGeomHatch.h +++ b/src/Mod/TechDraw/App/DrawGeomHatch.h @@ -23,9 +23,10 @@ #ifndef _TechDraw_DrawGeomHatch_h_ #define _TechDraw_DrawGeomHatch_h_ -# include -# include -# include +#include +#include +#include +#include #include class TopoDS_Edge; @@ -80,6 +81,8 @@ public: static TopoDS_Face extractFace(DrawViewPart* source, int iface ); static std::string prefGeomHatchFile(void); static std::string prefGeomHatchName(); + static App::Color prefGeomHatchColor(); + protected: virtual void onDocumentRestored() override; diff --git a/src/Mod/TechDraw/App/DrawHatch.cpp b/src/Mod/TechDraw/App/DrawHatch.cpp index e9d9011199..acb6843b3f 100644 --- a/src/Mod/TechDraw/App/DrawHatch.cpp +++ b/src/Mod/TechDraw/App/DrawHatch.cpp @@ -261,7 +261,7 @@ void DrawHatch::unsetupObject(void) App::DocumentObject::unsetupObject(); } -//standard preference getter +//standard preference getters std::string DrawHatch::prefSvgHatch(void) { Base::Reference hGrp = App::GetApplication().GetUserParameter() @@ -273,6 +273,16 @@ std::string DrawHatch::prefSvgHatch(void) return result; } +App::Color DrawHatch::prefSvgHatchColor(void) +{ + Base::Reference hGrp = App::GetApplication().GetUserParameter() + .GetGroup("BaseApp")->GetGroup("Preferences")->GetGroup("Mod/TechDraw/Colors"); + App::Color fcColor; + fcColor.setPackedValue(hGrp->GetUnsigned("Hatch", 0x00FF0000)); + return fcColor; +} + + // Python Drawing feature --------------------------------------------------------- namespace App { diff --git a/src/Mod/TechDraw/App/DrawHatch.h b/src/Mod/TechDraw/App/DrawHatch.h index e789c6b0f4..e8271fe76a 100644 --- a/src/Mod/TechDraw/App/DrawHatch.h +++ b/src/Mod/TechDraw/App/DrawHatch.h @@ -23,9 +23,10 @@ #ifndef _TechDraw_DrawHatch_h_ #define _TechDraw_DrawHatch_h_ -# include -# include -# include +#include +#include +#include +#include #include namespace TechDraw @@ -62,7 +63,8 @@ public: bool empty(void); static bool faceIsHatched(int i,std::vector hatchObjs); static std::string prefSvgHatch(void); - + static App::Color prefSvgHatchColor(void); + protected: void onChanged(const App::Property* prop) override; virtual void onDocumentRestored() override; diff --git a/src/Mod/TechDraw/Gui/ViewProviderGeomHatch.cpp b/src/Mod/TechDraw/Gui/ViewProviderGeomHatch.cpp index 0c67239bb1..5d91a31a69 100644 --- a/src/Mod/TechDraw/Gui/ViewProviderGeomHatch.cpp +++ b/src/Mod/TechDraw/Gui/ViewProviderGeomHatch.cpp @@ -71,7 +71,8 @@ ViewProviderGeomHatch::ViewProviderGeomHatch() static const char *vgroup = "GeomHatch"; - ADD_PROPERTY_TYPE(ColorPattern,(0),vgroup,App::Prop_None,"Color of the pattern"); + ADD_PROPERTY_TYPE(ColorPattern,(TechDraw::DrawGeomHatch::prefGeomHatchColor()), + vgroup,App::Prop_None,"Color of the pattern"); ADD_PROPERTY_TYPE(WeightPattern,(0),vgroup,App::Prop_None,"GeometricHatch pattern line thickness"); getParameters(); @@ -183,13 +184,9 @@ void ViewProviderGeomHatch::updateGraphic(void) void ViewProviderGeomHatch::getParameters(void) { - Base::Reference hGrp = App::GetApplication().GetUserParameter() - .GetGroup("BaseApp")->GetGroup("Preferences")->GetGroup("Mod/TechDraw/Colors"); - App::Color fcColor; - fcColor.setPackedValue(hGrp->GetUnsigned("GeomHatch", 0x00FF0000)); - ColorPattern.setValue(fcColor); - - hGrp = App::GetApplication().GetUserParameter().GetGroup("BaseApp")->GetGroup("Preferences")->GetGroup("Mod/TechDraw/Decorations"); + Base::Reference hGrp = App::GetApplication().GetUserParameter(). + GetGroup("BaseApp")->GetGroup("Preferences")-> + GetGroup("Mod/TechDraw/Decorations"); std::string lgName = hGrp->GetASCII("LineGroup","FC 0.70mm"); auto lg = TechDraw::LineGroup::lineGroupFactory(lgName); double weight = lg->getWeight("Graphic"); diff --git a/src/Mod/TechDraw/Gui/ViewProviderHatch.cpp b/src/Mod/TechDraw/Gui/ViewProviderHatch.cpp index 983d83d4f7..89d566c90f 100644 --- a/src/Mod/TechDraw/Gui/ViewProviderHatch.cpp +++ b/src/Mod/TechDraw/Gui/ViewProviderHatch.cpp @@ -32,15 +32,11 @@ /// Here the FreeCAD includes sorted by Base,App,Gui...... #include #include -//#include -//#include #include #include #include #include #include -//#include -//#include #include #include @@ -68,12 +64,8 @@ ViewProviderHatch::ViewProviderHatch() sPixmap = "TechDraw_Tree_Hatch"; static const char *vgroup = "Hatch"; - Base::Reference hGrp = App::GetApplication().GetUserParameter() - .GetGroup("BaseApp")->GetGroup("Preferences")->GetGroup("Mod/TechDraw/Colors"); - App::Color fcColor; - fcColor.setPackedValue(hGrp->GetUnsigned("Hatch", 0x00FF0000)); - - ADD_PROPERTY_TYPE(HatchColor,(fcColor),vgroup,App::Prop_None,"The color of the hatch pattern"); + ADD_PROPERTY_TYPE(HatchColor,(TechDraw::DrawHatch::prefSvgHatchColor()), + vgroup,App::Prop_None,"The color of the hatch pattern"); ADD_PROPERTY_TYPE(HatchScale,(1.0),vgroup,App::Prop_None,"Hatch pattern size adjustment"); HatchScale.setConstraints(&scaleRange); } @@ -124,12 +116,12 @@ TechDraw::DrawHatch* ViewProviderHatch::getViewObject() const return dynamic_cast(pcObject); } -bool ViewProviderHatch::canDelete(App::DocumentObject *obj) const -{ - // deletion of hatches don't destroy anything - // thus we can pass this action - Q_UNUSED(obj) - return true; +bool ViewProviderHatch::canDelete(App::DocumentObject *obj) const +{ + // deletion of hatches don't destroy anything + // thus we can pass this action + Q_UNUSED(obj) + return true; } Gui::MDIView *ViewProviderHatch::getMDIView() const