From 0432ecdb885476f95a00262d7bf3452a00e47c94 Mon Sep 17 00:00:00 2001 From: wandererfan Date: Tue, 14 Aug 2018 22:12:36 -0400 Subject: [PATCH] Fix propagation of Source property to children --- src/Mod/TechDraw/App/DrawProjGroup.cpp | 21 +++++++++++++++++++++ src/Mod/TechDraw/App/DrawProjGroup.h | 1 + 2 files changed, 22 insertions(+) diff --git a/src/Mod/TechDraw/App/DrawProjGroup.cpp b/src/Mod/TechDraw/App/DrawProjGroup.cpp index dee3798ccc..bcdf2b4a6d 100644 --- a/src/Mod/TechDraw/App/DrawProjGroup.cpp +++ b/src/Mod/TechDraw/App/DrawProjGroup.cpp @@ -116,6 +116,9 @@ void DrawProjGroup::onChanged(const App::Property* prop) if (prop == &Scale) { updateChildren(); } + if (prop == &Source) { + updateChildrenSource(); + } if (prop == &ScaleType) { double newScale = getScale(); @@ -723,6 +726,24 @@ void DrawProjGroup::updateChildren(void) } } +//void DrawProjGroup::updateChildren(const App::Property* prop) +//{ +// view->....setValue(s)(prop->getValue(s)); +//} + +/*! + * tell children DPGIs that parent DPG has changed Source + */ +void DrawProjGroup::updateChildrenSource(void) +{ + for( const auto it : Views.getValues() ) { + auto view( dynamic_cast(it) ); + if( view ) { + view->Source.setValues(Source.getValues()); + } + } +} + /*! * check if ProjectionGroup fits on Page */ diff --git a/src/Mod/TechDraw/App/DrawProjGroup.h b/src/Mod/TechDraw/App/DrawProjGroup.h index 30f0b860de..b25b85982a 100644 --- a/src/Mod/TechDraw/App/DrawProjGroup.h +++ b/src/Mod/TechDraw/App/DrawProjGroup.h @@ -165,6 +165,7 @@ protected: /// Returns pointer to our page, or NULL if it couldn't be located TechDraw::DrawPage * getPage(void) const; void updateChildren(void); + void updateChildrenSource(void); void setPropsFromCube(void); void setCubeFromProps(void); int getViewIndex(const char *viewTypeCStr) const;