Callbackfunktionen gleich benannt wie die jeweiligen Callbacks. Pflege der DAten beim csv Import immer gleich nach dem Aufruf der Callbackfunktion, da jede Callback auf Daten daraus zugreift

This commit is contained in:
2024-02-06 12:37:28 +01:00
parent 6c1bb728c7
commit 716ff80905
+77 -66
View File
@@ -95,6 +95,7 @@ class Controller():
if loaded_json: if loaded_json:
# falls eine .json Datei dieser ID existiert, dann diese laden # falls eine .json Datei dieser ID existiert, dann diese laden
gui_dict = self.logic.csv2guidata(loaded_csv) gui_dict = self.logic.csv2guidata(loaded_csv)
self.model.set_gui_dict(gui_dict)
else: else:
# ansonsten die .csv Datei mit den SIVAS Infos holen # ansonsten die .csv Datei mit den SIVAS Infos holen
# TODO # TODO
@@ -105,7 +106,6 @@ class Controller():
if not gui_dict: if not gui_dict:
print("no file found "+ cid) print("no file found "+ cid)
else: else:
self.model.set_gui_dict(gui_dict)
self.refresh_gui() self.refresh_gui()
def get_current_item_id(self): def get_current_item_id(self):
@@ -231,18 +231,23 @@ class GuiLogic():
if "Indexerfasser" in data and "Aenderungstext" in data: if "Indexerfasser" in data and "Aenderungstext" in data:
ret["aenderungstext_sivas"] = '{aenderungstext} (von {author})'.format(aenderungstext=data["Aenderungstext"], author=data["Indexerfasser"]) ret["aenderungstext_sivas"] = '{aenderungstext} (von {author})'.format(aenderungstext=data["Aenderungstext"], author=data["Indexerfasser"])
# Indexerfasser wird nicht in der gui verwaltet. Deshalb Modifikation aus den Rohdaten # Indexerfasser wird nicht in der gui verwaltet. Deshalb Modifikation aus den Rohdaten
self.model.set_gui_dict(ret)
# 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) r1 = self.callback("cb_neuaufbau", None)
ret.update(r1) self.model.set_gui_dict(r1)
r2 = self.callback("cb_aus_halbzeug_neu", None) r2 = self.callback("cb_aus_halbzeug_neu", None)
ret.update(r2) self.model.set_gui_dict(r2)
r3 = self.callback("cb_halbzeugoberflaeche", None) r3 = self.callback("cb_halbzeugoberflaeche", None)
ret.update(r3) self.model.set_gui_dict(r3)
r4 = self.callback("cb_halbzeugfarbe", None)
self.model.set_gui_dict(r4)
# add entry dependencies # add entry dependencies
dep = self.entry_dependencies(ret) dep = self.entry_dependencies(ret)
ret.update(dep) self.model.set_gui_dict(dep)
return ret return ret
def entry_dependencies(self, data): def entry_dependencies(self, data):
@@ -253,17 +258,15 @@ class GuiLogic():
"""gibt ein dict zurück, welches neu im Modell gesetzt wird""" """gibt ein dict zurück, welches neu im Modell gesetzt wird"""
if key == 'cb_pdm_kategorie_neu': if key == 'cb_pdm_kategorie_neu':
pass return self.cb_pdm_kategorie_neu(value)
elif key == "cb_halbzeug_neu":
pass
elif key == "cb_halbzeugoberflaeche":
return self.halbzeug_oberflaeche_neu(value)
elif key == "cb_halbzeugfarbe":
return self.halbzeug_farbe_neu(value)
elif key == 'cb_neuaufbau': elif key == 'cb_neuaufbau':
return self.neuaufbau(value) return self.cb_neuaufbau(value)
elif key == 'cb_aus_halbzeug_neu': elif key == 'cb_aus_halbzeug_neu':
return self.aus_halbzeug_neu(value) return self.cb_aus_halbzeug_neu(value)
elif key == "cb_halbzeugoberflaeche":
return self.cb_halbzeugoberflaeche(value)
elif key == "cb_halbzeugfarbe":
return self.cb_halbzeugfarbe(value)
elif key == 'cb_lebenszyklus_status_neu': elif key == 'cb_lebenszyklus_status_neu':
pass pass
elif key == 'cb_3Dmodel_neu': elif key == 'cb_3Dmodel_neu':
@@ -302,7 +305,7 @@ class GuiLogic():
elif key == 'cb_oberflaeche_neu': elif key == 'cb_oberflaeche_neu':
pass pass
elif key == 'cb_farbe_neu': elif key == 'cb_farbe_neu':
return self.farbe(value) return self.cb_farbe_neu(value)
elif key == 'cb_speichern': elif key == 'cb_speichern':
pass pass
elif key == 'cb_migrieren': elif key == 'cb_migrieren':
@@ -313,51 +316,45 @@ class GuiLogic():
pass pass
else: else:
raise Exception("this callback does not exist "+key) raise Exception("this callback does not exist "+key)
def cb_pdm_kategorie_neu(self, selected):
ret = dict()
categories = self.config.Allgemein.get_options("Kategorien")
if selected is None:
ret['pdm_kategorie_neu'] = categories[0]
ret['cb_pdm_kategorie_neu'] = categories
else:
ret['pdm_kategorie_neu'] = selected
return ret
def neuaufbau(self, trueOrfalse): def cb_neuaufbau(self, trueOrfalse):
ret = dict() ret = dict()
pdm_kat = self.model.get_gui_data("pdm_kategorie_neu") pdm_kat = self.model.get_gui_data("pdm_kategorie_neu")
if pdm_kat != "Einzelteil" or pdm_kat != "Kaufteil": if pdm_kat != "Einzelteil" or pdm_kat != "Kaufteil":
ret["neuaufbau"] = False ret["neuaufbau"] = False
return ret return ret
def aus_halbzeug_neu(self, trueOrfalse): def cb_aus_halbzeug_neu(self, trueOrfalse):
ret = dict() ret = dict()
pdm_kat = self.model.get_gui_data("pdm_kategorie_neu") pdm_kat = self.model.get_gui_data("pdm_kategorie_neu")
if pdm_kat == "Einzelteil": if pdm_kat == "Einzelteil":
ret = self.callback("cb_halbzeugoberflaeche", None) pass
else: else:
ret["aus_halbzeug_neu"] = False ret["aus_halbzeug_neu"] = False
return ret return ret
def farbe(self, selected):
farben_alle = self.config.Farben.get_farbauswahl()
farben_elox = self.config.Farben.get_farben_eloxieren()
# setze die Inhalte der abhängigen Comboboxen neu und den Wert im Modell
ret = {
# das Feld selbst mit dem Selektierten beschreiben
'farbe_neu': selected,
# die neuen Inhalte der comboboxen setzen
'cb_farben': farben_alle,
# der angezeigte Wert der Combos sollte anfangs dem ersten der Liste entsprechen
'farbe_neu': farben_alle[0],
}
return ret
def cb_halbzeugoberflaeche(self, selected):
def halbzeug_oberflaeche_neu(self, selected):
ret = dict() ret = dict()
aus_halbzeug = self.model.get_gui_data("aus_halbzeug_neu") aus_halbzeug = self.model.get_gui_data("aus_halbzeug_neu")
if aus_halbzeug == "True": if aus_halbzeug == "True":
oarten = self.config.Oberfläche.get_oberflächen_behandlungen() oarten = self.config.Oberfläche.get_oberflächen_behandlungen()
if not selected is None: if selected is None:
ret['cb_halbzeugoberflaeche'] = selected ret['halbzeugoberflaeche_neu'] = oarten[0]
else: ret['cb_halbzeugoberflaeche'] = oarten
ret = { else:
'halbzeugoberflaeche_neu': oarten[0], ret['halbzeugoberflaeche_neu'] = selected
'cb_halbzeugoberflaeche': oarten,
}
else: else:
ret = { ret = {
'halbzeugoberflaeche_neu': "", 'halbzeugoberflaeche_neu': "",
@@ -365,34 +362,33 @@ class GuiLogic():
} }
return ret return ret
def halbzeug_farbe_neu(self, selected): def cb_halbzeugfarbe(self, selected):
ret = dict() ret = dict()
data = self.model.get_gui_data("halbzeug_farbe_neu") halbzeugoberflaeche = self.model.get_gui_data("halbzeugoberflaeche_neu")
if "halbzeugoberflaeche_neu" in data: aus_halbzeug = self.model.get_gui_data("aus_halbzeug_neu")
halbzeugoberflaeche = data["halbzeugoberflaeche_neu"]
if data["aus_halbzeug_neu"] == True:
if halbzeugoberflaeche == "eloxieren" or halbzeugoberflaeche == "lackieren" or halbzeugoberflaeche == "pulverbeschichten":
if halbzeugoberflaeche == "eloxieren":
farben_elox = self.config.Farben.get_farben_eloxieren()
# setze die Inhalte der abhängigen Comboboxen neu und den Wert im Modell
ret = {
# die neuen Inhalte der comboboxen setzen
'halbzeugfarbe_neu': farben_elox[0],
'cb_halbzeugfarbe': farben_elox,
} # setze die Inhalte der abhängigen Comboboxen neu
elif halbzeugoberflaeche == "lackieren" or halbzeugoberflaeche == "pulverbeschichten": ret = {
farbauswahl = self.config.Farben.get_farbauswahl() 'halbzeugfarbe_neu': '',
# setze die Inhalte der abhängigen Comboboxen neu und den Wert im Modell 'cb_halbzeugfarbe': '',
ret = { }
'halbzeugfarbe_neu': farbauswahl[0], if aus_halbzeug == "True":
'cb_halbzeugfarbe': farbauswahl, if halbzeugoberflaeche == "eloxieren":
} farben_elox = self.config.Farben.get_farben_eloxieren()
if selected is None:
ret['halbzeugfarbe_neu'] = farben_elox[0] # Default, falls nichts gewählt ist
ret['cb_halbzeugfarbe'] = farben_elox # Liste in der Combobox
else: else:
ret["halbzeugoberflaeche_neu"] = '' ret['halbzeugfarbe_neu'] = selected # vom Nutzer ausgewählter Wert
else: elif halbzeugoberflaeche == "lackieren" or halbzeugoberflaeche == "pulverbeschichten":
ret["halbzeugoberflaeche_neu"] = '' farbauswahl = self.config.Farben.get_farbauswahl()
if selected is None:
ret['halbzeugfarbe_neu'] = farbauswahl[0]
ret['cb_halbzeugfarbe'] = farbauswahl
else:
ret['halbzeugfarbe_neu'] = selected
else:
pass
return ret return ret
@@ -453,6 +449,21 @@ class GuiLogic():
# } # }
# return ret # return ret
def cb_farbe_neu(self, selected):
farben_alle = self.config.Farben.get_farbauswahl()
farben_elox = self.config.Farben.get_farben_eloxieren()
# setze die Inhalte der abhängigen Comboboxen neu und den Wert im Modell
ret = {
# das Feld selbst mit dem Selektierten beschreiben
'farbe_neu': selected,
# die neuen Inhalte der comboboxen setzen
'cb_farben': farben_alle,
# der angezeigte Wert der Combos sollte anfangs dem ersten der Liste entsprechen
'farbe_neu': farben_alle[0],
}
return ret
if __name__ == "__main__": if __name__ == "__main__":
pass pass