create_gui_dependencies mit eval implementiert. Spart Schreibarbeit und ermöglicht es Callbackfunktionen über Einfache Aufrufe mit den Namen der Callbackfunktionen zu tätigen

This commit is contained in:
2024-02-08 16:02:25 +01:00
parent bd4b8d297e
commit e082dec1e1
+26 -25
View File
@@ -102,6 +102,7 @@ class Controller():
else: else:
# und diese in der Gui setzen # und diese in der Gui setzen
set_data = self.model.csv2guidata(loaded) set_data = self.model.csv2guidata(loaded)
self.logic.create_gui_dependencies()
self.refresh_gui() self.refresh_gui()
def get_current_item_id(self): def get_current_item_id(self):
@@ -184,35 +185,32 @@ class GuiLogic():
self.config = configs self.config = configs
# hier sind alle Callbacks bzw. deren Comboboxen # hier sind alle Callbacks bzw. deren Comboboxen
def create_gui_dependencies(self, data): def create_gui_dependencies(self):
# set defaults from given logic # set defaults from given logic
# r0 = self.callback("cb_pdm_kategorie_neu", None)
# self.model.set_gui_dict(r0)
# r1 = self.callback("cb_neuaufbau", None)
# self.model.set_gui_dict(r1)
# r2 = self.callback("cb_aus_halbzeug_neu", None)
# self.model.set_gui_dict(r2)
# r3 = self.callback("cb_halbzeugoberflaeche", None)
# self.model.set_gui_dict(r3)
# r4 = self.callback("cb_halbzeugfarbe", None)
# self.model.set_gui_dict(r4)
value = None value = None
r = self.cb_pdm_kategorie_neu(value) # r = self.cb_pdm_kategorie_neu(value)
self.model.set_gui_dict(r) # self.model.set_gui_dict(r)
r= self.cb_neuaufbau(value) # r= self.cb_neuaufbau(value)
self.model.set_gui_dict(r) # self.model.set_gui_dict(r)
r= self.cb_aus_halbzeug_neu(value) # r= self.cb_aus_halbzeug_neu(value)
self.model.set_gui_dict(r) # self.model.set_gui_dict(r)
r= self.cb_halbzeugoberflaeche(value) # # r= self.cb_lebenszyklus_status_neu(value)
self.model.set_gui_dict(r) # # self.model.set_gui_dict(r)
r= self.cb_halbzeugfarbe(value) # r= self.cb_halbzeugoberflaeche(value)
self.model.set_gui_dict(r) # self.model.set_gui_dict(r)
r= self.cb_lebenszyklus_status_neu(value) # r= self.cb_halbzeugfarbe(value)
self.model.set_gui_dict(r) # self.model.set_gui_dict(r)
r= self.cb_3Dmodel_neu(value) # # r= self.cb_3Dmodel_neu(value)
self.model.set_gui_dict(r) # # self.model.set_gui_dict(r)
self.call_and_set_data('cb_pdm_kategorie_neu')
self.call_and_set_data('cb_neuaufbau')
self.call_and_set_data('cb_aus_halbzeug_neu')
self.call_and_set_data('cb_halbzeugoberflaeche')
def call_and_set_data(self, callbackfunc):
eval('self.model.set_gui_dict(self.'+callbackfunc+'(None))')
def callback(self, key, value): def callback(self, key, value):
"""gibt ein dict zurück, welches neu im Modell gesetzt wird""" """gibt ein dict zurück, welches neu im Modell gesetzt wird"""
@@ -278,6 +276,9 @@ class GuiLogic():
raise Exception("this callback does not exist "+key) raise Exception("this callback does not exist "+key)
def cb_pdm_kategorie_neu(self, selected): def cb_pdm_kategorie_neu(self, selected):
"""setzt die Dropdownliste mit
<undefiniert>, Baugruppe, Einzelteil, Kaufteil, Schweissbaugruppe
"""
ret = dict() ret = dict()
categories = self.config.Allgemein.get_options("Kategorien") categories = self.config.Allgemein.get_options("Kategorien")
if selected is None: if selected is None: