From e102ab5eca794560bab9b080b8cf8ec3e163e55f Mon Sep 17 00:00:00 2001 From: Yorik van Havre Date: Sat, 24 Mar 2012 11:41:45 -0300 Subject: [PATCH] Using the Arch window tool when a window is selected now produces a clone --- src/Mod/Arch/ArchWindow.py | 4 ++++ src/Mod/Draft/Draft.py | 8 +++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/Mod/Arch/ArchWindow.py b/src/Mod/Arch/ArchWindow.py index 0e9202f84..ce884801d 100644 --- a/src/Mod/Arch/ArchWindow.py +++ b/src/Mod/Arch/ArchWindow.py @@ -33,6 +33,10 @@ __url__ = "http://free-cad.sourceforge.net" def makeWindow(baseobj=None,name="Window"): '''makeWindow(obj,[name]): creates a window based on the given object''' + if baseobj: + if Draft.getType(baseobj) == "Window": + obj = Draft.clone(baseobj) + return obj obj = FreeCAD.ActiveDocument.addObject("Part::FeaturePython",name) _Window(obj) _ViewProviderWindow(obj.ViewObject) diff --git a/src/Mod/Draft/Draft.py b/src/Mod/Draft/Draft.py index e8f25025a..37a7f3148 100644 --- a/src/Mod/Draft/Draft.py +++ b/src/Mod/Draft/Draft.py @@ -1581,8 +1581,11 @@ def clone(obj,delta=None): if not isinstance(obj,list): obj = [obj] cl = FreeCAD.ActiveDocument.addObject("Part::FeaturePython","Clone") + cl.Label = "Clone of " + obj[0].Label _Clone(cl) - _ViewProviderDraftPart(cl.ViewObject) + if gui: + _ViewProviderDraftPart(cl.ViewObject) + formatObject(cl,obj[0]) cl.Objects = obj if delta: cl.Placement.move(delta) @@ -2813,3 +2816,6 @@ class _ViewProviderDraftPart(_ViewProviderDraft): def getIcon(self): return ":/icons/Tree_Part.svg" + def claimChildren(self): + return [] +