From 1e7aa621f17332bb5a2c1fa72ddc8493d6f045b2 Mon Sep 17 00:00:00 2001 From: WandererFan Date: Tue, 9 Jan 2018 18:59:39 -0500 Subject: [PATCH] Allow View Position to be Locked - prevents accidently moving View A from desired position while grabbing/dragging View B. --- src/Mod/TechDraw/App/DrawView.cpp | 1 + src/Mod/TechDraw/App/DrawView.h | 1 + src/Mod/TechDraw/Gui/QGIView.cpp | 5 +++++ 3 files changed, 7 insertions(+) diff --git a/src/Mod/TechDraw/App/DrawView.cpp b/src/Mod/TechDraw/App/DrawView.cpp index 5f73778173..abc2fb46ef 100644 --- a/src/Mod/TechDraw/App/DrawView.cpp +++ b/src/Mod/TechDraw/App/DrawView.cpp @@ -76,6 +76,7 @@ DrawView::DrawView(void) ADD_PROPERTY_TYPE(X ,(0),group,App::Prop_None,"X position of the view on the page in modelling units (mm)"); ADD_PROPERTY_TYPE(Y ,(0),group,App::Prop_None,"Y position of the view on the page in modelling units (mm)"); + ADD_PROPERTY_TYPE(LockPosition ,(false),group,App::Prop_None,"Prevent View from moving in Gui"); ADD_PROPERTY_TYPE(Rotation ,(0),group,App::Prop_None,"Rotation of the view on the page in degrees counterclockwise"); ScaleType.setEnums(ScaleTypeEnums); diff --git a/src/Mod/TechDraw/App/DrawView.h b/src/Mod/TechDraw/App/DrawView.h index 985aee523e..b427e12215 100644 --- a/src/Mod/TechDraw/App/DrawView.h +++ b/src/Mod/TechDraw/App/DrawView.h @@ -50,6 +50,7 @@ public: App::PropertyFloat X; App::PropertyFloat Y; + App::PropertyBool LockPosition; App::PropertyFloatConstraint Scale; App::PropertyEnumeration ScaleType; diff --git a/src/Mod/TechDraw/Gui/QGIView.cpp b/src/Mod/TechDraw/Gui/QGIView.cpp index ae1020c194..4877495c24 100644 --- a/src/Mod/TechDraw/Gui/QGIView.cpp +++ b/src/Mod/TechDraw/Gui/QGIView.cpp @@ -257,6 +257,11 @@ double QGIView::getYInClip(double y) void QGIView::updateView(bool update) { + if (getViewObject()->LockPosition.getValue()) { + setFlag(QGraphicsItem::ItemIsMovable, false); + } else { + setFlag(QGraphicsItem::ItemIsMovable, true); + } if (update || getViewObject()->X.isTouched() || getViewObject()->Y.isTouched()) {