From fca8034b1800c2da572b91d61cf4c1eebd4bea90 Mon Sep 17 00:00:00 2001 From: wandererfan Date: Wed, 16 May 2018 13:39:03 -0400 Subject: [PATCH] Fix delayed painting - Annotation and Image were not being painted immediately, but had to wait for a page refresh. --- src/Mod/TechDraw/App/DrawViewAnnotation.cpp | 9 ++------- src/Mod/TechDraw/App/DrawViewImage.cpp | 2 ++ src/Mod/TechDraw/Gui/QGIViewAnnotation.cpp | 5 ++--- src/Mod/TechDraw/Gui/QGIViewImage.cpp | 5 ++--- src/Mod/TechDraw/Gui/QGVPage.cpp | 3 ++- 5 files changed, 10 insertions(+), 14 deletions(-) diff --git a/src/Mod/TechDraw/App/DrawViewAnnotation.cpp b/src/Mod/TechDraw/App/DrawViewAnnotation.cpp index 0024dcb93d..828bf27e94 100644 --- a/src/Mod/TechDraw/App/DrawViewAnnotation.cpp +++ b/src/Mod/TechDraw/App/DrawViewAnnotation.cpp @@ -89,14 +89,9 @@ void DrawViewAnnotation::onChanged(const App::Property* prop) prop == &TextColor || prop == &TextSize || prop == &LineSpace || - prop == &TextStyle || //changing this doesn't recompute until focus changes?? + prop == &TextStyle || prop == &MaxWidth) { - try { - App::DocumentObjectExecReturn *ret = recompute(); - delete ret; - } - catch (...) { - } + requestPaint(); } } TechDraw::DrawView::onChanged(prop); diff --git a/src/Mod/TechDraw/App/DrawViewImage.cpp b/src/Mod/TechDraw/App/DrawViewImage.cpp index d93fc06a19..5a60c1ab02 100644 --- a/src/Mod/TechDraw/App/DrawViewImage.cpp +++ b/src/Mod/TechDraw/App/DrawViewImage.cpp @@ -66,6 +66,7 @@ void DrawViewImage::onChanged(const App::Property* prop) { if (prop == &ImageFile) { if (!isRestoring()) { + requestPaint(); } } TechDraw::DrawView::onChanged(prop); @@ -73,6 +74,7 @@ void DrawViewImage::onChanged(const App::Property* prop) App::DocumentObjectExecReturn *DrawViewImage::execute(void) { + requestPaint(); return DrawView::execute(); } diff --git a/src/Mod/TechDraw/Gui/QGIViewAnnotation.cpp b/src/Mod/TechDraw/Gui/QGIViewAnnotation.cpp index 2f4ae2bc4d..cf0257c8b5 100644 --- a/src/Mod/TechDraw/Gui/QGIViewAnnotation.cpp +++ b/src/Mod/TechDraw/Gui/QGIViewAnnotation.cpp @@ -111,9 +111,8 @@ void QGIViewAnnotation::draw() } drawAnnotation(); - if (borderVisible) { - drawBorder(); - } + QGIView::draw(); + } //TODO: text is positioned slightly high (and left??) on page save to SVG file diff --git a/src/Mod/TechDraw/Gui/QGIViewImage.cpp b/src/Mod/TechDraw/Gui/QGIViewImage.cpp index 0c63fa9692..18b6b7132c 100644 --- a/src/Mod/TechDraw/Gui/QGIViewImage.cpp +++ b/src/Mod/TechDraw/Gui/QGIViewImage.cpp @@ -121,9 +121,8 @@ void QGIViewImage::draw() m_cliparea->setRect(newRect); drawImage(); m_cliparea->centerAt(0.0,0.0); - if (borderVisible) { - drawBorder(); - } + + QGIView::draw(); } void QGIViewImage::drawImage() diff --git a/src/Mod/TechDraw/Gui/QGVPage.cpp b/src/Mod/TechDraw/Gui/QGVPage.cpp index b9d6357d92..95e6b4e560 100644 --- a/src/Mod/TechDraw/Gui/QGVPage.cpp +++ b/src/Mod/TechDraw/Gui/QGVPage.cpp @@ -204,7 +204,8 @@ int QGVPage::addQView(QGIView *view) } view->setPos(viewPos); - + view->updateView(true); + return 0; }