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
|
||||
"""
|
||||
|
||||
# Infos und Fehlermeldungen die ausgelöst werden können
|
||||
messages = {
|
||||
"rüstcode_infos": 'Bitte Rüstcode auswählen!',
|
||||
@@ -72,9 +72,12 @@ gui_data_keys = [
|
||||
"zusatzinfos_auto_text",
|
||||
"zusatzinfos_bendef_text",
|
||||
# Felder der Comboboxen. benannt wie deren callbacks
|
||||
"cb_pdm_kategorie_neu",
|
||||
"cb_halbzeug_neu",
|
||||
"cb_halbzeugoberflaeche",
|
||||
"cb_halbzeugfarbe",
|
||||
"cb_lebenszyklus_status_neu",
|
||||
"cb_3Dmodel_neu",
|
||||
"cb_pdm_kategorie_neu",
|
||||
"cb_halbzeugOhneSaege_neu",
|
||||
"cb_ruestcode_neu",
|
||||
"cb_fertigungsart_neu",
|
||||
@@ -83,20 +86,18 @@ gui_data_keys = [
|
||||
"cb_kalkulationsart_neu",
|
||||
"cb_beschaffungsart_neu",
|
||||
"cb_mengeneinheit_neu",
|
||||
"cb_halbzeug_neu",
|
||||
"cb_dispogruppe_neu",
|
||||
"cb_dispolaufgruppe_neu",
|
||||
"cb_hersteller_neu",
|
||||
"cb_werkstofftyp_neu",
|
||||
"cb_material_neu",
|
||||
"cb_oberflaeche_neu",
|
||||
"cb_farbe_neu",
|
||||
# Buttons
|
||||
"cb_suche_asm",
|
||||
"cb_farbe_neu",
|
||||
# buttons
|
||||
"cb_speichern",
|
||||
"cb_migrieren",
|
||||
"cb_zurücksetzen",
|
||||
]
|
||||
]
|
||||
|
||||
|
||||
class Controller():
|
||||
@@ -109,6 +110,25 @@ class Controller():
|
||||
self.set_model(model)
|
||||
self.set_view(view)
|
||||
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):
|
||||
self.logic = logic
|
||||
@@ -264,11 +284,34 @@ class GuiLogic():
|
||||
if k in self.excel_to_gui and v is not None:
|
||||
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:
|
||||
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
|
||||
|
||||
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):
|
||||
"""gibt ein dict zurück, welches neu im Modell gesetzt wird"""
|
||||
@@ -277,9 +320,9 @@ class GuiLogic():
|
||||
if key == 'cb_pdm_kategorie_neu':
|
||||
pass
|
||||
elif key == 'cb_neuaufbau':
|
||||
pass
|
||||
return self.neuaufbau(value)
|
||||
elif key == 'cb_aus_halbzeug_neu':
|
||||
pass
|
||||
return self.aus_halbzeug_neu(value)
|
||||
elif key == 'cb_lebenszyklus_status_neu':
|
||||
pass
|
||||
elif key == 'cb_3Dmodel_neu':
|
||||
@@ -317,7 +360,7 @@ class GuiLogic():
|
||||
elif key == 'cb_oberflaeche_neu':
|
||||
pass
|
||||
elif key == 'cb_farbe_neu':
|
||||
self.farbe(value)
|
||||
return self.farbe(value)
|
||||
elif key == 'cb_speichern':
|
||||
pass
|
||||
elif key == 'cb_migrieren':
|
||||
@@ -329,6 +372,22 @@ class GuiLogic():
|
||||
else:
|
||||
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):
|
||||
"""bekommt Aluminium, Stahl etc. und setzt dann die anderen Felder der Oberfläche"""
|
||||
|
||||
|
||||
Reference in New Issue
Block a user