From 6d52f160e8ca03a0c43193982ca97b6a5b1d30b7 Mon Sep 17 00:00:00 2001 From: mistangl Date: Mon, 18 Mar 2024 16:31:20 +0100 Subject: [PATCH] Highlight der labels implementiert. --- lib/caditem.py | 6 +- lib/controller.py | 2 + lib/gui.py | 339 ++++++++++++++++++++++++++++++++++------------ 3 files changed, 262 insertions(+), 85 deletions(-) diff --git a/lib/caditem.py b/lib/caditem.py index 5f3059d..048e7c4 100644 --- a/lib/caditem.py +++ b/lib/caditem.py @@ -390,10 +390,14 @@ class CadItem(DataModel): translated_data["beschaffungsart_sivas"] = "Eigenbau" # Spezial TOS Gruppe + default = '6' if "tosgruppe_sivas" in translated_data: text = translated_data["tosgruppe_sivas"] if text =="": - translated_data["tosgruppe_neu"] = "6" + translated_data["tosgruppe_neu"] = default + else: + translated_data["tosgruppe_neu"] = default + # Spezial Freigabevermerk diff --git a/lib/controller.py b/lib/controller.py index c2085a6..50cdd4f 100644 --- a/lib/controller.py +++ b/lib/controller.py @@ -281,6 +281,8 @@ class Controller(Observer): if ok == False: labels = ', '.join(missing) self.message_error('Fehlende Angaben', 'missing_data', {'Labels':labels}) + self._view.reset_labels() + self._view.highlight_labels(missing) return invalid_chars = self._config.InvalidChars.get() (ok, wrongchars) = self._model.check_improper_chars(invalid_chars) diff --git a/lib/gui.py b/lib/gui.py index 9b7a532..6ead35b 100644 --- a/lib/gui.py +++ b/lib/gui.py @@ -155,8 +155,8 @@ class LeftFrameAsm(AllFrames): self.rownum = AllFrames.get_rows(self) col_left = 0 # Baugruppennummer - asm_label = ttk.Label(frame, text="Baugruppennummer:" ) - asm_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) + self.asm_label = ttk.Label(frame, text="Baugruppennummer:" ) + self.asm_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.rownum += 1 self.asm_number = tk.StringVar() asm_entry = ttk.Entry(frame, textvariable=self.asm_number, width=9, font=("Calibri",15)) @@ -200,6 +200,13 @@ class LeftFrameAsm(AllFrames): # not yet implemented. Not used pass + def highlight_labels(self, labels): + # not yet implemented. Not used + pass + def reset_labels(self): + # not yet implemented. Not used + pass + def clear(self): # not yet implemented. Not used pass @@ -217,8 +224,8 @@ class RightFrameLabels(AllFrames): col_left = 0 # Teilenummer - teilenummer_label = ttk.Label(frame, text="Teilenummer:", foreground='blue') - teilenummer_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) + self.teilenummer_label = ttk.Label(frame, text="Teilenummer:", foreground='blue') + self.teilenummer_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.teilenummer_text = tk.StringVar() teilenummer_entry = ttk.Entry(frame, textvariable=self.teilenummer_text, width=9, font=("Calibri",15), state="readonly") teilenummer_entry.grid(column=col_left+1, row=self.rownum, sticky=tk.W, padx=3, pady=3) @@ -244,6 +251,12 @@ class RightFrameLabels(AllFrames): if 'teilenummer' in data: self.teilenummer_text["state"] = data['teilenummer'] + def highlight_labels(self, labels): + if "Teilenummer" in labels: + self.teilenummer_label.configure(foreground='red') + def reset_labels(self): + self.teilenummer_label.configure(foreground='blue') + def clear(self): self.teilenummer_text.set("") @@ -260,8 +273,8 @@ class RightFramePDM(AllFrames): col_left = 0 # Datenbank Schulung oder Produktiv - datenbank_label = ttk.Label(frame, text="Datenbank:", foreground='blue' ) - datenbank_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) + self.datenbank_label = ttk.Label(frame, text="Datenbank:", foreground='blue' ) + self.datenbank_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.datenbank = tk.StringVar() self.datenbank.set("Schulung") # default self.datenbank_prod = ttk.Radiobutton(frame, text="Produktiv", variable=self.datenbank, value="Produktiv") @@ -272,20 +285,18 @@ class RightFramePDM(AllFrames): self.rownum += 1 # pdmkategorie - #categories = configs.Allgemein.get_options("Kategorien") #"Baugruppe", "Einzelteil", "Kaufteil", "NichtSivas", "Normteil", "Schweissbaugruppe" - pdmkategorie_label = ttk.Label(frame, text="PDM-Kategorie:", foreground='blue' ) - pdmkategorie_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) + self.pdmkategorie_label = ttk.Label(frame, text="PDM-Kategorie:", foreground='blue' ) + self.pdmkategorie_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.pdm_category = tk.StringVar() self.pdmkategorie_combo = ttk.Combobox(frame, textvariable=self.pdm_category, width=AllFrames.get_combo_width(self)) - #self.pdmkategorie_combo['values'] = categories self.pdmkategorie_combo['state'] = 'readonly' self.pdmkategorie_combo.bind('<>', lambda event:self.callback('cb_pdm_kategorie_neu', self.pdm_category.get())) self.pdmkategorie_combo.grid(column=col_left+2, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.rownum += 1 # Neuaufbau - neuaufbau_label = ttk.Label(frame, text="Neuaufbau:") - neuaufbau_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) + self.neuaufbau_label = ttk.Label(frame, text="Neuaufbau:") + self.neuaufbau_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.neuaufbau = tk.BooleanVar() self.neuaufbau_checkbutton = ttk.Checkbutton(frame, @@ -298,8 +309,8 @@ class RightFramePDM(AllFrames): self.rownum += 1 # aus Halbzeug - halbzeug_label = ttk.Label(frame, text="aus Halbzeug:") - halbzeug_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) + self.halbzeug_label = ttk.Label(frame, text="aus Halbzeug:") + self.halbzeug_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.aus_halbzeug_neu = tk.BooleanVar() self.aushalbzeug_checkbutton = ttk.Checkbutton(frame, #text='neu', @@ -311,24 +322,24 @@ class RightFramePDM(AllFrames): self.rownum += 1 # Halbzeugnummer - halbzeugnummer_label = ttk.Label(frame, text="Halbzeugnummer:" ) - halbzeugnummer_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) + self.halbzeugnummer_label = ttk.Label(frame, text="Halbzeugnummer:" ) + self.halbzeugnummer_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.halbzeugnummer_neu = tk.StringVar() self.halbzeugnummer_neu_entry = ttk.Entry(frame, textvariable=self.halbzeugnummer_neu, width=AllFrames.get_entry_text_width(self)) self.halbzeugnummer_neu_entry.grid(column=col_left+2, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.rownum += 1 # Halbzeuglänge - halbzeuglaenge_label = ttk.Label(frame, text="Halbzeuglänge:" ) - halbzeuglaenge_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) + self.halbzeuglaenge_label = ttk.Label(frame, text="Halbzeuglänge:" ) + self.halbzeuglaenge_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.halbzeuglaenge_neu = tk.StringVar() self.halbzeuglaenge_neu_entry = ttk.Entry(frame, textvariable=self.halbzeuglaenge_neu, width=AllFrames.get_entry_text_width(self)) self.halbzeuglaenge_neu_entry.grid(column=col_left+2, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.rownum += 1 # HalbzeugOberfläche - halbzeugoberflaeche_label = ttk.Label(frame, text="Halbzeugoberfläche:") - halbzeugoberflaeche_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) + self.halbzeugoberflaeche_label = ttk.Label(frame, text="Halbzeugoberfläche:") + self.halbzeugoberflaeche_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.halbzeugoberflaeche_neu = tk.StringVar() self.halbzeugoberflaeche_combo = ttk.Combobox(frame, textvariable=self.halbzeugoberflaeche_neu, width=AllFrames.get_combo_width(self)) self.halbzeugoberflaeche_combo['state'] = 'readonly' @@ -337,8 +348,8 @@ class RightFramePDM(AllFrames): self.rownum += 1 # HalbzeugFarbe - halbzeugfarbe_label = ttk.Label(frame, text="Halbzeugfarbe:", foreground='steel blue' ) - halbzeugfarbe_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) + self.halbzeugfarbe_label = ttk.Label(frame, text="Halbzeugfarbe:", foreground='steel blue' ) + self.halbzeugfarbe_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.halbzeugfarbe_neu = tk.StringVar() self.halbzeugfarbe_combo = ttk.Combobox(frame, textvariable=self.halbzeugfarbe_neu, width=AllFrames.get_combo_width(self)) self.halbzeugfarbe_combo['state'] = 'readonly' @@ -348,8 +359,8 @@ class RightFramePDM(AllFrames): # Lebenszyklusstatus #lstatus = configs.Allgemein.get_options("Lebenszyklus") # Serie, Prototyp - lebenszyklusstatus_label = ttk.Label(frame, text="Lebenszyklusstatus:", foreground='blue' ) - lebenszyklusstatus_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) + self.lebenszyklusstatus_label = ttk.Label(frame, text="Lebenszyklusstatus:", foreground='blue' ) + self.lebenszyklusstatus_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.lebenszyklus_status_neu = tk.StringVar() self.lebenszyklusstatus_combo = ttk.Combobox(frame, textvariable=self.lebenszyklus_status_neu, width=AllFrames.get_combo_width(self)) self.lebenszyklusstatus_combo['state'] = 'readonly' @@ -358,8 +369,8 @@ class RightFramePDM(AllFrames): self.rownum += 1 # 3D Model Filesearch - model3d_label = ttk.Label(frame, text="3D-Modell:", foreground='blue') - model3d_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) + self.model3d_label = ttk.Label(frame, text="3D-Modell:", foreground='blue') + self.model3d_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.model3d_neu = tk.StringVar() self.model3d_combo = ttk.Combobox(frame, textvariable=self.model3d_neu, justify='right', width=AllFrames.get_combo_width(self)) self.model3d_combo['state'] = 'readonly' @@ -456,6 +467,34 @@ class RightFramePDM(AllFrames): if 'cb_3dsuchen' in data: self.suche3d_button['state'] =data["cb_3dsuchen"] + def highlight_labels(self, labels): + if "Datenbank" in labels: + self.datenbank_label.configure(foreground='red' ) + if "PDM-Kategorie" in labels: + self.pdmkategorie_label.configure(foreground='red' ) + if "Neuaufbau" in labels: + self.neuaufbau_label.configure(foreground='red' ) + if "Halbzeugnummer" in labels: + self.halbzeugnummer_label.configure(foreground='red' ) + if "Halbzeugoberfläche" in labels: + self.halbzeugoberflaeche_label.configure(foreground='red' ) + if "Halbzeugfarbe" in labels: + self.halbzeugfarbe_label.configure(foreground='red' ) + if "Lebenszyklusstatus" in labels: + self.lebenszyklusstatus_label.configure(foreground='red' ) + if "3D-Modell" in labels: + self.model3d_label.configure(foreground='red') + + def reset_labels(self): + self.datenbank_label.configure(foreground='blue' ) + self.pdmkategorie_label.configure(foreground='blue' ) + self.neuaufbau_label.configure(foreground='black') + self.halbzeugnummer_label.configure(foreground='black') + self.halbzeugoberflaeche_label.configure(foreground='black') + self.halbzeugfarbe_label.configure(foreground='steel blue' ) + self.lebenszyklusstatus_label.configure(foreground='blue' ) + self.model3d_label.configure(foreground='blue') + def clear(self): self.datenbank.set('') self.pdm_category.set('') @@ -503,8 +542,8 @@ class RightFrameBezeichnung(AllFrames): self.rownum += 1 # Bezeichnung 1 - bezeichnung1_label = ttk.Label(frame, text="Bezeichnung 1:", foreground='blue' ) - bezeichnung1_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) + self.bezeichnung1_label = ttk.Label(frame, text="Bezeichnung 1:", foreground='blue' ) + self.bezeichnung1_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.bezeichnung1_sivas = tk.StringVar() self.bezeichnung1_entry = ttk.Entry(frame, textvariable=self.bezeichnung1_sivas, width=AllFrames.get_entry_text_width(self), state="readonly") self.bezeichnung1_entry.grid(column=col_left+1, row=self.rownum, sticky=tk.W, padx=3, pady=3) @@ -516,8 +555,8 @@ class RightFrameBezeichnung(AllFrames): self.rownum += 1 # Bezeichnung 2 - bezeichnung2_label = ttk.Label(frame, text="Bezeichnung 2:" ) - bezeichnung2_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) + self.bezeichnung2_label = ttk.Label(frame, text="Bezeichnung 2:" ) + self.bezeichnung2_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.bezeichnung2_sivas = tk.StringVar() bezeichnung2_entry = ttk.Entry(frame, textvariable=self.bezeichnung2_sivas, state="readonly", width=AllFrames.get_entry_text_width(self)) bezeichnung2_entry.grid(column=col_left+1, row=self.rownum, sticky=tk.W, padx=3, pady=3) @@ -564,6 +603,15 @@ class RightFrameBezeichnung(AllFrames): if 'bezeichnung2_sivas' in data: self.bezeichnung2_sivas['state'] = data["bezeichnung2_sivas"] + def highlight_labels(self, labels): + if "Bezeichnung 1" in labels: + self.bezeichnung1_label.configure(foreground='blue') + if "Bezeichnung 2" in labels: + self.bezeichnung2_label.configure(foreground='red') + def reset_labels(self): + self.bezeichnung1_label.configure(foreground='blue') + self.bezeichnung2_label.configure(foreground='black') + def clear(self): self.bezeichnung1_sivas.set('') self.bezeichnung1_neu.set('') @@ -585,8 +633,8 @@ class RightFrameHalbzeugOhneS(AllFrames): # ruestcodes = configs.Allgemein.get_options("Ruestcode") # Halbzeug ohne Sägeliste - halbzeugOhneSaege_label = ttk.Label(frame, text="Halbzeug ohne Sägeliste:", foreground='blue' ) - halbzeugOhneSaege_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) + self.halbzeugOhneSaege_label = ttk.Label(frame, text="Halbzeug ohne Sägeliste:", foreground='blue' ) + self.halbzeugOhneSaege_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.halbzeugOhneSaege_sivas = tk.StringVar() halbzeugOhneSaege_entry = ttk.Entry(frame, textvariable=self.halbzeugOhneSaege_sivas, state="readonly", width=AllFrames.get_entry_text_width(self)) halbzeugOhneSaege_entry.grid(column=col_left+1, row=self.rownum, sticky=tk.W, padx=3, pady=3) @@ -600,8 +648,8 @@ class RightFrameHalbzeugOhneS(AllFrames): self.rownum += 1 # Rüstcode - ruestcode_label = ttk.Label(frame, text="Rüstcode:", foreground='blue' ) - ruestcode_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) + self.ruestcode_label = ttk.Label(frame, text="Rüstcode:", foreground='blue' ) + self.ruestcode_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.ruestcode_sivas = tk.StringVar() ruestcode_entry = ttk.Entry(frame, textvariable=self.ruestcode_sivas, state="readonly", width=AllFrames.get_entry_text_width(self)) ruestcode_entry.grid(column=col_left+1, row=self.rownum, sticky=tk.W, padx=3, pady=3) @@ -615,8 +663,8 @@ class RightFrameHalbzeugOhneS(AllFrames): self.rownum += 1 # Fertigungsart - fertigungsart_label = ttk.Label(frame, text="Fertigungsart:", foreground='steel blue' ) - fertigungsart_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) + self.fertigungsart_label = ttk.Label(frame, text="Fertigungsart:", foreground='steel blue' ) + self.fertigungsart_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.fertigungsart_sivas = tk.StringVar() fertigungsart_entry = ttk.Entry(frame, textvariable=self.fertigungsart_sivas, state="readonly", width=AllFrames.get_entry_text_width(self)) fertigungsart_entry.grid(column=col_left+1, row=self.rownum, sticky=tk.W, padx=3, pady=3) @@ -630,8 +678,8 @@ class RightFrameHalbzeugOhneS(AllFrames): self.rownum += 1 # Allgmeintoleranz - allgemeintoleranz_label = ttk.Label(frame, text="Allgemeintoleranz:", foreground='steel blue' ) - allgemeintoleranz_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) + self.allgemeintoleranz_label = ttk.Label(frame, text="Allgemeintoleranz:", foreground='steel blue' ) + self.allgemeintoleranz_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.allgemeintoleranz_sivas = tk.StringVar() allgemeintoleranz_entry = ttk.Entry(frame, textvariable=self.allgemeintoleranz_sivas, state="readonly", width=AllFrames.get_entry_text_width(self)) allgemeintoleranz_entry.grid(column=col_left+1, row=self.rownum, sticky=tk.W, padx=3, pady=3) @@ -645,8 +693,8 @@ class RightFrameHalbzeugOhneS(AllFrames): self.rownum += 1 # FOS-Gruppe - fosGruppe_label = ttk.Label(frame, text="FOS-Gruppe:", foreground='blue' ) - fosGruppe_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) + self.fosGruppe_label = ttk.Label(frame, text="FOS-Gruppe:", foreground='blue' ) + self.fosGruppe_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.fosGruppe_sivas = tk.StringVar() fosGruppe_entry = ttk.Entry(frame, textvariable=self.fosGruppe_sivas, state="readonly", width=AllFrames.get_entry_text_width(self)) fosGruppe_entry.grid(column=col_left+1, row=self.rownum, sticky=tk.W, padx=3, pady=3) @@ -660,8 +708,8 @@ class RightFrameHalbzeugOhneS(AllFrames): self.rownum += 1 # Kalulationsart - kalkulationsart_label = ttk.Label(frame, text="Kalkulationsart:", foreground='blue' ) - kalkulationsart_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) + self.kalkulationsart_label = ttk.Label(frame, text="Kalkulationsart:", foreground='blue' ) + self.kalkulationsart_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.kalkulationsart_sivas = tk.StringVar() kalkulationsart_entry = ttk.Entry(frame, textvariable=self.kalkulationsart_sivas, state="readonly", width=AllFrames.get_entry_text_width(self)) kalkulationsart_entry.grid(column=col_left+1, row=self.rownum, sticky=tk.W, padx=3, pady=3) @@ -783,6 +831,28 @@ class RightFrameHalbzeugOhneS(AllFrames): if 'cb_kalkulationsart_neu' in data: self.kalkulationsart_neu_combo['state'] = data['cb_kalkulationsart_neu'] + def highlight_labels(self, labels): + if "Halbzeug ohne Sägeliste" in labels: + self.halbzeugOhneSaege_label.configure(foreground='red') + if "Rüstcode" in labels: + self.ruestcode_label.configure(foreground='red') + if "Fertigungsart" in labels: + self.fertigungsart_label.configure(foreground='red') + if "Allgemeintoleranz" in labels: + self.allgemeintoleranz_label.configure(foreground='red') + if "FOS-Gruppe" in labels: + self.fosGruppe_label.configure(foreground='red') + if "Kalkulationsart" in labels: + self.kalkulationsart_label.configure(foreground='red') + + def reset_labels(self): + self.halbzeugOhneSaege_label.configure(foreground='blue') + self.ruestcode_label.configure(foreground='blue' ) + self.fertigungsart_label.configure(foreground='steel blue') + self.allgemeintoleranz_label.configure(foreground='steel blue') + self.fosGruppe_label.configure(foreground='blue') + self.kalkulationsart_label.configure(foreground='blue') + def clear(self): self.halbzeugOhneSaege_sivas.set('') self.halbzeugOhneSaege_neu.set('') @@ -816,8 +886,8 @@ class RightFrameBeschaffungsart(AllFrames): col_left = 0 # Beschaffungsart - beschaffungsart_label = ttk.Label(frame, text="Beschaffungsart:", foreground='blue' ) - beschaffungsart_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) + self.beschaffungsart_label = ttk.Label(frame, text="Beschaffungsart:", foreground='blue' ) + self.beschaffungsart_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.beschaffungsart_sivas = tk.StringVar() beschaffungsart_entry = ttk.Entry(frame, textvariable=self.beschaffungsart_sivas, state="readonly", width=AllFrames.get_entry_text_width(self)) beschaffungsart_entry.grid(column=col_left+1, row=self.rownum, sticky=tk.W, padx=3, pady=3) @@ -831,8 +901,8 @@ class RightFrameBeschaffungsart(AllFrames): self.rownum += 1 # Mengeneinheit - mengeneinheit_label = ttk.Label(frame, text="Mengeneinheit:", foreground='blue' ) - mengeneinheit_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) + self.mengeneinheit_label = ttk.Label(frame, text="Mengeneinheit:", foreground='blue' ) + self.mengeneinheit_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.mengeneinheit_sivas = tk.StringVar() mengeneinheit_entry = ttk.Entry(frame, textvariable=self.mengeneinheit_sivas, state="readonly", width=AllFrames.get_entry_text_width(self)) mengeneinheit_entry.grid(column=col_left+1, row=self.rownum, sticky=tk.W, padx=3, pady=3) @@ -846,8 +916,8 @@ class RightFrameBeschaffungsart(AllFrames): self.rownum += 1 # Halbzeug - halbzeug_label = ttk.Label(frame, text="Halbzeug:", foreground='blue' ) - halbzeug_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) + self.halbzeug_label = ttk.Label(frame, text="Halbzeug:", foreground='blue' ) + self.halbzeug_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.halbzeug_sivas = tk.StringVar() halbzeug_entry = ttk.Entry(frame, textvariable=self.halbzeug_sivas, state="readonly", width=AllFrames.get_entry_text_width(self)) halbzeug_entry.grid(column=col_left+1, row=self.rownum, sticky=tk.W, padx=3, pady=3) @@ -923,6 +993,18 @@ class RightFrameBeschaffungsart(AllFrames): if "cb_halbzeug_neu" in data: self.halbzeug_combo['state'] = data["cb_halbzeug_neu"] + def highlight_labels(self, labels): + if "Beschaffungsart" in labels: + self.beschaffungsart_label.configure(foreground='red' ) + if "Mengeneinheit" in labels: + self.mengeneinheit_label.configure(foreground='red' ) + if "Halbzeug" in labels: + self.halbzeug_label.configure(foreground='red' ) + def reset_labels(self): + self.beschaffungsart_label.configure(foreground='blue' ) + self.mengeneinheit_label.configure(foreground='blue' ) + self.halbzeug_label.configure(foreground='blue' ) + def clear(self): self.beschaffungsart_sivas.set('') self.beschaffungsart_neu.set('') @@ -947,8 +1029,8 @@ class RightFrameTOSGruppe(AllFrames): col_left = 0 # TOS-Gruppe - tosgruppe_label = ttk.Label(frame, text="TOS-Gruppe:", foreground='blue' ) - tosgruppe_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) + self.tosgruppe_label = ttk.Label(frame, text="TOS-Gruppe:", foreground='blue' ) + self.tosgruppe_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.tosgruppe_sivas = tk.StringVar() tosgruppe_entry = ttk.Entry(frame, textvariable=self.tosgruppe_sivas, state="readonly", width=AllFrames.get_entry_text_width(self)) tosgruppe_entry.grid(column=col_left+1, row=self.rownum, sticky=tk.W, padx=3, pady=3) @@ -958,8 +1040,8 @@ class RightFrameTOSGruppe(AllFrames): self.rownum += 1 # Dispogruppe - dispogruppe_label = ttk.Label(frame, text="Dispogruppe:", foreground='blue' ) - dispogruppe_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) + self.dispogruppe_label = ttk.Label(frame, text="Dispogruppe:", foreground='blue' ) + self.dispogruppe_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.dispogruppe_sivas = tk.StringVar() dispogruppe_entry = ttk.Entry(frame, textvariable=self.dispogruppe_sivas, state="readonly", width=AllFrames.get_entry_text_width(self)) dispogruppe_entry.grid(column=col_left+1, row=self.rownum, sticky=tk.W, padx=3, pady=3) @@ -973,8 +1055,8 @@ class RightFrameTOSGruppe(AllFrames): self.rownum += 1 # Dispolaufgruppe - dispolaufgruppe_label = ttk.Label(frame, text="Dispolaufgruppe:", foreground='blue' ) - dispolaufgruppe_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) + self.dispolaufgruppe_label = ttk.Label(frame, text="Dispolaufgruppe:", foreground='blue' ) + self.dispolaufgruppe_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.dispolaufgruppe_sivas = tk.StringVar() dispolaufgruppe_entry = ttk.Entry(frame, textvariable=self.dispolaufgruppe_sivas, state="readonly", width=AllFrames.get_entry_text_width(self)) dispolaufgruppe_entry.grid(column=col_left+1, row=self.rownum, sticky=tk.W, padx=3, pady=3) @@ -988,8 +1070,8 @@ class RightFrameTOSGruppe(AllFrames): self.rownum += 1 # Ersatz für - ersatzfuer_label = ttk.Label(frame, text="Ersatz für:" ) - ersatzfuer_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) + self.ersatzfuer_label = ttk.Label(frame, text="Ersatz für:" ) + self.ersatzfuer_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.ersatzfuer_sivas = tk.StringVar() ersatzfuer_entry = ttk.Entry(frame, textvariable=self.ersatzfuer_sivas, state="readonly", width=AllFrames.get_entry_text_width(self)) ersatzfuer_entry.grid(column=col_left+1, row=self.rownum, sticky=tk.W, padx=3, pady=3) @@ -999,8 +1081,8 @@ class RightFrameTOSGruppe(AllFrames): self.rownum += 1 # Ersetzt durch - ersetztdurch_label = ttk.Label(frame, text="Ersetzt durch:" ) - ersetztdurch_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) + self.ersetztdurch_label = ttk.Label(frame, text="Ersetzt durch:" ) + self.ersetztdurch_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.ersetztdurch_sivas = tk.StringVar() ersetztdurch_entry = ttk.Entry(frame, textvariable=self.ersetztdurch_sivas, state="readonly", width=AllFrames.get_entry_text_width(self)) ersetztdurch_entry.grid(column=col_left+1, row=self.rownum, sticky=tk.W, padx=3, pady=3) @@ -1011,8 +1093,8 @@ class RightFrameTOSGruppe(AllFrames): # Ersetzt durch # Hersteller - hersteller_label = ttk.Label(frame, text="Hersteller:" ) - hersteller_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) + self.hersteller_label = ttk.Label(frame, text="Hersteller:" ) + self.hersteller_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.hersteller_sivas = tk.StringVar() hersteller_entry = ttk.Entry(frame, textvariable=self.hersteller_sivas, state="readonly", width=AllFrames.get_entry_text_width(self)) hersteller_entry.grid(column=col_left+1, row=self.rownum, sticky=tk.W, padx=3, pady=3) @@ -1026,8 +1108,8 @@ class RightFrameTOSGruppe(AllFrames): self.rownum += 1 # Hersteller Teilenummer - herstteilenr_label = ttk.Label(frame, text="Hersteller Teilenummer:" ) - herstteilenr_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) + self.herstteilenr_label = ttk.Label(frame, text="Hersteller Teilenummer:" ) + self.herstteilenr_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.herstteilenr_sivas = tk.StringVar() self.herstteilenr_sivas_entry = ttk.Entry(frame, textvariable=self.herstteilenr_sivas, state="readonly", width=AllFrames.get_entry_text_width(self)) self.herstteilenr_sivas_entry.grid(column=col_left+1, row=self.rownum, sticky=tk.W, padx=3, pady=3) @@ -1140,6 +1222,30 @@ class RightFrameTOSGruppe(AllFrames): if "cb_hersteller_neu" in data: self.hersteller_neu_combo['state'] = data["cb_hersteller_neu"] + def highlight_labels(self, labels): + if "TOS-Gruppe" in labels: + self.tosgruppe_label.configure(foreground='red' ) + if "Dispogruppe" in labels: + self.dispogruppe_label.configure(foreground='red' ) + if "Dispolaufgruppe" in labels: + self.dispolaufgruppe_label.configure(foreground='red' ) + if "Ersatz für" in labels: + self.ersatzfuer_label.configure(foreground='red') + if "Ersetzt durch" in labels: + self.ersetztdurch_label.configure(foreground='red') + if "Hersteller" in labels: + self.hersteller_label.configure(foreground='red') + if "Hersteller Teilenummer" in labels: + self.herstteilenr_label.configure(foreground='red') + def reset_labels(self): + self.tosgruppe_label.configure(foreground='blue' ) + self.dispogruppe_label.configure(foreground='blue' ) + self.dispolaufgruppe_label.configure(foreground='blue' ) + self.ersatzfuer_label.configure(foreground='black') + self.ersetztdurch_label.configure(foreground='black') + self.hersteller_label.configure(foreground='black') + self.herstteilenr_label.configure(foreground='black') + def clear(self): self.tosgruppe_sivas.set('') self.tosgruppe_neu.set('') @@ -1174,8 +1280,8 @@ class RightFrameWerkstoffdiskrepanz(AllFrames): # wnamen = configs.Werkstoffe.get_werkstoff_namen() # Werkstoffdiskrepanz - werkstoffdiskr_label = ttk.Label(frame, text="Werkstoffdiskrepanz:") - werkstoffdiskr_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) + self.werkstoffdiskr_label = ttk.Label(frame, text="Werkstoffdiskrepanz:") + self.werkstoffdiskr_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.werkstoffdiskr_neu= tk.BooleanVar() self.werkstoffdiskr_checkbutton = ttk.Checkbutton(frame, @@ -1188,8 +1294,8 @@ class RightFrameWerkstoffdiskrepanz(AllFrames): self.rownum += 1 # Werkstofftyp - werkstofftyp_label = ttk.Label(frame, text="Werkstofftyp:", foreground='steel blue' ) - werkstofftyp_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) + self.werkstofftyp_label = ttk.Label(frame, text="Werkstofftyp:", foreground='steel blue' ) + self.werkstofftyp_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.werkstofftyp_neu = tk.StringVar() self.werkstofftyp_neu_combo = ttk.Combobox(frame, textvariable=self.werkstofftyp_neu, width=AllFrames.get_combo_width(self)) # self.werkstofftyp_neu_combo['values'] = wnamen @@ -1199,8 +1305,8 @@ class RightFrameWerkstoffdiskrepanz(AllFrames): self.rownum += 1 # Material - material_label = ttk.Label(frame, text="Material:", foreground='steel blue' ) - material_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) + self.material_label = ttk.Label(frame, text="Material:", foreground='steel blue' ) + self.material_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.material_sivas = tk.StringVar() material_entry = ttk.Entry(frame, textvariable=self.material_sivas, state="readonly", width=AllFrames.get_entry_text_width(self)) material_entry.grid(column=col_left+1, row=self.rownum, sticky=tk.W, padx=3, pady=3) @@ -1214,8 +1320,8 @@ class RightFrameWerkstoffdiskrepanz(AllFrames): # Oberfläche - oberflaeche_label = ttk.Label(frame, text="Oberfläche:", foreground='steel blue' ) - oberflaeche_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) + self.oberflaeche_label = ttk.Label(frame, text="Oberfläche:", foreground='steel blue' ) + self.oberflaeche_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.oberflaeche_neu = tk.StringVar() self.oberflaeche_neu_combo = ttk.Combobox(frame, textvariable=self.oberflaeche_neu, width=AllFrames.get_combo_width(self)) @@ -1225,8 +1331,8 @@ class RightFrameWerkstoffdiskrepanz(AllFrames): self.rownum += 1 # Farbe - farbe_label = ttk.Label(frame, text="Farbe:", foreground='steel blue' ) - farbe_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) + self.farbe_label = ttk.Label(frame, text="Farbe:", foreground='steel blue' ) + self.farbe_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.farbe_neu = tk.StringVar() self.farbe_neu_combo = ttk.Combobox(frame, textvariable=self.farbe_neu, width=AllFrames.get_combo_width(self)) @@ -1303,6 +1409,24 @@ class RightFrameWerkstoffdiskrepanz(AllFrames): if 'cb_farbe_neu' in data: self.farbe_neu_combo['state'] = data["cb_farbe_neu"] + def highlight_labels(self, labels): + if "Werkstoffdiskrepanz" in labels: + self.werkstoffdiskr_label.configure(foreground='red') + if "Werkstofftyp" in labels: + self.werkstofftyp_label.configure(foreground='red') + if "Material" in labels: + self.material_label.configure(foreground='red') + if "Oberfläche" in labels: + self.oberflaeche_label.configure(foreground='red') + if "Farbe" in labels: + self.farbe_label.configure(foreground='red') + def reset_labels(self): + self.werkstoffdiskr_label.configure(foreground='black') + self.werkstofftyp_label.configure(foreground='steel blue' ) + self.material_label.configure(foreground='steel blue' ) + self.oberflaeche_label.configure(foreground='steel blue' ) + self.farbe_label.configure(foreground='steel blue' ) + def clear(self): self.werkstoffdiskr_neu.set(False) self.werkstofftyp_neu.set('') @@ -1328,8 +1452,8 @@ class RightFrameVersion(AllFrames): col_left = 0 # Version - version_label = ttk.Label(frame, text="Version:" ) - version_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) + self.version_label = ttk.Label(frame, text="Version:" ) + self.version_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.version_sivas = tk.StringVar() version_entry = ttk.Entry(frame, textvariable=self.version_sivas, state="readonly", width=AllFrames.get_entry_text_width(self)) version_entry.grid(column=col_left+1, row=self.rownum, sticky=tk.W, padx=3, pady=3) @@ -1337,8 +1461,8 @@ class RightFrameVersion(AllFrames): # Änderungsindex - aenderungsindex_label = ttk.Label(frame, text="Änderungsindex:", foreground='blue' ) - aenderungsindex_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) + self.aenderungsindex_label = ttk.Label(frame, text="Änderungsindex:", foreground='blue' ) + self.aenderungsindex_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.aenderungsindex_sivas = tk.StringVar() aenderungsindex_entry = ttk.Entry(frame, textvariable=self.aenderungsindex_sivas, state="readonly", width=AllFrames.get_entry_text_width(self)) aenderungsindex_entry.grid(column=col_left+1, row=self.rownum, sticky=tk.W, padx=3, pady=3) @@ -1348,8 +1472,8 @@ class RightFrameVersion(AllFrames): self.rownum += 1 # Änderungstext - aenderungstext_label = ttk.Label(frame, text="Änderungstext:", foreground='blue' ) - aenderungstext_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) + self.aenderungstext_label = ttk.Label(frame, text="Änderungstext:", foreground='blue' ) + self.aenderungstext_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.aenderungstext_sivas = tk.Text(frame, height=3, width=AllFrames.get_text_width(self), font=("Calibri",10)) self.aenderungstext_sivas.grid(column=col_left+1, row=self.rownum, sticky=tk.W, padx=3, pady=3) @@ -1359,8 +1483,8 @@ class RightFrameVersion(AllFrames): self.rownum += 1 # Freigabevermerk - freigabevermerk_label = ttk.Label(frame, text="Freigabevermerk:", foreground='blue' ) - freigabevermerk_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) + self.freigabevermerk_label = ttk.Label(frame, text="Freigabevermerk:", foreground='blue' ) + self.freigabevermerk_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.freigabevermerk_sivas = tk.Text(frame, height=3, width=AllFrames.get_text_width(self), font=("Calibri",10)) self.freigabevermerk_sivas.grid(column=col_left+1, row=self.rownum, sticky=tk.W, padx=3, pady=3) @@ -1427,6 +1551,21 @@ class RightFrameVersion(AllFrames): if 'freigabevermerk_neu' in data: self.freigabevermerk_neu['state'] = data["freigabevermerk_neu"] + def highlight_labels(self, labels): + if "Version" in labels: + self.version_label.configure(foreground='red') + if "Änderungsindex" in labels: + self.aenderungsindex_label.configure(foreground='red') + if "Änderungstext" in labels: + self.aenderungstext_label.configure(foreground='red') + if "Freigabevermerk" in labels: + self.freigabevermerk_label.configure(foreground='red') + def reset_labels(self): + self.version_label.configure(foreground='black') + self.aenderungsindex_label.configure(foreground='blue' ) + self.aenderungstext_label.configure(foreground='blue' ) + self.freigabevermerk_label.configure(foreground='blue' ) + def clear(self): self.version_sivas.set('') self.aenderungsindex_sivas.set('') @@ -1449,16 +1588,16 @@ class RightFrameZusatzinfos(AllFrames): col_left = 0 # Zusatzinformationen automatisch - zusatzinfos_auto_label = ttk.Label(frame, text="Zusatzinformationen\nautomatisch:") - zusatzinfos_auto_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) + self.zusatzinfos_auto_label = ttk.Label(frame, text="Zusatzinformationen\nautomatisch:") + self.zusatzinfos_auto_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.zusatzinfos_auto_text = tk.Text(frame, height=3, width=AllFrames.get_text_width(self), font=("Calibri",10)) self.zusatzinfos_auto_text.grid(column=col_left+1, columnspan=2, row=self.rownum, sticky=tk.EW+tk.NS, padx=3, pady=3) self.rownum += 1 # Zusatzinformationen Benutzerdefiniert - zusatzinfos_bendef_label = ttk.Label(frame, text="Zusatzinformationen\nBenutzerdefiniert:") - zusatzinfos_bendef_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) + self.zusatzinfos_bendef_label = ttk.Label(frame, text="Zusatzinformationen\nBenutzerdefiniert:") + self.zusatzinfos_bendef_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.zusatzinfos_bendef_text = tk.Text(frame, height=3, width=AllFrames.get_text_width(self), font=("Calibri",10)) self.zusatzinfos_bendef_text.grid(column=col_left+1, columnspan=2, row=self.rownum, sticky=tk.EW+tk.NS, padx=3, pady=3) @@ -1500,6 +1639,16 @@ class RightFrameZusatzinfos(AllFrames): if 'zusatzinfos_bendef_text' in data: self.zusatzinfos_bendef_text['state'] = data["zusatzinfos_bendef_text"] + def highlight_labels(self, labels): + if "Zusatzinformationen automatisch" in labels: + self.zusatzinfos_auto_label.configure(foreground='red') + if "Zusatzinformationen Benutzerdefiniert" in labels: + self.zusatzinfos_bendef_label.configure(foreground='red') + def reset_labels(self): + self.zusatzinfos_auto_label.configure(foreground='black') + self.zusatzinfos_bendef_label.configure(foreground='black') + + def clear(self): self.zusatzinfos_auto_text.delete('1.0', 'end') self.zusatzinfos_bendef_text.delete('1.0', 'end') @@ -1645,6 +1794,28 @@ class App(): self.rf8.set_states() self.rf9.set_states() + def highlight_labels(self, labels): + self.rf1.highlight_labels(labels) + self.rf2.highlight_labels(labels) + self.rf3.highlight_labels(labels) + self.rf4.highlight_labels(labels) + self.rf5.highlight_labels(labels) + self.rf6.highlight_labels(labels) + self.rf7.highlight_labels(labels) + self.rf8.highlight_labels(labels) + self.rf9.highlight_labels(labels) + + def reset_labels(self): + self.rf1.reset_labels() + self.rf2.reset_labels() + self.rf3.reset_labels() + self.rf4.reset_labels() + self.rf5.reset_labels() + self.rf6.reset_labels() + self.rf7.reset_labels() + self.rf8.reset_labels() + self.rf9.reset_labels() + def data_from_view(self, key=None): ret = dict() ret.update(self.lf1.get_data())