Abstrakte Klasse hinzugefügt um nur noch die unterschiedlichen Widgets in den Klassen bauen zu müssen.

This commit is contained in:
2024-01-15 17:31:55 +01:00
parent 26f1820a72
commit 404e241ba0
+16 -32
View File
@@ -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,18 +95,14 @@ 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
@@ -145,27 +142,16 @@ 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
@@ -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):