From 404e241ba01d7df53e052d0ad1542234c74db539 Mon Sep 17 00:00:00 2001 From: mistangl Date: Mon, 15 Jan 2024 17:31:55 +0100 Subject: [PATCH] =?UTF-8?q?Abstrakte=20Klasse=20hinzugef=C3=BCgt=20um=20nu?= =?UTF-8?q?r=20noch=20die=20unterschiedlichen=20Widgets=20in=20den=20Klass?= =?UTF-8?q?en=20bauen=20zu=20m=C3=BCssen.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/CreoMigrateGui.py | 48 +++++++++++++++---------------------------- 1 file changed, 16 insertions(+), 32 deletions(-) diff --git a/lib/CreoMigrateGui.py b/lib/CreoMigrateGui.py index 914a15b..274dcd7 100644 --- a/lib/CreoMigrateGui.py +++ b/lib/CreoMigrateGui.py @@ -78,13 +78,14 @@ class TreeView(): return self.tree class AllRightFrames(): - def __init__(self, frame, nrow=0): - self.frame = frame - self.build_widgets() + """ enthält alle gleichen Methoden für die Widgets in der rechte Spalte + """ + def __init__(self, nrow=0): self.set_start_rwo(nrow) def get_rows(self): return self.rownum + def set_start_rwo(self, nrow): if nrow < 0: raise Exception("this row can not be set") @@ -94,19 +95,15 @@ class AllRightFrames(): data = self.get_data() controller.set_gui_dict(data) -class RightFrameLabels(): + def data_to_model(self, controller, key, value): + controller.set_gui_data(key, value) + +class RightFrameLabels(AllRightFrames): def __init__(self, frame, nrow=0): + AllRightFrames.__init__(self, nrow) self.frame = frame self.build_widgets() - self.set_start_rwo(nrow) - def get_rows(self): - return self.rownum - def set_start_rwo(self, nrow): - if nrow < 0: - raise Exception("this row can not be set") - self.rownum = nrow - def build_widgets(self): frame = self.frame self.rownum = 0 @@ -145,28 +142,17 @@ class RightFrameLabels(): "teilennummer": self.teilenummer_text.get(), } - def data_to_model(self, controller): - data = self.get_data() - controller.set_gui_dict(data) - def data_from_model(self, controller): data = controller.get_all_gui_data() if 'teilenummer' in data: self.teilenummer_text.set(data["teilenummer"]) -class RightFramePDM(): +class RightFramePDM(AllRightFrames): def __init__(self, frame, nrow=0): + AllRightFrames.__init__(self, nrow) self.frame = frame self.build_widgets() - self.set_start_rwo(nrow) - def get_rows(self): - return self.rownum - def set_start_rwo(self, nrow): - if nrow < 0: - raise Exception("this row can not be set") - self.rownum = nrow - def build_widgets(self): frame = self.frame self.rownum = 4 @@ -235,13 +221,6 @@ class RightFramePDM(): "zusatzinfos_txt_neu": self.zusatzinfos_text.get(), } - def data_to_model(self, controller): - data = self.get_data() - controller.set_gui_dict(data) - - def data_to_model(self, controller, key, value): - controller.set_gui_data(key, value) - def data_from_model(self, controller): data = controller.get_all_gui_data() if 'pdm_kategorie_neu' in data: @@ -264,6 +243,7 @@ class RightFramePDM(): class App(): def __init__(self, root): + """Standardgui mit Baum zur Anwahl der Teile des Assemblies""" self.root = root @@ -295,12 +275,16 @@ class App(): # TODO usw. def data_from_model(self): + """ methode zum auslesen aller Daten der Oberfläche aus dem Modell + """ self.tv.data_from_model(self.controller) self.rf0.data_from_model(self.controller) self.rf1.data_from_model(self.controller) def set_controller(self, controller): + # merken des Handels auf den Controller self.controller = controller + # der Tree braucht aufgrund des Callbacks der Selektion auch einen Verweis self.tv.set_controller(controller) def mainloop(self):