From 38544db282ea0839367af1e136114b20263617da Mon Sep 17 00:00:00 2001 From: Yorik van Havre Date: Thu, 1 Jun 2017 14:16:43 -0300 Subject: [PATCH] Draft: Added visual feedback when modifying x,y,z values manually --- src/Mod/Draft/DraftGui.py | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/src/Mod/Draft/DraftGui.py b/src/Mod/Draft/DraftGui.py index 83fbd86cde..4f438ba364 100644 --- a/src/Mod/Draft/DraftGui.py +++ b/src/Mod/Draft/DraftGui.py @@ -1248,12 +1248,13 @@ class DraftToolBar: def apply(self): for i in FreeCADGui.Selection.getSelection(): - Draft.formatObject(i) + Draft.formatObject(i) def checkx(self): if self.yValue.isEnabled(): self.yValue.setFocus() self.yValue.selectAll() + self.updateSnapper() else: self.checky() @@ -1261,12 +1262,14 @@ class DraftToolBar: if self.zValue.isEnabled(): self.zValue.setFocus() self.zValue.selectAll() + self.updateSnapper() else: self.validatePoint() def checkangle(self): self.angleValue.setFocus() self.angleValue.selectAll() + self.updateSnapper() def validatePoint(self): "function for checking and sending numbers entered manually" @@ -1520,6 +1523,23 @@ class DraftToolBar: i.setProperty("text",txt[:-1]) i.setFocus() i.selectAll() + self.updateSnapper() + + def updateSnapper(self): + "updates the snapper track line if applicable" + if hasattr(FreeCADGui,"Snapper"): + if FreeCADGui.Snapper.trackLine: + if FreeCADGui.Snapper.trackLine.Visible: + last = FreeCAD.Vector(0,0,0) + if not self.xValue.isVisible(): + return + if self.isRelative.isChecked(): + if self.sourceCmd: + if hasattr(self.sourceCmd,"node"): + if self.sourceCmd.node: + last = self.sourceCmd.node[-1] + delta = FreeCAD.DraftWorkingPlane.getGlobalCoords(FreeCAD.Vector(self.x,self.y,self.z)) + FreeCADGui.Snapper.trackLine.p2(last.add(delta)) def storeCurrentText(self,qstr): self.currEditText = self.textValue.text()