clear funktionen für die gesamte Oberfläche implementiert. Zuruecksetzen Knopf implementiert. Combo Felder immer readonly gesetzt

This commit is contained in:
2024-03-11 17:42:59 +01:00
parent f0370fa5cd
commit f471138b96
3 changed files with 155 additions and 30 deletions
+16 -17
View File
@@ -343,7 +343,6 @@ class CadItem(DataModel):
translated_data["aenderungstext_sivas"] = default
translated_data = self._transform_content_from_csv(translated_data)
self.set_gui_dict(translated_data)
return translated_data
def get_child_of_id(self, sivasId):
@@ -786,7 +785,7 @@ class GuiLogic():
if pdm_kat != "Einzelteil" and pdm_kat != "Kaufteil":
self.set_state('neuaufbau', 'disabled')
else:
self.set_state('neuaufbau', 'normal')
self.set_state('neuaufbau', 'readonly')
if selected is None:
# Default Vorbelegung
@@ -880,7 +879,7 @@ class GuiLogic():
# setze die Inhalte der abhängigen Comboboxen neu
if aus_halbzeug == True:
self.set_state('cb_halbzeugfarbe', 'normal')
self.set_state('cb_halbzeugfarbe', 'readonly')
if halbzeugoberflaeche == "eloxieren":
farben_elox = self._config.Farben.get_farben_eloxieren()
if selected is None:
@@ -983,7 +982,7 @@ class GuiLogic():
if ruestcode == "HZS Halbzeuge Sägeteile":
cblist = self._config.Allgemein.get_options("HalbzeugOhneSaegeliste")
self.set_state('cb_halbzeugOhneSaege_neu', 'disabled')
self.set_state('cb_halbzeugOhneSaege_neu', 'normal')
self.set_state('cb_halbzeugOhneSaege_neu', 'readonly')
ret['cb_halbzeugOhneSaege_neu'] = cblist
@@ -1035,7 +1034,7 @@ class GuiLogic():
if pdm_kategorie_neu == "Kaufteil" or pdm_kategorie_neu == "Schweissbaugruppe":
self.set_state('cb_fertigungsart_neu', 'disabled')
else:
self.set_state('cb_fertigungsart_neu', 'normal')
self.set_state('cb_fertigungsart_neu', 'readonly')
if pdm_kategorie_neu == "Baugruppe":
cblist = self._config.Fertigung.get_list_in_section("FertigungsartenBaugruppe")
@@ -1147,7 +1146,7 @@ class GuiLogic():
if pdm_kategorie_neu == "Kaufteil" or pdm_kategorie_neu == "Schweissbaugruppe":
self.set_state('cb_allgemeintoleranz_neu', 'disabled')
else:
self.set_state('cb_allgemeintoleranz_neu', 'normal')
self.set_state('cb_allgemeintoleranz_neu', 'readonly')
return ret
@@ -1157,7 +1156,7 @@ class GuiLogic():
fos_gruppe = self._model.get_gui_data("fosGruppe_sivas")
ret['fosGruppe_neu'] = ''
self.set_state('cb_fosGruppe_neu', 'normal')
self.set_state('cb_fosGruppe_neu', 'readonly')
if pdm_kategorie_neu == "Kaufteil":
cblist = self._config.Allgemein.get_options("FOS_Gruppe")
self.set_state('cb_fosGruppe_neu', 'disabled')
@@ -1206,7 +1205,7 @@ class GuiLogic():
if pdm_kategorie_neu == "Baugruppe":
cblist = self._config.Allgemein.get_options("Kalkulationsart")
self.set_state('cb_kalkulationsart_neu', 'normal')
self.set_state('cb_kalkulationsart_neu', 'readonly')
else:
cblist = None
self.set_state('cb_kalkulationsart_neu', 'disabled')
@@ -1234,7 +1233,7 @@ class GuiLogic():
if pdm_kategorie_neu == "Einzelteil":
cblist = self._config.Allgemein.get_options("Beschaffungsart")
self.set_state('cb_beschaffungsart_neu', 'normal')
self.set_state('cb_beschaffungsart_neu', 'readonly')
else:
cblist = None
self.set_state('cb_beschaffungsart_neu', 'disabled')
@@ -1277,7 +1276,7 @@ class GuiLogic():
elif rcode == "HZS Halbzeuge Sägeteile":
if pdm_kategorie_neu == "Einzelteil" or pdm_kategorie_neu == "Kaufteil":
cblist = self._config.Allgemein.get_options("EinheitAusw")
self.set_state('cb_mengeneinheit_neu', 'normal')
self.set_state('cb_mengeneinheit_neu', 'readonly')
elif pdm_kategorie_neu == "Schweissbaugruppe":
self.set_state('cb_mengeneinheit_neu', 'disabled')
else:
@@ -1323,7 +1322,7 @@ class GuiLogic():
if rcode == "SRC Standard Rüstcode" or rcode == "Trümmerbaugruppe":
self.set_state('cb_halbzeug_neu', 'disabled')
elif rcode == "HZS Halbzeuge Sägeteile":
self.set_state('cb_halbzeug_neu', 'normal')
self.set_state('cb_halbzeug_neu', 'readonly')
else:
self.set_state('cb_halbzeug_neu', 'disabled')
@@ -1377,7 +1376,7 @@ class GuiLogic():
ret['cb_hersteller_neu'] = cblist
if pdm_kategorie_neu == "Kaufteil":
self.set_state('cb_hersteller_neu', 'normal')
self.set_state('cb_hersteller_neu', 'readonly')
else:
self.set_state('cb_hersteller_neu', 'disabled')
@@ -1423,7 +1422,7 @@ class GuiLogic():
self.set_state('cb_werkstofftyp_neu', 'disabled')
else:
cblist = self._config.Werkstoffe.get_werkstoff_namen()
self.set_state('cb_werkstofftyp_neu', 'normal')
self.set_state('cb_werkstofftyp_neu', 'readonly')
else:
cblist = None
self.set_state('cb_werkstofftyp_neu', 'disabled')
@@ -1482,7 +1481,7 @@ class GuiLogic():
if aus_halbzeug == True:
self.set_state('cb_material_neu', 'disabled')
else:
self.set_state('cb_material_neu', 'normal')
self.set_state('cb_material_neu', 'readonly')
else:
self.set_state('cb_material_neu', 'disbled')
@@ -1543,7 +1542,7 @@ class GuiLogic():
if aus_halbzeug == True:
self.set_state('cb_oberflaeche_neu', 'disabled')
else:
self.set_state('cb_oberflaeche_neu', 'normal')
self.set_state('cb_oberflaeche_neu', 'readonly')
ret['oberflaeche_neu'] = ''
if selected is None:
@@ -1589,9 +1588,9 @@ class GuiLogic():
oberflaeche_neu == "lackieren" or \
oberflaeche_neu == "Masterbatch (Grundfarbe)" or \
oberflaeche_neu == "pulverbeschichten":
self.set_state('cb_farbe_neu', 'disabled')
self.set_state('cb_farbe_neu', 'readonly')
else:
self.set_state('cb_farbe_neu', 'normal')
self.set_state('cb_farbe_neu', 'disabled')
if selected is None:
# Default Vorbelegung
+17 -2
View File
@@ -140,10 +140,14 @@ class Controller(Observer):
self._model.set_current_item_id(cid)
self._load_cid_data2model(cid)
def get_current_item_id(self):
return self._model.get_current_item_id()
def _load_cid_data2model(self, cid):
"""lädt alle nötigen Daten für diese ID """
# falls eine .json Datei davon im Work Ordner existiert, dann diese zuerst versuchen ins Modell zu laden
self._view.clear_rightframes()
isok = self._model.from_json_file(self.get_env("out"), cid)
if isok == False:
# ansonsten die .csv Datei mit den SIVAS Infos aus data holen
@@ -154,6 +158,7 @@ class Controller(Observer):
# und diese in der Gui setzen
self._model.clear()
set_data = self._model.csv2guidata(loaded)
self.set_gui_dict(set_data)
self._model.set_gui_defaults()
self.refresh_gui()
@@ -222,7 +227,7 @@ class Controller(Observer):
self._model.set_gui_dict(data)
self.migrieren()
elif key == 'cb_zurücksetzen':
pass
self.zuruecksetzen()
elif key == 'cb_suche_asm':
# hole dir den in die gui eingetragene Nummer
current_asmid = self.data_from_view('asm_id')
@@ -240,7 +245,6 @@ class Controller(Observer):
model_values = self._model.callback(key, value)
if model_values:
self.set_gui_dict(model_values)
self.refresh_gui()
# gib dem observer Bescheid, was aufgerufen wurde
self.notify(self._model, key,value)
@@ -249,6 +253,17 @@ class Controller(Observer):
def migrieren(self):
self._model.check()
def zuruecksetzen(self):
cid = self.get_current_item_id()
self._model.clear()
self._view.clear_rightframes()
csv_data = self._model.sivas_data_from_csv(str(cid))
# transform the csv keys into keys used behind the gui
gui_data = self._model.csv2guidata(csv_data)
self.set_gui_dict(gui_data)
# create dropdown and other defaults
self._model.set_gui_defaults()
def suche_3d(self):
pdm_kategorie_neu = self._model.get_gui_data("pdm_kategorie_neu")
aus_halbzeug = self._model.get_gui_data("aus_halbzeug_neu")
+122 -11
View File
@@ -196,6 +196,10 @@ class LeftFrameAsm(AllFrames):
# not yet implemented. Not used
pass
def clear(self):
# not yet implemented. Not used
pass
class RightFrameLabels(AllFrames):
def __init__(self, frame, nrow=0):
@@ -220,7 +224,6 @@ class RightFrameLabels(AllFrames):
separator2.grid(column=col_left, columnspan=3, row=self.rownum, sticky=tk.EW, padx=3, pady=3)
self.rownum += 1
def get_data(self):
return {
"teilenummer": self.teilenummer_text.get(),
@@ -236,6 +239,10 @@ class RightFrameLabels(AllFrames):
if 'teilenummer' in data:
self.teilenummer_text["state"] = data['teilenummer']
def clear(self):
self.teilenummer_text.set("")
class RightFramePDM(AllFrames):
def __init__(self, frame, nrow=0):
AllFrames.__init__(self, nrow)
@@ -442,7 +449,25 @@ class RightFramePDM(AllFrames):
# buttons
if 'cb_3dsuchen' in data:
self.suche3d_button['state'] =data["cb_3dsuchen"]
def clear(self):
self.datenbank.set('')
self.pdm_category.set('')
self.neuaufbau.set(False)
self.aus_halbzeug_neu.set(False)
self.halbzeugnummer_neu.set('')
self.halbzeuglaenge_neu.set('')
self.halbzeugoberflaeche_neu.set('')
self.halbzeugfarbe_neu.set('')
self.lebenszyklus_status_neu.set('')
self.model3d_neu.set('')
self.pdmkategorie_combo['values'] = ''
self.halbzeugoberflaeche_combo['values'] = ''
self.halbzeugfarbe_combo['values'] = ''
self.lebenszyklusstatus_combo['values'] = ''
self.model3d_combo['values'] = ''
class RightFrameBezeichnung(AllFrames):
def __init__(self, frame, nrow=0):
AllFrames.__init__(self, nrow)
@@ -532,6 +557,12 @@ class RightFrameBezeichnung(AllFrames):
if 'bezeichnung2_sivas' in data:
self.bezeichnung2_sivas['state'] = data["bezeichnung2_sivas"]
def clear(self):
self.bezeichnung1_sivas.set('')
self.bezeichnung1_neu.set('')
self.bezeichnung2_sivas.set('')
class RightFrameHalbzeugOhneS(AllFrames):
def __init__(self, frame, nrow=0):
AllFrames.__init__(self, nrow)
@@ -744,6 +775,27 @@ class RightFrameHalbzeugOhneS(AllFrames):
if 'cb_kalkulationsart_neu' in data:
self.kalkulationsart_neu_combo['state'] = data['cb_kalkulationsart_neu']
def clear(self):
self.halbzeugOhneSaege_sivas.set('')
self.halbzeugOhneSaege_neu.set('')
self.ruestcode_sivas.set('')
self.ruestcode_neu.set('')
self.fertigungsart_sivas.set('')
self.fertigungsart_neu.set('')
self.allgemeintoleranz_sivas.set('')
self.allgemeintoleranz_neu.set('')
self.fosGruppe_sivas.set('')
self.fosGruppe_neu.set('')
self.kalkulationsart_sivas.set('')
self.kalkulationsart_neu.set('')
self.halbzeugOhneSaege_neu_combo['values'] = ''
self.ruestcode_neu_combo['values'] = ''
self.fertigungsart_neu_combo['values'] = ''
self.allgemeintoleranz_neu_combo['values'] = ''
self.fosGruppe_neu_combo['values'] = ''
self.kalkulationsart_neu_combo['values'] = ''
class RightFrameBeschaffungsart(AllFrames):
def __init__(self, frame, nrow=0):
AllFrames.__init__(self, nrow)
@@ -804,7 +856,6 @@ class RightFrameBeschaffungsart(AllFrames):
separator.grid(column=col_left, columnspan=3, row=self.rownum, sticky=tk.EW, padx=3, pady=3)
self.rownum += 1
def get_data(self):
return {
"beschaffungsart_sivas": self.beschaffungsart_sivas.get(),
@@ -863,6 +914,18 @@ class RightFrameBeschaffungsart(AllFrames):
if "cb_halbzeug_neu" in data:
self.halbzeug_combo['state'] = data["cb_halbzeug_neu"]
def clear(self):
self.beschaffungsart_sivas.set('')
self.beschaffungsart_neu.set('')
self.mengeneinheit_sivas.set('')
self.mengeneinheit_neu.set('')
self.halbzeug_sivas.set('')
self.halbzeug_neu.set('')
self.beschaffungsart_combo['values'] = ''
self.mengeneinheit_combo['values'] = ''
self.halbzeug_combo['values'] = ''
class RightFrameTOSGruppe(AllFrames):
def __init__(self, frame, nrow=0):
AllFrames.__init__(self, nrow)
@@ -969,7 +1032,6 @@ class RightFrameTOSGruppe(AllFrames):
separator.grid(column=col_left, columnspan=3, row=self.rownum, sticky=tk.EW, padx=3, pady=3)
self.rownum += 1
def get_data(self):
return {
"tosgruppe_neu": self.tosgruppe_neu.get(),
@@ -1067,7 +1129,26 @@ class RightFrameTOSGruppe(AllFrames):
self.dispolaufgruppe_neu_combo['state'] = data["cb_dispolaufgruppe_neu"]
if "cb_hersteller_neu" in data:
self.hersteller_neu_combo['state'] = data["cb_hersteller_neu"]
pass
def clear(self):
self.tosgruppe_sivas.set('')
self.tosgruppe_neu.set('')
self.dispogruppe_sivas.set('')
self.dispogruppe_neu.set('')
self.dispolaufgruppe_sivas.set('')
self.dispolaufgruppe_neu.set('')
self.ersatzfuer_sivas.set('')
self.ersatzfuer_neu.set('')
self.ersetztdurch_sivas.set('')
self.ersetztdurch_neu.set('')
self.hersteller_sivas.set('')
self.hersteller_neu.set('')
self.herstteilenr_sivas.set('')
self.herstteilenr_neu.set('')
self.dispogruppe_neu_combo['values'] = ''
self.dispolaufgruppe_neu_combo['values'] = ''
self.hersteller_neu_combo['values'] = ''
class RightFrameWerkstoffdiskrepanz(AllFrames):
def __init__(self, frame, nrow=0):
@@ -1211,6 +1292,19 @@ class RightFrameWerkstoffdiskrepanz(AllFrames):
if 'cb_farbe_neu' in data:
self.farbe_neu_combo['state'] = data["cb_farbe_neu"]
def clear(self):
self.werkstoffdiskr_sivas.set(False)
self.werkstofftyp_neu.set('')
self.material_sivas.set('')
self.material_neu.set('')
self.oberflaeche_neu.set('')
self.farbe_neu.set('')
self.werkstofftyp_neu_combo['values'] = ''
self.material_neu_combo['values'] = ''
self.oberflaeche_neu_combo['values'] = ''
self.farbe_neu_combo['values'] = ''
class RightFrameVersion(AllFrames):
def __init__(self, frame, nrow=0):
AllFrames.__init__(self, nrow)
@@ -1268,7 +1362,6 @@ class RightFrameVersion(AllFrames):
separator.grid(column=col_left, columnspan=3, row=self.rownum, sticky=tk.EW, padx=3, pady=3)
self.rownum += 1
def get_data(self):
return {
"version_sivas": self.version_sivas.get(),
@@ -1322,12 +1415,16 @@ class RightFrameVersion(AllFrames):
if 'freigabevermerk_neu' in data:
self.freigabevermerk_neu['state'] = data["freigabevermerk_neu"]
def clear_texts(self):
def clear(self):
self.version_sivas.set('')
self.aenderungsindex_sivas.set('')
self.aenderungsindex_neu.set('')
self.aenderungstext_sivas.delete('1.0', 'end')
self.aenderungstext_neu.delete('1.0', 'end')
self.freigabevermerk_sivas.delete('1.0', 'end')
self.freigabevermerk_neu.delete('1.0', 'end')
class RightFrameZusatzinfos(AllFrames):
def __init__(self, frame, nrow=0):
AllFrames.__init__(self, nrow)
@@ -1390,7 +1487,7 @@ class RightFrameZusatzinfos(AllFrames):
if 'zusatzinfos_bendef_text' in data:
self.zusatzinfos_bendef_text['state'] = data["zusatzinfos_bendef_text"]
def clear_texts(self):
def clear(self):
self.zusatzinfos_auto_text.delete('1.0', 'end')
self.zusatzinfos_bendef_text.delete('1.0', 'end')
@@ -1488,7 +1585,6 @@ class App():
def data_from_model(self):
""" methode zum Auslesen aller Daten der Oberfläche aus dem Modell
"""
self.clear_texts()
self.lf1.data_from_model()
self.lf2.data_from_model()
@@ -1502,9 +1598,24 @@ class App():
self.rf8.data_from_model()
self.rf9.data_from_model()
def clear_texts(self):
self.rf8.clear_texts()
self.rf9.clear_texts()
def clear_leftframes(self):
self.lf1.clear()
self.lf2.clear()
def clear_rightframes(self):
self.rf1.clear()
self.rf2.clear()
self.rf3.clear()
self.rf4.clear()
self.rf5.clear()
self.rf6.clear()
self.rf7.clear()
self.rf8.clear()
self.rf9.clear()
def clear(self):
self.clear_rightframes()
self.clear_leftframes()
def set_states(self):
# not used. So not implemented: