From 764a3113b89bc6a03985a1846cc2d58a7f17fe17 Mon Sep 17 00:00:00 2001 From: wandererfan Date: Fri, 5 Apr 2019 10:30:14 -0400 Subject: [PATCH] DrawBalloon clean up - resolve linker errors after merge - expose useful properties - resolve "ambiguous ancestor" messages after merge --- src/Mod/TechDraw/App/DrawViewBalloon.cpp | 14 +++++++------- src/Mod/TechDraw/Gui/CMakeLists.txt | 1 + src/Mod/TechDraw/Gui/QGIView.cpp | 6 +++--- src/Mod/TechDraw/Gui/QGIView.h | 4 +++- src/Mod/TechDraw/Gui/QGIViewBalloon.cpp | 14 +++++++++----- src/Mod/TechDraw/Gui/QGIViewBalloon.h | 3 ++- src/Mod/TechDraw/Gui/QGIViewDimension.h | 2 +- 7 files changed, 26 insertions(+), 18 deletions(-) diff --git a/src/Mod/TechDraw/App/DrawViewBalloon.cpp b/src/Mod/TechDraw/App/DrawViewBalloon.cpp index 105416535c..28f9807422 100644 --- a/src/Mod/TechDraw/App/DrawViewBalloon.cpp +++ b/src/Mod/TechDraw/App/DrawViewBalloon.cpp @@ -98,19 +98,19 @@ DrawViewBalloon::DrawViewBalloon(void) ADD_PROPERTY_TYPE(TextWrapLen,(-1),"",(App::PropertyType)(App::Prop_None),"Balloon symbol scale"); - OriginX.setStatus(App::Property::Hidden,false); - OriginY.setStatus(App::Property::Hidden,false); +// OriginX.setStatus(App::Property::Hidden,false); +// OriginY.setStatus(App::Property::Hidden,false); OriginIsSet.setStatus(App::Property::Hidden,false); OriginIsSet.setStatus(App::Property::ReadOnly,true); sourceView.setScope(App::LinkScope::Global); - sourceView.setStatus(App::Property::Hidden,true); +// sourceView.setStatus(App::Property::Hidden,true); Rotation.setStatus(App::Property::Hidden,true); - ScaleType.setStatus(App::Property::Hidden,true); - Scale.setStatus(App::Property::Hidden,true); +// ScaleType.setStatus(App::Property::Hidden,true); +// Scale.setStatus(App::Property::Hidden,true); Caption.setStatus(App::Property::Hidden,true); - X.setStatus(App::Property::Hidden,true); - Y.setStatus(App::Property::Hidden,true); +// X.setStatus(App::Property::Hidden,true); +// Y.setStatus(App::Property::Hidden,true); } DrawViewBalloon::~DrawViewBalloon() diff --git a/src/Mod/TechDraw/Gui/CMakeLists.txt b/src/Mod/TechDraw/Gui/CMakeLists.txt index 169667a13d..f947127b92 100644 --- a/src/Mod/TechDraw/Gui/CMakeLists.txt +++ b/src/Mod/TechDraw/Gui/CMakeLists.txt @@ -29,6 +29,7 @@ set(TechDrawGui_MOC_HDRS QGITemplate.h QGISVGTemplate.h QGIDrawingTemplate.h + QGIView.h QGIViewDimension.h QGIViewBalloon.h TaskProjGroup.h diff --git a/src/Mod/TechDraw/Gui/QGIView.cpp b/src/Mod/TechDraw/Gui/QGIView.cpp index 3626b85181..30dd070f91 100644 --- a/src/Mod/TechDraw/Gui/QGIView.cpp +++ b/src/Mod/TechDraw/Gui/QGIView.cpp @@ -48,13 +48,11 @@ #include #include - #include "Rez.h" #include "ZVALUE.h" #include "DrawGuiUtil.h" #include "QGCustomBorder.h" #include "QGCustomLabel.h" -#include "QGIView.h" #include "QGCustomBorder.h" #include "QGCustomLabel.h" #include "QGCustomText.h" @@ -71,11 +69,12 @@ #include #include +#include "QGIView.h" + using namespace TechDrawGui; const float labelCaptionFudge = 0.2f; // temp fiddle for devel - QGIView::QGIView() :QGraphicsItemGroup(), viewObj(nullptr), @@ -625,3 +624,4 @@ void QGIView::makeMark(Base::Vector3d v) makeMark(v.x,v.y); } +#include diff --git a/src/Mod/TechDraw/Gui/QGIView.h b/src/Mod/TechDraw/Gui/QGIView.h index 5ca539657c..178710d1b7 100644 --- a/src/Mod/TechDraw/Gui/QGIView.h +++ b/src/Mod/TechDraw/Gui/QGIView.h @@ -26,6 +26,7 @@ #include #include #include +#include #include #include @@ -49,8 +50,9 @@ class MDIViewPage; class QGIViewClip; class QGCustomImage; -class TechDrawGuiExport QGIView : public QGraphicsItemGroup +class TechDrawGuiExport QGIView : public QObject, public QGraphicsItemGroup { + Q_OBJECT public: QGIView(); virtual ~QGIView(); diff --git a/src/Mod/TechDraw/Gui/QGIViewBalloon.cpp b/src/Mod/TechDraw/Gui/QGIViewBalloon.cpp index aaf4c88199..af42415181 100644 --- a/src/Mod/TechDraw/Gui/QGIViewBalloon.cpp +++ b/src/Mod/TechDraw/Gui/QGIViewBalloon.cpp @@ -152,18 +152,22 @@ void QGIViewBalloon::connect(QGIView *parent) void QGIViewBalloon::parentViewMousePressed(QGIView *view, QPointF pos) { - Q_UNUSED(view); //Base::Console().Message("%s::parentViewMousePressed from %s\n", this->getViewName(), view->getViewName()); + onAttachPointPicked(view, pos); +} + +void QGIViewBalloon::onAttachPointPicked(QGIView *view, QPointF pos) +{ + Q_UNUSED(view); + auto balloon( dynamic_cast(getViewObject()) ); + if( balloon == nullptr ) + return; auto vp = static_cast(getViewProvider(getViewObject())); if ( vp == nullptr ) { return; } - auto balloon( dynamic_cast(getViewObject()) ); - if( balloon == nullptr ) - return; - auto bnd = boost::bind(&QGIViewBalloon::parentViewMousePressed, this, _1, _2); if (balloon->OriginIsSet.getValue() == false) { diff --git a/src/Mod/TechDraw/Gui/QGIViewBalloon.h b/src/Mod/TechDraw/Gui/QGIViewBalloon.h index 28880e2d2c..95f04144f9 100644 --- a/src/Mod/TechDraw/Gui/QGIViewBalloon.h +++ b/src/Mod/TechDraw/Gui/QGIViewBalloon.h @@ -54,7 +54,7 @@ class QGIViewBalloon; //******************************************************************* -class TechDrawGuiExport QGIViewBalloon : public QObject, public QGIView +class TechDrawGuiExport QGIViewBalloon : public QGIView { Q_OBJECT @@ -89,6 +89,7 @@ protected: void draw() override; virtual QVariant itemChange( GraphicsItemChange change, const QVariant &value ) override; + void onAttachPointPicked(QGIView *view, QPointF pos); virtual void setSvgPens(void); virtual void setPens(void); QString getPrecision(void); diff --git a/src/Mod/TechDraw/Gui/QGIViewDimension.h b/src/Mod/TechDraw/Gui/QGIViewDimension.h index 14b5c3c611..4d3c41dddf 100644 --- a/src/Mod/TechDraw/Gui/QGIViewDimension.h +++ b/src/Mod/TechDraw/Gui/QGIViewDimension.h @@ -114,7 +114,7 @@ private: //******************************************************************* -class TechDrawGuiExport QGIViewDimension : public QObject, public QGIView +class TechDrawGuiExport QGIViewDimension : public QGIView { Q_OBJECT