From b02645a195e4dc95d2aeb54ee606e556553b8175 Mon Sep 17 00:00:00 2001 From: "Morgan 'ARR\\!' Allen" Date: Mon, 7 Apr 2025 20:02:05 -0700 Subject: [PATCH] remove parent api, change Type handling and some setup reordering unsure if the extensions is even going to get used --- freecad/kiconnect/bases/BaseObject.py | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/freecad/kiconnect/bases/BaseObject.py b/freecad/kiconnect/bases/BaseObject.py index 1cfc532..c503004 100644 --- a/freecad/kiconnect/bases/BaseObject.py +++ b/freecad/kiconnect/bases/BaseObject.py @@ -1,23 +1,18 @@ class BaseObject: - def __init__(self, parent, feature): - print(self) - self.parent = parent + TYPE = None + + def __init__(self, feature): + print(self.__class__) self.feature = feature feature.Proxy = self - self.Type = '' + self.setup_properties(feature) + self.setup_extensions(feature) - if hasattr(parent.__class__, 'TYPE'): - self.Type = parent.__class__.TYPE - - self.setup_properties() - self.setup_extensions() + feature.Type = self.TYPE def execute(self, feature): - print('execute', feature.Label, self.Type) - - def setup_properties(self): pass def setup_extensions(self): @@ -31,5 +26,13 @@ class BaseObject: def onChanged(self, feature, prop): pass + def setup_extensions(self, feature): + if hasattr(self, 'EXTENSIONS'): + for ext in self.EXTENSIONS: + self.feature.addExtension(ext) + + def setup_properties(self, feature): + feature.addProperty('App::PropertyString', 'Type', 'KiConnect', 'Internatl KiConnect Type', read_only=True, hidden=True) + def __getstate__(self): return None