From 5b2e74c3bd69bb200979592e7ef9d2fa340d1b61 Mon Sep 17 00:00:00 2001 From: Yorik van Havre Date: Tue, 27 Aug 2019 21:29:20 -0300 Subject: [PATCH] Draft: misc small fixes --- src/Mod/Draft/Draft.py | 2 ++ src/Mod/Draft/DraftLayer.py | 14 ++++++++++++++ src/Mod/Draft/DraftTools.py | 3 ++- 3 files changed, 18 insertions(+), 1 deletion(-) diff --git a/src/Mod/Draft/Draft.py b/src/Mod/Draft/Draft.py index bff3d09f2551..72add5cf3f0b 100644 --- a/src/Mod/Draft/Draft.py +++ b/src/Mod/Draft/Draft.py @@ -1648,6 +1648,8 @@ def move(objectslist,vector,copy=False): g = newgroups.setdefault(p.Name,FreeCAD.ActiveDocument.addObject(p.TypeId,p.Name)) g.addObject(newobj) break + if getType(p) == "Layer": + p.Proxy.addObject(p,newobj) if copy and getParam("selectBaseObjects",False): select(objectslist) else: diff --git a/src/Mod/Draft/DraftLayer.py b/src/Mod/Draft/DraftLayer.py index 166e1d0fd264..2233d76e4dfb 100644 --- a/src/Mod/Draft/DraftLayer.py +++ b/src/Mod/Draft/DraftLayer.py @@ -192,6 +192,9 @@ def onChanged(self,vobj,prop): for p in ["LineColor","ShapeColor","LineWidth","DrawStyle","Transparency"]: if hasattr(vobj,p) and hasattr(o.ViewObject,p): setattr(o.ViewObject,p,getattr(vobj,p)) + # give line color to texts + if hasattr(vobj,"LineColor") and hasattr(o.ViewObject,"TextColor"): + o.ViewObject.TextColor = vobj.ShapeColor if (prop == "Visibility") and hasattr(vobj,"Visibility"): if hasattr(vobj,"Object")and hasattr(vobj.Object,"Group"): @@ -268,9 +271,13 @@ def dropObject(self,vobj,otherobj): def setupContextMenu(self,vobj,menu): from PySide import QtCore,QtGui + import Draft_rc action1 = QtGui.QAction(QtGui.QIcon(":/icons/button_right.svg"),translate("draft","Activate this layer"),menu) action1.triggered.connect(self.activate) menu.addAction(action1) + action2 = QtGui.QAction(QtGui.QIcon(":/icons/Draft_SelectGroup.svg"),translate("draft","Select contents"),menu) + action2.triggered.connect(self.selectcontents) + menu.addAction(action2) def activate(self): @@ -279,6 +286,13 @@ def activate(self): FreeCADGui.Selection.addSelection(self.Object) FreeCADGui.runCommand("Draft_AutoGroup") + def selectcontents(self): + + if hasattr(self,"Object"): + FreeCADGui.Selection.clearSelection() + for o in self.Object.Group: + FreeCADGui.Selection.addSelection(o) + class LayerContainer: """The Layer Container""" diff --git a/src/Mod/Draft/DraftTools.py b/src/Mod/Draft/DraftTools.py index 7755ae9d620a..5c6a94bbac9b 100644 --- a/src/Mod/Draft/DraftTools.py +++ b/src/Mod/Draft/DraftTools.py @@ -5638,7 +5638,8 @@ def getPoint(self,point,info): placement = FreeCAD.Placement(e.Curve.Center,rot) start = e.FirstParameter end = e.LastParameter/math.pi*180 - Draft.makeCircle(radius,placement,startangle=start,endangle=end) + c = Draft.makeCircle(radius,placement,startangle=start,endangle=end) + Draft.autogroup(c) self.tracker.off() FreeCAD.ActiveDocument.recompute()