From f92ddb961cebef2eecebccc04d822124135b4fc3 Mon Sep 17 00:00:00 2001 From: wandererfan Date: Tue, 29 Jan 2019 16:58:26 -0500 Subject: [PATCH] Hide n/a Rotation property - DPG does not rotate, but shows Rotation property in Property Editor --- src/Mod/TechDraw/App/DrawProjGroup.cpp | 11 ++++++++++- src/Mod/TechDraw/Gui/QGIProjGroup.cpp | 6 ++++++ src/Mod/TechDraw/Gui/QGIProjGroup.h | 2 ++ 3 files changed, 18 insertions(+), 1 deletion(-) diff --git a/src/Mod/TechDraw/App/DrawProjGroup.cpp b/src/Mod/TechDraw/App/DrawProjGroup.cpp index e145d424b3..9cc14cf9a4 100644 --- a/src/Mod/TechDraw/App/DrawProjGroup.cpp +++ b/src/Mod/TechDraw/App/DrawProjGroup.cpp @@ -70,13 +70,15 @@ DrawProjGroup::DrawProjGroup(void) ADD_PROPERTY_TYPE(Source ,(0), group, App::Prop_None,"Shape to view"); Source.setScope(App::LinkScope::Global); ADD_PROPERTY_TYPE(Anchor, (0), group, App::Prop_None, "The root view to align projections with"); - Anchor.setScope(App::LinkScope::Global); + Anchor.setScope(App::LinkScope::Global); ProjectionType.setEnums(ProjectionTypeEnums); ADD_PROPERTY(ProjectionType, ((long)0)); ADD_PROPERTY_TYPE(AutoDistribute ,(autoDist),agroup,App::Prop_None,"Distribute Views Automatically or Manually"); ADD_PROPERTY_TYPE(spacingX, (15), agroup, App::Prop_None, "Horizontal spacing between views"); ADD_PROPERTY_TYPE(spacingY, (15), agroup, App::Prop_None, "Vertical spacing between views"); + Rotation.setStatus(App::Property::Hidden,true); //DPG does not rotate + } DrawProjGroup::~DrawProjGroup() @@ -125,6 +127,13 @@ void DrawProjGroup::onChanged(const App::Property* prop) } } } + if (prop == &Rotation) { + if (!DrawUtil::fpCompare(Rotation.getValue(),0.0)) { + Rotation.setValue(0.0); + purgeTouched(); + Base::Console().Warning("DPG: Projection Groups do not rotate. Change ignored.\n"); + } + } } diff --git a/src/Mod/TechDraw/Gui/QGIProjGroup.cpp b/src/Mod/TechDraw/Gui/QGIProjGroup.cpp index bcc0300210..69a74b38be 100644 --- a/src/Mod/TechDraw/Gui/QGIProjGroup.cpp +++ b/src/Mod/TechDraw/Gui/QGIProjGroup.cpp @@ -213,6 +213,12 @@ void QGIProjGroup::updateView(bool update) return QGIViewCollection::updateView(update); } +//QGIPG does not rotate. Only individual views rotate +void QGIProjGroup::rotateView(void) +{ + Base::Console().Warning("QGIPG: Projection Groups do not rotate. Change ignored\n"); +} + void QGIProjGroup::drawBorder() { //QGIProjGroup does not have a border! diff --git a/src/Mod/TechDraw/Gui/QGIProjGroup.h b/src/Mod/TechDraw/Gui/QGIProjGroup.h index 8a6f3e94e5..0c1c1760c6 100644 --- a/src/Mod/TechDraw/Gui/QGIProjGroup.h +++ b/src/Mod/TechDraw/Gui/QGIProjGroup.h @@ -51,6 +51,8 @@ public: void alignTo(QGIProjGroup *, const QString &alignment); virtual void updateView(bool update = false); + virtual void rotateView(void) override; + virtual void drawBorder(void); protected: