bauen der widgets in eigene lib namens gui ausgelagert. Umbau von test_gui in richtung Applikation in CreoMigrateGui

This commit is contained in:
2024-01-17 12:03:58 +01:00
parent b9e69acca9
commit b4eda08674
5 changed files with 392 additions and 23 deletions
+14 -19
View File
@@ -97,6 +97,12 @@ class AllFrames():
def get_controller(self):
return self._controller
def callback(self, key):
controller = self.get_controller()
if controller:
controller.callback(key)
def data_to_model(self, controller):
data = self.get_data()
controller.set_gui_dict(data)
@@ -166,7 +172,7 @@ class RightFrameLabels(AllFrames):
self.teilenummer_text = tk.StringVar()
teilenummer_entry = ttk.Entry(frame, textvariable=self.teilenummer_text)
teilenummer_entry.grid(column=col_left+1, row=self.rownum, sticky=tk.W, padx=5, pady=5)
teilenummer_entry.bind('<<ComboboxSelected>>', self.combo_callback)
teilenummer_entry.bind('<<ComboboxSelected>>', lambda event:self.callback("teilenummer"))
self.rownum += 1
separator2 = ttk.Separator(frame, orient='horizontal')
separator2.grid(column=col_left, columnspan=3, row=self.rownum, sticky=tk.EW, padx=5, pady=5)
@@ -183,11 +189,6 @@ class RightFrameLabels(AllFrames):
if 'teilenummer' in data:
self.teilenummer_text.set(data["teilenummer"])
def combo_callback(self, event):
""" handle the changed event of TK"""
# TODO falls nötig
a = 6
pass
class RightFramePDM(AllFrames):
def __init__(self, frame, nrow=0):
@@ -206,7 +207,7 @@ class RightFramePDM(AllFrames):
pdmkategorie_combo = ttk.Combobox(frame, textvariable=self.pdm_category)
pdmkategorie_combo['values'] = ["Baugruppe", "Einzelteil", "Kaufteil", "NichtSivas", "Normteil", "Schweissbaugruppe"]
pdmkategorie_combo['state'] = 'readonly'
pdmkategorie_combo.bind('<<ComboboxSelected>>', self.combo_callback) # falls nötig
pdmkategorie_combo.bind('<<ComboboxSelected>>', lambda event:self.callback('pdm_kategorie_neu'))
pdmkategorie_combo.grid(column=col_left+2, row=self.rownum, sticky=tk.W, padx=5, pady=5)
self.rownum += 1
@@ -218,7 +219,7 @@ class RightFramePDM(AllFrames):
neuaufbau_checkbutton = ttk.Checkbutton(frame,
text='ja',
variable=self.neuaufbau,
command=self.checkbox_callback,
command=lambda: self.callback("neuaufbau"),
onvalue=True,
offvalue=False)
neuaufbau_checkbutton.grid(column=col_left+2, row=self.rownum, sticky=tk.W, padx=5, pady=5)
@@ -231,7 +232,7 @@ class RightFramePDM(AllFrames):
lebenszyklusstatus_combo = ttk.Combobox(frame, textvariable=self.lebenszyklus_status_neu)
lebenszyklusstatus_combo['values'] = ["Serie", "Prototyp"]
lebenszyklusstatus_combo['state'] = 'readonly'
lebenszyklusstatus_combo.bind('<<ComboboxSelected>>', self.combo_callback)
lebenszyklusstatus_combo.bind('<<ComboboxSelected>>', lambda event:self.callback('lebenszyklus_status_neu'))
lebenszyklusstatus_combo.grid(column=col_left+2, row=self.rownum, sticky=tk.W, padx=5, pady=5)
self.rownum += 1
@@ -242,7 +243,7 @@ class RightFramePDM(AllFrames):
aushalbzeug_checkbuttonr = ttk.Checkbutton(frame,
text='neu',
variable=self.aus_halbzeug_neu,
command=self.checkbox_callback,
command=lambda: self.callback("aus_halbzeug_neu"),
onvalue=True,
offvalue=False)
aushalbzeug_checkbuttonr.grid(column=col_left+2, row=self.rownum, sticky=tk.W, padx=5, pady=5)
@@ -278,12 +279,6 @@ class RightFramePDM(AllFrames):
if 'zusatzinfos_text_neu' in data:
self.zusatzinfos_text.set(data["zusatzinfos_text_neu"])
def combo_callback(self, event):
pass
def checkbox_callback(self):
pass
class App():
@@ -310,7 +305,7 @@ class App():
self.lf1 = LeftFrameAsm(left_frame, 0)
nrows = self.lf1.get_rows()
self.tv = TreeView(left_frame, nrows)
self.lf2 = TreeView(left_frame, nrows)
self.rf0 = RightFrameLabels(right_frame, 0)
nrows = self.rf0.get_rows()
@@ -323,7 +318,7 @@ class App():
""" methode zum auslesen aller Daten der Oberfläche aus dem Modell
"""
self.lf1.data_from_model()
self.tv.data_from_model()
self.lf2.data_from_model()
self.rf0.data_from_model()
self.rf1.data_from_model()
@@ -333,7 +328,7 @@ class App():
self._controller = controller
self.lf1.set_controller(controller)
self.tv.set_controller(controller)
self.lf2.set_controller(controller)
self.rf0.set_controller(controller)
self.rf1.set_controller(controller)