From 419c4f34013a8e322145ca7d6025284ba5674e9f Mon Sep 17 00:00:00 2001 From: WandererFan Date: Mon, 9 Mar 2020 22:51:23 -0400 Subject: [PATCH] [TD]fix Balloon label position --- src/Mod/TechDraw/Gui/QGIViewBalloon.cpp | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/Mod/TechDraw/Gui/QGIViewBalloon.cpp b/src/Mod/TechDraw/Gui/QGIViewBalloon.cpp index 90584d2d76..60d152e454 100644 --- a/src/Mod/TechDraw/Gui/QGIViewBalloon.cpp +++ b/src/Mod/TechDraw/Gui/QGIViewBalloon.cpp @@ -418,6 +418,12 @@ void QGIViewBalloon::updateBalloon(bool obtuse) return; } + const TechDraw::DrawViewPart *refObj = balloon->getViewPart(); + if (refObj == nullptr) { + return; + } + + QFont font = balloonLabel->getFont(); font.setPixelSize(calculateFontPixelSize(vp->Fontsize.getValue())); font.setFamily(QString::fromUtf8(vp->Font.getValue())); @@ -438,7 +444,10 @@ void QGIViewBalloon::updateBalloon(bool obtuse) } balloonLabel->setDimString(labelText, Rez::guiX(balloon->TextWrapLen.getValue())); - balloonLabel->setPosFromCenter(balloonLabel->X(),balloonLabel->Y()); + + float x = Rez::guiX(balloon->X.getValue() * refObj->getScale()); + float y = Rez::guiX(balloon->Y.getValue() * refObj->getScale()); + balloonLabel->setPosFromCenter(x, -y); } void QGIViewBalloon::balloonLabelDragged(bool ctrl) @@ -511,7 +520,7 @@ void QGIViewBalloon::placeBalloon(QPointF pos) return; } - + QGIView* qgivParent = nullptr; QPointF viewPos; Gui::ViewProvider* objVp = QGIView::getViewProvider(balloonParent); @@ -586,7 +595,7 @@ void QGIViewBalloon::draw() float x = Rez::guiX(balloon->X.getValue() * refObj->getScale()); float y = Rez::guiX(balloon->Y.getValue() * refObj->getScale()); Base::Vector3d lblCenter(x, -y, 0.0); - + float arrowTipX = Rez::guiX(balloon->OriginX.getValue() * refObj->getScale()); float arrowTipY = - Rez::guiX(balloon->OriginY.getValue() * refObj->getScale());