From b4d90562c104719552c571d28aaeb4ab502c1e96 Mon Sep 17 00:00:00 2001 From: Russell Johnson <47639332+Russ4262@users.noreply.github.com> Date: Wed, 26 May 2021 23:02:57 -0500 Subject: [PATCH] Path: Prioritize `self.parent` and `self.obj` declarations This prioritization and conversion of `self.parent` declaration allows for removal of the `setParent()` method. --- src/Mod/Path/PathScripts/PathOpGui.py | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/src/Mod/Path/PathScripts/PathOpGui.py b/src/Mod/Path/PathScripts/PathOpGui.py index 6fcdf86e54..9d9ef3d4dd 100644 --- a/src/Mod/Path/PathScripts/PathOpGui.py +++ b/src/Mod/Path/PathScripts/PathOpGui.py @@ -214,11 +214,6 @@ class TaskPanelPage(object): def _installTCUpdate(self): return hasattr(self.form, 'toolController') - def setParent(self, parent): - '''setParent() ... used to transfer parent object link to child class. - Do not overwrite.''' - self.parent = parent - def onDirtyChanged(self, callback): '''onDirtyChanged(callback) ... set callback when dirty state changes.''' self.signalDirtyChanged = callback @@ -1000,8 +995,10 @@ class TaskPanel(object): def __init__(self, obj, deleteOnReject, opPage, selectionFactory): PathLog.track(obj.Label, deleteOnReject, opPage, selectionFactory) FreeCAD.ActiveDocument.openTransaction(translate("Path", "AreaOp Operation")) + self.obj = obj self.deleteOnReject = deleteOnReject self.featurePages = [] + self.parent = None # members initialized later self.clearanceHeight = None @@ -1050,9 +1047,9 @@ class TaskPanel(object): self.featurePages.append(opPage) for page in self.featurePages: + page.parent = self # save pointer to this current class as "parent" page.initPage(obj) page.onDirtyChanged(self.pageDirtyChanged) - page.setParent(self) taskPanelLayout = PathPreferences.defaultTaskPanelLayout() @@ -1092,7 +1089,6 @@ class TaskPanel(object): self.form = forms self.selectionFactory = selectionFactory - self.obj = obj self.isdirty = deleteOnReject self.visibility = obj.ViewObject.Visibility obj.ViewObject.Visibility = True