set_env und get_env an Controller weitergeben, um Pfade zu erhalten und csv Dateien bzw. lokale Datenbank lesen zu können
This commit is contained in:
+70
-11
@@ -1,7 +1,7 @@
|
|||||||
|
import os
|
||||||
"""
|
"""
|
||||||
Contains the logic for the MVC of CreoMigrate Gui
|
Contains the logic for the MVC of CreoMigrate Gui
|
||||||
"""
|
"""
|
||||||
|
|
||||||
# Infos und Fehlermeldungen die ausgelöst werden können
|
# Infos und Fehlermeldungen die ausgelöst werden können
|
||||||
messages = {
|
messages = {
|
||||||
"rüstcode_infos": 'Bitte Rüstcode auswählen!',
|
"rüstcode_infos": 'Bitte Rüstcode auswählen!',
|
||||||
@@ -72,9 +72,12 @@ gui_data_keys = [
|
|||||||
"zusatzinfos_auto_text",
|
"zusatzinfos_auto_text",
|
||||||
"zusatzinfos_bendef_text",
|
"zusatzinfos_bendef_text",
|
||||||
# Felder der Comboboxen. benannt wie deren callbacks
|
# Felder der Comboboxen. benannt wie deren callbacks
|
||||||
|
"cb_pdm_kategorie_neu",
|
||||||
|
"cb_halbzeug_neu",
|
||||||
|
"cb_halbzeugoberflaeche",
|
||||||
|
"cb_halbzeugfarbe",
|
||||||
"cb_lebenszyklus_status_neu",
|
"cb_lebenszyklus_status_neu",
|
||||||
"cb_3Dmodel_neu",
|
"cb_3Dmodel_neu",
|
||||||
"cb_pdm_kategorie_neu",
|
|
||||||
"cb_halbzeugOhneSaege_neu",
|
"cb_halbzeugOhneSaege_neu",
|
||||||
"cb_ruestcode_neu",
|
"cb_ruestcode_neu",
|
||||||
"cb_fertigungsart_neu",
|
"cb_fertigungsart_neu",
|
||||||
@@ -83,20 +86,18 @@ gui_data_keys = [
|
|||||||
"cb_kalkulationsart_neu",
|
"cb_kalkulationsart_neu",
|
||||||
"cb_beschaffungsart_neu",
|
"cb_beschaffungsart_neu",
|
||||||
"cb_mengeneinheit_neu",
|
"cb_mengeneinheit_neu",
|
||||||
"cb_halbzeug_neu",
|
|
||||||
"cb_dispogruppe_neu",
|
"cb_dispogruppe_neu",
|
||||||
"cb_dispolaufgruppe_neu",
|
"cb_dispolaufgruppe_neu",
|
||||||
"cb_hersteller_neu",
|
"cb_hersteller_neu",
|
||||||
"cb_werkstofftyp_neu",
|
"cb_werkstofftyp_neu",
|
||||||
"cb_material_neu",
|
"cb_material_neu",
|
||||||
"cb_oberflaeche_neu",
|
"cb_oberflaeche_neu",
|
||||||
"cb_farbe_neu",
|
"cb_farbe_neu",
|
||||||
# Buttons
|
# buttons
|
||||||
"cb_suche_asm",
|
|
||||||
"cb_speichern",
|
"cb_speichern",
|
||||||
"cb_migrieren",
|
"cb_migrieren",
|
||||||
"cb_zurücksetzen",
|
"cb_zurücksetzen",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
class Controller():
|
class Controller():
|
||||||
@@ -109,6 +110,25 @@ class Controller():
|
|||||||
self.set_model(model)
|
self.set_model(model)
|
||||||
self.set_view(view)
|
self.set_view(view)
|
||||||
self.logic = None
|
self.logic = None
|
||||||
|
self.env = None
|
||||||
|
|
||||||
|
def set_env(self, env):
|
||||||
|
self.environment = env
|
||||||
|
|
||||||
|
def get_env(self, env_path):
|
||||||
|
if self.environment == None:
|
||||||
|
raise Exception("No environment set")
|
||||||
|
if env_path == "lib":
|
||||||
|
ret = self.environment.lib_dir
|
||||||
|
elif env_path == "data":
|
||||||
|
ret = self.environment.data_dir
|
||||||
|
elif env_path == "out":
|
||||||
|
ret = self.environment.out_dir
|
||||||
|
elif env_path == "cfg":
|
||||||
|
ret = self.environment.cfg_dir
|
||||||
|
else:
|
||||||
|
raise Exception("this path is not defined "+env_path)
|
||||||
|
return ret
|
||||||
|
|
||||||
def add_logic(self, logic):
|
def add_logic(self, logic):
|
||||||
self.logic = logic
|
self.logic = logic
|
||||||
@@ -264,11 +284,34 @@ class GuiLogic():
|
|||||||
if k in self.excel_to_gui and v is not None:
|
if k in self.excel_to_gui and v is not None:
|
||||||
ret[self.excel_to_gui[k]] = v
|
ret[self.excel_to_gui[k]] = v
|
||||||
|
|
||||||
# Spezial: Befüllung von Änderungstext mit dem Author, falls vorhanden
|
# Spezial: Befüllung von Änderungstext mit dem Author, falls in der .csv vorhanden
|
||||||
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
|
||||||
|
|
||||||
|
# set defaults from given logic
|
||||||
|
r1 = self.callback("cb_neuaufbau", None)
|
||||||
|
ret.update(r1)
|
||||||
|
r2 = self.callback("cb_aus_halbzeug_neu", None)
|
||||||
|
ret.update(r2)
|
||||||
|
|
||||||
|
# add entry dependencies
|
||||||
|
dep = self.entry_dependencies(ret)
|
||||||
|
ret.update(dep)
|
||||||
return ret
|
return ret
|
||||||
|
|
||||||
|
def entry_dependencies(self, data):
|
||||||
|
ret = dict()
|
||||||
|
|
||||||
|
halbzeugoberflaeche = data["halbzeugoberflaeche_neu"]
|
||||||
|
if data["aus_halbzeug_neu"] == True:
|
||||||
|
if halbzeugoberflaeche == "eloxieren" or halbzeugoberflaeche == "lackieren" or halbzeugoberflaeche == "pulverbeschichten":
|
||||||
|
pass
|
||||||
|
else:
|
||||||
|
ret["halbzeugoberflaeche_neu"] = ''
|
||||||
|
else:
|
||||||
|
ret["halbzeugoberflaeche_neu"] = ''
|
||||||
|
return ret
|
||||||
|
|
||||||
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"""
|
||||||
@@ -277,9 +320,9 @@ class GuiLogic():
|
|||||||
if key == 'cb_pdm_kategorie_neu':
|
if key == 'cb_pdm_kategorie_neu':
|
||||||
pass
|
pass
|
||||||
elif key == 'cb_neuaufbau':
|
elif key == 'cb_neuaufbau':
|
||||||
pass
|
return self.neuaufbau(value)
|
||||||
elif key == 'cb_aus_halbzeug_neu':
|
elif key == 'cb_aus_halbzeug_neu':
|
||||||
pass
|
return self.aus_halbzeug_neu(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':
|
||||||
@@ -317,7 +360,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':
|
||||||
self.farbe(value)
|
return self.farbe(value)
|
||||||
elif key == 'cb_speichern':
|
elif key == 'cb_speichern':
|
||||||
pass
|
pass
|
||||||
elif key == 'cb_migrieren':
|
elif key == 'cb_migrieren':
|
||||||
@@ -329,6 +372,22 @@ class GuiLogic():
|
|||||||
else:
|
else:
|
||||||
raise Exception("this callback does not exist "+key)
|
raise Exception("this callback does not exist "+key)
|
||||||
|
|
||||||
|
def neuaufbau(self, trueOrfalse):
|
||||||
|
ret = dict()
|
||||||
|
pdm_kat = self.model.get_gui_data("pdm_kategorie_neu")
|
||||||
|
if pdm_kat != "Einzelteil" or pdm_kat != "Kaufteil":
|
||||||
|
ret["neuaufbau"] = False
|
||||||
|
return ret
|
||||||
|
|
||||||
|
def aus_halbzeug_neu(self, trueOrfalse):
|
||||||
|
ret = dict()
|
||||||
|
pdm_kat = self.model.get_gui_data("pdm_kategorie_neu")
|
||||||
|
if pdm_kat == "Einzelteil":
|
||||||
|
pass
|
||||||
|
else:
|
||||||
|
ret["aus_halbzeug_neu"] = False
|
||||||
|
return ret
|
||||||
|
|
||||||
def werkstofftyp(self, selected_werkstoff):
|
def werkstofftyp(self, selected_werkstoff):
|
||||||
"""bekommt Aluminium, Stahl etc. und setzt dann die anderen Felder der Oberfläche"""
|
"""bekommt Aluminium, Stahl etc. und setzt dann die anderen Felder der Oberfläche"""
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user