From 357282a1b4c798c810b3444bc3ebcc01feafc4de Mon Sep 17 00:00:00 2001 From: "Zheng, Lei" Date: Mon, 17 Feb 2020 14:50:45 +0800 Subject: [PATCH] assembly: add toggle detach context menu for AsmElement --- freecad/asm3/assembly.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/freecad/asm3/assembly.py b/freecad/asm3/assembly.py index f6fc58f..8bc20d2 100644 --- a/freecad/asm3/assembly.py +++ b/freecad/asm3/assembly.py @@ -1160,6 +1160,24 @@ class ViewProviderAsmElement(ViewProviderAsmOnTop): if prop == 'ShowCS': self.setupAxis() + def setupContextMenu(self,vobj,menu): + obj = vobj.Object + action = QtGui.QAction(QtGui.QIcon(), + "Attach" if obj.Detach else "Detach", menu) + QtCore.QObject.connect( + action,QtCore.SIGNAL("triggered()"),self.toggleDetach) + menu.addAction(action) + + def toggleDetach(self): + obj = self.ViewObject.Object + FreeCAD.setActiveTransaction('Attach element' if obj.Detach else 'Detach element') + try: + obj.Detach = not obj.Detach + FreeCAD.closeActiveTransaction() + except Exception: + FreeCAD.closeActiveTransaction(True) + raise + class AsmElementSketch(AsmElement): def __init__(self,obj,parent):