From c53078482049dc2036b390d424d41dd7c0829bf6 Mon Sep 17 00:00:00 2001 From: "Zheng, Lei" Date: Sat, 1 Dec 2018 19:05:37 +0800 Subject: [PATCH] Early init document observer --- init_gui.py | 9 ++++----- mover.py | 3 +++ 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/init_gui.py b/init_gui.py index 8d75e5b..3abc673 100644 --- a/init_gui.py +++ b/init_gui.py @@ -21,23 +21,23 @@ class Assembly3Workbench(FreeCADGui.Workbench): from .gui import SelectionObserver _observer = SelectionObserver() + from .mover import AsmDocumentObserver + _DocObserver = AsmDocumentObserver() + def __init__(self): - self.docObserver = None + pass def Activated(self): - FreeCAD.addDocumentObserver(self.docObserver) from .gui import AsmCmdManager for cmd in AsmCmdManager.getInfo().Types: cmd.workbenchActivated() def Deactivated(self): - FreeCAD.removeDocumentObserver(self.docObserver) from .gui import AsmCmdManager for cmd in AsmCmdManager.getInfo().Types: cmd.workbenchDeactivated() def Initialize(self): - from .mover import AsmDocumentObserver from .gui import AsmCmdManager,AsmCmdGotoRelation,AsmCmdGotoLinked AsmCmdManager.init() cmdSet = set() @@ -52,7 +52,6 @@ class Assembly3Workbench(FreeCADGui.Workbench): cmdSet.update(cmds) self.appendMenu(name,[cmd.getName() for cmd in cmds]) self._observer.setCommands(cmdSet) - self.docObserver = AsmDocumentObserver() # FreeCADGui.addPreferencePage( # ':/assembly3/ui/assembly3_prefs.ui','Assembly3') diff --git a/mover.py b/mover.py index d65f4b7..ca1c4f7 100644 --- a/mover.py +++ b/mover.py @@ -358,6 +358,9 @@ class AsmQuickMover: class AsmDocumentObserver: _quickMover = None + def __init__(self): + FreeCAD.addDocumentObserver(self) + @classmethod def closeMover(cls): if cls._quickMover: