diff --git a/src/Mod/TechDraw/App/DrawViewArch.cpp b/src/Mod/TechDraw/App/DrawViewArch.cpp index 7edab013c9..8e15655098 100644 --- a/src/Mod/TechDraw/App/DrawViewArch.cpp +++ b/src/Mod/TechDraw/App/DrawViewArch.cpp @@ -121,7 +121,8 @@ App::DocumentObjectExecReturn *DrawViewArch::execute(void) SourceName.c_str(),paramStr.str().c_str()); Base::Interpreter().runStringArg("App.activeDocument().%s.Symbol = '%s' + svgBody + '%s'", FeatName.c_str(),svgHead.c_str(),svgTail.c_str()); - } + } + requestPaint(); return DrawView::execute(); } diff --git a/src/Mod/TechDraw/App/DrawViewDraft.cpp b/src/Mod/TechDraw/App/DrawViewDraft.cpp index d0f007cc6f..906d592f2c 100644 --- a/src/Mod/TechDraw/App/DrawViewDraft.cpp +++ b/src/Mod/TechDraw/App/DrawViewDraft.cpp @@ -124,6 +124,7 @@ App::DocumentObjectExecReturn *DrawViewDraft::execute(void) Base::Interpreter().runStringArg("App.activeDocument().%s.Symbol = '%s' + svgBody + '%s'", FeatName.c_str(),svgHead.c_str(),svgTail.c_str()); } + requestPaint(); return DrawView::execute(); } diff --git a/src/Mod/TechDraw/App/DrawViewSymbol.cpp b/src/Mod/TechDraw/App/DrawViewSymbol.cpp index d84cf12561..b28d15b620 100644 --- a/src/Mod/TechDraw/App/DrawViewSymbol.cpp +++ b/src/Mod/TechDraw/App/DrawViewSymbol.cpp @@ -83,6 +83,7 @@ void DrawViewSymbol::onChanged(const App::Property* prop) tbegin = twhat[0].second; } EditableTexts.setValues(eds); + requestPaint(); } } } @@ -119,6 +120,7 @@ App::DocumentObjectExecReturn *DrawViewSymbol::execute(void) } Symbol.setValue(newsvg); + requestPaint(); return DrawView::execute(); } @@ -160,6 +162,20 @@ bool DrawViewSymbol::checkFit(TechDraw::DrawPage* p) const return result; } +short DrawViewSymbol::mustExecute() const +{ + short result = 0; + if (!isRestoring()) { + result = (Scale.isTouched() || + EditableTexts.isTouched()); + } + if ((bool) result) { + return result; + } + return DrawView::mustExecute(); +} + + PyObject *DrawViewSymbol::getPyObject(void) { if (PythonObject.is(Py::_None())) { diff --git a/src/Mod/TechDraw/App/DrawViewSymbol.h b/src/Mod/TechDraw/App/DrawViewSymbol.h index 05c1282f54..efbd26c49f 100644 --- a/src/Mod/TechDraw/App/DrawViewSymbol.h +++ b/src/Mod/TechDraw/App/DrawViewSymbol.h @@ -63,6 +63,8 @@ public: //return PyObject as DrawViewSymbolPy virtual PyObject *getPyObject(void); + virtual short mustExecute() const; + protected: virtual void onChanged(const App::Property* prop) override;