diff --git a/lib/gui.py b/lib/gui.py index 1dc5233..301a0a4 100644 --- a/lib/gui.py +++ b/lib/gui.py @@ -3,6 +3,7 @@ from tkinter import ttk from tkinter import filedialog from controller import Controller from caditem import CadItem +import json #import logging @@ -11,7 +12,7 @@ from caditem import CadItem def OnMouseWheel(self,event): self.scrollbar1.yview("scroll",event.delta,"units") - return "break" + return "break" class AllFrames(): """ enthält alle gleichen Methoden für die Widgets in der rechte Spalte @@ -228,11 +229,11 @@ class RightFramePDM(AllFrames): pdmkategorie_label = ttk.Label(frame, text="PDM-Kategorie:" ) pdmkategorie_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.pdm_category = tk.StringVar() - pdmkategorie_combo = ttk.Combobox(frame, textvariable=self.pdm_category) - pdmkategorie_combo['values'] = categories - pdmkategorie_combo['state'] = 'readonly' - pdmkategorie_combo.bind('<>', lambda event:self.callback('cb_pdm_kategorie_neu')) - pdmkategorie_combo.grid(column=col_left+2, row=self.rownum, sticky=tk.W, padx=3, pady=3) + self.pdmkategorie_combo = ttk.Combobox(frame, textvariable=self.pdm_category) + self.pdmkategorie_combo['values'] = categories + self.pdmkategorie_combo['state'] = 'readonly' + self.pdmkategorie_combo.bind('<>', lambda event:self.callback('cb_pdm_kategorie_neu')) + self.pdmkategorie_combo.grid(column=col_left+2, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.rownum += 1 # Neuaufbau @@ -240,26 +241,26 @@ class RightFramePDM(AllFrames): neuaufbau_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.neuaufbau = None - neuaufbau_checkbutton = ttk.Checkbutton(frame, + self.neuaufbau_checkbutton = ttk.Checkbutton(frame, #text='ja', variable=self.neuaufbau, command=lambda: self.callback("cb_neuaufbau"), onvalue=True, offvalue=False) - neuaufbau_checkbutton.grid(column=col_left+2, row=self.rownum, sticky=tk.W, padx=3, pady=3) + self.neuaufbau_checkbutton.grid(column=col_left+2, row=self.rownum, sticky=tk.W, padx=3, pady=3) 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.aus_halbzeug_neu = None - aushalbzeug_checkbuttonr = ttk.Checkbutton(frame, + self.aushalbzeug_checkbutton = ttk.Checkbutton(frame, #text='neu', variable=self.aus_halbzeug_neu, command=lambda: self.callback("cb_aus_halbzeug_neu"), onvalue=True, offvalue=False) - aushalbzeug_checkbuttonr.grid(column=col_left+2, row=self.rownum, sticky=tk.W, padx=3, pady=3) + self.aushalbzeug_checkbutton.grid(column=col_left+2, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.rownum += 1 # Halbzeugnummer @@ -287,26 +288,26 @@ class RightFramePDM(AllFrames): self.rownum += 1 # Lebenszyklusstatus - lstatus = configs.Allgemein.get_options("Lebenszyklus") # Serie, Prototyp + #lstatus = configs.Allgemein.get_options("Lebenszyklus") # Serie, Prototyp lebenszyklusstatus_label = ttk.Label(frame, text="Lebenszyklusstatus:") lebenszyklusstatus_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.lebenszyklus_status_neu = tk.StringVar() - lebenszyklusstatus_combo = ttk.Combobox(frame, textvariable=self.lebenszyklus_status_neu) - lebenszyklusstatus_combo['values'] = lstatus - lebenszyklusstatus_combo['state'] = 'readonly' - lebenszyklusstatus_combo.bind('<>', lambda event:self.callback('cb_lebenszyklus_status_neu')) - lebenszyklusstatus_combo.grid(column=col_left+2, row=self.rownum, sticky=tk.W, padx=3, pady=3) + self.lebenszyklusstatus_combo = ttk.Combobox(frame, textvariable=self.lebenszyklus_status_neu) + #self.lebenszyklusstatus_combo['values'] = lstatus + self.lebenszyklusstatus_combo['state'] = 'readonly' + self.lebenszyklusstatus_combo.bind('<>', lambda event:self.callback('cb_lebenszyklus_status_neu')) + self.lebenszyklusstatus_combo.grid(column=col_left+2, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.rownum += 1 # 3D Model Filesearch model3d_label = ttk.Label(frame, text="3D-Modell:" ) model3d_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.model3d_neu = tk.StringVar() - model3d_combo = ttk.Combobox(frame, textvariable=self.model3d_neu) - model3d_combo['values'] = ['pfad1 Teilenummer in Dateinamen','pfad2 Teilenummer in Dateinamen'] - model3d_combo['state'] = 'readonly' - model3d_combo.bind('<>', lambda event:self.callback('cb_3Dmodel_neu')) - model3d_combo.grid(column=col_left+1, columnspan=2, row=self.rownum, sticky=tk.W, padx=3, pady=3) + self.model3d_combo = ttk.Combobox(frame, textvariable=self.model3d_neu) + self.model3d_combo['values'] = ['pfad1 Teilenummer in Dateinamen','pfad2 Teilenummer in Dateinamen'] + self.model3d_combo['state'] = 'readonly' + self.model3d_combo.bind('<>', lambda event:self.callback('cb_3Dmodel_neu')) + self.model3d_combo.grid(column=col_left+1, columnspan=2, row=self.rownum, sticky=tk.W, padx=3, pady=3) #toplevel = tk.Toplevel() #toplevel.title("search Window") #filename = filedialog.askopenfilename( @@ -314,7 +315,7 @@ class RightFramePDM(AllFrames): # title="Browse File" #) self.rownum += 1 - + separator = ttk.Separator(frame, orient='horizontal') separator.grid(column=col_left, columnspan=3, row=self.rownum, sticky=tk.EW, padx=3, pady=3) @@ -332,7 +333,6 @@ class RightFramePDM(AllFrames): return "schulung" def get_data(self): - return { "datenbank": self.get_database_str(), "pdm_kategorie_neu": self.pdm_category.get(), @@ -342,6 +342,10 @@ class RightFramePDM(AllFrames): "halbzeuglaenge_neu": self.halbzeuglaenge_neu.get(), "halbzeugoberflaeche_neu":self.halbzeugoberflaeche_neu.get(), "lebenszyklus_status_neu": self.lebenszyklus_status_neu.get(), + # ab hier die Dropdowns der Oberfläche auslesen. + "cb_lebenszyklus_status_neu": self.lebenszyklusstatus_combo['values'], + "cb_3Dmodel_neu": self.model3d_combo['values'], + "cb_pdm_kategorie_neu": self.pdmkategorie_combo['values'], } def data_from_model(self): @@ -361,7 +365,14 @@ class RightFramePDM(AllFrames): if 'lebenszyklus_status_neu' in data: self.lebenszyklus_status_neu.set(data["lebenszyklus_status_neu"]) if 'aus_halbzeug_neu' in data: - self.aus_halbzeug_neu= data["aus_halbzeug_neu"] + self.aus_halbzeug_neu= data["aus_halbzeug_neu"] + # ab hier die Dropdowns der Oberfläche befüllen. + if 'cb_3Dmodel_neu' in data: + self.model3d_combo['values'] = data["cb_3Dmodel_neu"] + if 'cb_lebenszyklus_status_neu' in data: + self.lebenszyklusstatus_combo['values'] = data["cb_lebenszyklus_status_neu"] + if 'cb_pdm_kategorie_neu' in data: + self.pdmkategorie_combo['values'] = data["cb_pdm_kategorie_neu"] class RightFrameBezeichnung(AllFrames): def __init__(self, frame, nrow=0, configs=None): @@ -374,7 +385,7 @@ class RightFrameBezeichnung(AllFrames): self.rownum = AllFrames.get_rows(self) col_left = 0 - categories = configs.Allgemein.get_options("Kategorien") + categories = configs.Allgemein.get_options("Kategorien") # Bezeichnung 1 bezeichnung1_label = ttk.Label(frame, text="Bezeichnung 1:" ) @@ -430,8 +441,8 @@ class RightFrameHalbzeugOhneS(AllFrames): self.rownum = AllFrames.get_rows(self) col_left = 0 - categories = configs.Allgemein.get_options("Kategorien") - ruestcodes = configs.Allgemein.get_options("Ruestcode") + categories = configs.Allgemein.get_options("Kategorien") + ruestcodes = configs.Allgemein.get_options("Ruestcode") # Halbzeug ohne Sägeliste halbzeugOhneSaege_label = ttk.Label(frame, text="Halbzeug ohne Sägeliste:" ) @@ -441,11 +452,11 @@ class RightFrameHalbzeugOhneS(AllFrames): halbzeugOhneSaege_entry.grid(column=col_left+1, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.halbzeugOhneSaege_neu = tk.StringVar() - halbzeugOhneSaege_neu_combo = ttk.Combobox(frame, textvariable=self.halbzeugOhneSaege_neu) - halbzeugOhneSaege_neu_combo['values'] = ['ja','nein'] - halbzeugOhneSaege_neu_combo['state'] = 'readonly' - halbzeugOhneSaege_neu_combo.bind('<>', lambda event:self.callback('cb_halbzeugOhneSaege_neu')) - halbzeugOhneSaege_neu_combo.grid(column=col_left+2, row=self.rownum, sticky=tk.W, padx=3, pady=3) + self.halbzeugOhneSaege_neu_combo = ttk.Combobox(frame, textvariable=self.halbzeugOhneSaege_neu) + self.halbzeugOhneSaege_neu_combo['values'] = ['ja','nein'] + self.halbzeugOhneSaege_neu_combo['state'] = 'readonly' + self.halbzeugOhneSaege_neu_combo.bind('<>', lambda event:self.callback('cb_halbzeugOhneSaege_neu')) + self.halbzeugOhneSaege_neu_combo.grid(column=col_left+2, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.rownum += 1 # Rüstcode @@ -456,11 +467,11 @@ class RightFrameHalbzeugOhneS(AllFrames): ruestcode_entry.grid(column=col_left+1, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.ruestcode_neu = tk.StringVar() - ruestcode_neu_combo = ttk.Combobox(frame, textvariable=self.ruestcode_neu) - ruestcode_neu_combo['values'] = ruestcodes - ruestcode_neu_combo['state'] = 'readonly' - ruestcode_neu_combo.bind('<>', lambda event:self.callback('cb_ruestcode_neu')) - ruestcode_neu_combo.grid(column=col_left+2, row=self.rownum, sticky=tk.W, padx=3, pady=3) + self.ruestcode_neu_combo = ttk.Combobox(frame, textvariable=self.ruestcode_neu) + self.ruestcode_neu_combo['values'] = ruestcodes + self.ruestcode_neu_combo['state'] = 'readonly' + self.ruestcode_neu_combo.bind('<>', lambda event:self.callback('cb_ruestcode_neu')) + self.ruestcode_neu_combo.grid(column=col_left+2, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.rownum += 1 # Fertigungsart @@ -471,11 +482,11 @@ class RightFrameHalbzeugOhneS(AllFrames): fertigungsart_entry.grid(column=col_left+1, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.fertigungsart_neu = tk.StringVar() - fertigungsart_neu_combo = ttk.Combobox(frame, textvariable=self.fertigungsart_neu) - fertigungsart_neu_combo['values'] = categories - fertigungsart_neu_combo['state'] = 'readonly' - fertigungsart_neu_combo.bind('<>', lambda event:self.callback('cb_fertigungsart_neu')) - fertigungsart_neu_combo.grid(column=col_left+2, row=self.rownum, sticky=tk.W, padx=3, pady=3) + self.fertigungsart_neu_combo = ttk.Combobox(frame, textvariable=self.fertigungsart_neu) + self.fertigungsart_neu_combo['values'] = categories + self.fertigungsart_neu_combo['state'] = 'readonly' + self.fertigungsart_neu_combo.bind('<>', lambda event:self.callback('cb_fertigungsart_neu')) + self.fertigungsart_neu_combo.grid(column=col_left+2, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.rownum += 1 # Allgmeintoleranz @@ -486,11 +497,11 @@ class RightFrameHalbzeugOhneS(AllFrames): allgemeintoleranz_entry.grid(column=col_left+1, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.allgemeintoleranz_neu = tk.StringVar() - allgemeintoleranz_neu_combo = ttk.Combobox(frame, textvariable=self.allgemeintoleranz_neu) - allgemeintoleranz_neu_combo['values'] = categories - allgemeintoleranz_neu_combo['state'] = 'readonly' - allgemeintoleranz_neu_combo.bind('<>', lambda event:self.callback('cb_allgemeintoleranz_neu')) - allgemeintoleranz_neu_combo.grid(column=col_left+2, row=self.rownum, sticky=tk.W, padx=3, pady=3) + self.allgemeintoleranz_neu_combo = ttk.Combobox(frame, textvariable=self.allgemeintoleranz_neu) + self.allgemeintoleranz_neu_combo['values'] = categories + self.allgemeintoleranz_neu_combo['state'] = 'readonly' + self.allgemeintoleranz_neu_combo.bind('<>', lambda event:self.callback('cb_allgemeintoleranz_neu')) + self.allgemeintoleranz_neu_combo.grid(column=col_left+2, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.rownum += 1 # FOS-Gruppe @@ -501,11 +512,11 @@ class RightFrameHalbzeugOhneS(AllFrames): fosGruppe_entry.grid(column=col_left+1, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.fosGruppe_neu = tk.StringVar() - fosGruppe_neu_combo = ttk.Combobox(frame, textvariable=self.fosGruppe_neu) - fosGruppe_neu_combo['values'] = categories - fosGruppe_neu_combo['state'] = 'readonly' - fosGruppe_neu_combo.bind('<>', lambda event:self.callback('cb_fosGruppe_neu')) - fosGruppe_neu_combo.grid(column=col_left+2, row=self.rownum, sticky=tk.W, padx=3, pady=3) + self.fosGruppe_neu_combo = ttk.Combobox(frame, textvariable=self.fosGruppe_neu) + self.fosGruppe_neu_combo['values'] = categories + self.fosGruppe_neu_combo['state'] = 'readonly' + self.fosGruppe_neu_combo.bind('<>', lambda event:self.callback('cb_fosGruppe_neu')) + self.fosGruppe_neu_combo.grid(column=col_left+2, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.rownum += 1 # Kalulationsart @@ -516,11 +527,11 @@ class RightFrameHalbzeugOhneS(AllFrames): kalkulationsart_entry.grid(column=col_left+1, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.kalkulationsart_neu = tk.StringVar() - kalkulationsart_neu_combo = ttk.Combobox(frame, textvariable=self.kalkulationsart_neu) - kalkulationsart_neu_combo['values'] = categories - kalkulationsart_neu_combo['state'] = 'readonly' - kalkulationsart_neu_combo.bind('<>', lambda event:self.callback('cb_kalkulationsart_neu')) - kalkulationsart_neu_combo.grid(column=col_left+2, row=self.rownum, sticky=tk.W, padx=3, pady=3) + self.kalkulationsart_neu_combo = ttk.Combobox(frame, textvariable=self.kalkulationsart_neu) + self.kalkulationsart_neu_combo['values'] = categories + self.kalkulationsart_neu_combo['state'] = 'readonly' + self.kalkulationsart_neu_combo.bind('<>', lambda event:self.callback('cb_kalkulationsart_neu')) + self.kalkulationsart_neu_combo.grid(column=col_left+2, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.rownum += 1 separator = ttk.Separator(frame, orient='horizontal') @@ -541,6 +552,13 @@ class RightFrameHalbzeugOhneS(AllFrames): "fosGruppe_neu": self.fosGruppe_neu.get(), "kalkulationsart_sivas": self.kalkulationsart_sivas.get(), "kalkulationsart_neu": self.kalkulationsart_neu.get(), + # ab hier die Dropdowns der Oberfläche auslesen + "cb_halbzeugOhneSaege_neu" :self.halbzeugOhneSaege_neu_combo['values'], + "cb_ruestcode_neu" :self.ruestcode_neu_combo['values'], + "cb_fertigungsart_neu" :self.fertigungsart_neu_combo['values'], + "cb_allgemeintoleranz_neu" :self.allgemeintoleranz_neu_combo['values'], + "cb_fosGruppe_neu" :self.fosGruppe_neu_combo['values'], + "cb_kalkulationsart_neu" :self.kalkulationsart_neu_combo['values'] } def data_from_model(self): @@ -570,6 +588,20 @@ class RightFrameHalbzeugOhneS(AllFrames): self.kalkulationsart_sivas.set(data["kalkulationsart_sivas"]) if 'kalkulationsart_neu' in data: self.kalkulationsart_neu.set(data["kalkulationsart_neu"]) + # ab hier die Dropdowns der Oberfläche befüllen. + if 'cb_halbzeugOhneSaege_neu' in data: + self.halbzeugOhneSaege_neu_combo['values'] = data['cb_halbzeugOhneSaege_neu'] + if 'cb_ruestcode_neu' in data: + self.ruestcode_neu_combo['values'] = data['cb_ruestcode_neu'] + if 'cb_fertigungsart_neu' in data: + self.fertigungsart_neu_combo['values'] = data['cb_fertigungsart_neu'] + if 'cb_allgemeintoleranz_neu' in data: + self.allgemeintoleranz_neu_combo['values'] = data['cb_allgemeintoleranz_neu'] + if 'cb_fosGruppe_neu' in data: + self.fosGruppe_neu_combo['values'] = data['cb_fosGruppe_neu'] + if 'cb_kalkulationsart_neu' in data: + self.kalkulationsart_neu_combo['values'] = data['cb_kalkulationsart_neu'] + class RightFrameBeschaffungsart(AllFrames): @@ -583,7 +615,7 @@ class RightFrameBeschaffungsart(AllFrames): self.rownum = AllFrames.get_rows(self) col_left = 0 - categories = configs.Allgemein.get_options("Kategorien") + categories = configs.Allgemein.get_options("Kategorien") # Beschaffungsart beschaffungsart_label = ttk.Label(frame, text="Beschaffungsart:" ) @@ -593,11 +625,11 @@ class RightFrameBeschaffungsart(AllFrames): beschaffungsart_entry.grid(column=col_left+1, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.beschaffungsart_neu = tk.StringVar() - beschaffungsart_combo = ttk.Combobox(frame, textvariable=self.beschaffungsart_neu) - beschaffungsart_combo['values'] = categories - beschaffungsart_combo['state'] = 'readonly' - beschaffungsart_combo.bind('<>', lambda event:self.callback('cb_beschaffungsart_neu')) - beschaffungsart_combo.grid(column=col_left+2, row=self.rownum, sticky=tk.W, padx=3, pady=3) + self.beschaffungsart_combo = ttk.Combobox(frame, textvariable=self.beschaffungsart_neu) + self.beschaffungsart_combo['values'] = categories + self.beschaffungsart_combo['state'] = 'readonly' + self.beschaffungsart_combo.bind('<>', lambda event:self.callback('cb_beschaffungsart_neu')) + self.beschaffungsart_combo.grid(column=col_left+2, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.rownum += 1 # Mengeneinheit @@ -608,11 +640,11 @@ class RightFrameBeschaffungsart(AllFrames): mengeneinheit_entry.grid(column=col_left+1, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.mengeneinheit_neu = tk.StringVar() - mengeneinheit_combo = ttk.Combobox(frame, textvariable=self.mengeneinheit_neu) - mengeneinheit_combo['values'] = categories - mengeneinheit_combo['state'] = 'readonly' - mengeneinheit_combo.bind('<>', lambda event:self.callback('cb_mengeneinheit_neu')) - mengeneinheit_combo.grid(column=col_left+2, row=self.rownum, sticky=tk.W, padx=3, pady=3) + self.mengeneinheit_combo = ttk.Combobox(frame, textvariable=self.mengeneinheit_neu) + self.mengeneinheit_combo['values'] = categories + self.mengeneinheit_combo['state'] = 'readonly' + self.mengeneinheit_combo.bind('<>', lambda event:self.callback('cb_mengeneinheit_neu')) + self.mengeneinheit_combo.grid(column=col_left+2, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.rownum += 1 # Halbzeug @@ -623,11 +655,11 @@ class RightFrameBeschaffungsart(AllFrames): halbzeug_entry.grid(column=col_left+1, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.halbzeug_neu = tk.StringVar() - halbzeug_combo = ttk.Combobox(frame, textvariable=self.halbzeug_neu) - halbzeug_combo['values'] = ['ja','nein'] - halbzeug_combo['state'] = 'readonly' - halbzeug_combo.bind('<>', lambda event:self.callback('cb_halbzeug_neu')) - halbzeug_combo.grid(column=col_left+2, row=self.rownum, sticky=tk.W, padx=3, pady=3) + self.halbzeug_combo = ttk.Combobox(frame, textvariable=self.halbzeug_neu) + self.halbzeug_combo['values'] = ['ja','nein'] + self.halbzeug_combo['state'] = 'readonly' + self.halbzeug_combo.bind('<>', lambda event:self.callback('cb_halbzeug_neu')) + self.halbzeug_combo.grid(column=col_left+2, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.rownum += 1 separator = ttk.Separator(frame, orient='horizontal') @@ -643,22 +675,33 @@ class RightFrameBeschaffungsart(AllFrames): "mengeneinheit_neu": self.mengeneinheit_neu.get(), "halbzeug_sivas": self.halbzeug_sivas.get(), "halbzeug_neu": self.halbzeug_neu.get(), + # ab hier die Dropdowns der Oberfläche auslesen. + "cb_beschaffungsart_neu": self.beschaffungsart_combo['values'], + "cb_mengeneinheit_neu": self.mengeneinheit_combo['values'], + "cb_halbzeug_neu": self.halbzeug_combo['values'], } def data_from_model(self): data = self.get_controller().get_all_gui_data() - if 'beschaffungsart_sivas' in data: + if "beschaffungsart_sivas" in data: self.beschaffungsart_sivas.set(data["beschaffungsart_sivas"]) - if 'beschaffungsart_neu' in data: + if "beschaffungsart_neu" in data: self.beschaffungsart_neu.set(data["beschaffungsart_neu"]) - if 'mengeneinheit_sivas' in data: + if "mengeneinheit_sivas" in data: self.mengeneinheit_sivas.set(data["mengeneinheit_sivas"]) - if 'mengeneinheit_neu' in data: + if "mengeneinheit_neu" in data: self.mengeneinheit_neu.set(data["mengeneinheit_neu"]) - if 'halbzeug_sivas' in data: + if "halbzeug_sivas" in data: self.halbzeug_sivas.set(data["halbzeug_sivas"]) - if 'halbzeug_neu' in data: + if "halbzeug_neu" in data: self.halbzeug_neu.set(data["halbzeug_neu"]) + # ab hier die Dropdowns der Oberfläche befüllen. + if "cb_beschaffungsart_neu" in data: + self.beschaffungsart_combo['values'] = data["cb_beschaffungsart_neu"] + if "cb_mengeneinheit_neu" in data: + self.mengeneinheit_combo['values'] = data["cb_mengeneinheit_neu"] + if "cb_halbzeug_neu" in data: + self.halbzeug_combo['values'] = data["cb_halbzeug_neu"] class RightFrameTOSGruppe(AllFrames): def __init__(self, frame, nrow=0, configs=None): @@ -671,7 +714,7 @@ class RightFrameTOSGruppe(AllFrames): self.rownum = AllFrames.get_rows(self) col_left = 0 - categories = configs.Allgemein.get_options("Kategorien") + categories = configs.Allgemein.get_options("Kategorien") # TOS-Gruppe tosgruppe_label = ttk.Label(frame, text="TOS-Gruppe:" ) @@ -692,11 +735,11 @@ class RightFrameTOSGruppe(AllFrames): dispogruppe_entry.grid(column=col_left+1, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.dispogruppe_neu = tk.StringVar() - dispogruppe_neu_combo = ttk.Combobox(frame, textvariable=self.dispogruppe_neu) - dispogruppe_neu_combo['values'] = categories - dispogruppe_neu_combo['state'] = 'readonly' - dispogruppe_neu_combo.bind('<>', lambda event:self.callback('cb_dispogruppe_neu')) - dispogruppe_neu_combo.grid(column=col_left+2, row=self.rownum, sticky=tk.W, padx=3, pady=3) + self.dispogruppe_neu_combo = ttk.Combobox(frame, textvariable=self.dispogruppe_neu) + self.dispogruppe_neu_combo['values'] = categories + self.dispogruppe_neu_combo['state'] = 'readonly' + self.dispogruppe_neu_combo.bind('<>', lambda event:self.callback('cb_dispogruppe_neu')) + self.dispogruppe_neu_combo.grid(column=col_left+2, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.rownum += 1 # Dispolaufgruppe @@ -707,11 +750,11 @@ class RightFrameTOSGruppe(AllFrames): dispolaufgruppe_entry.grid(column=col_left+1, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.dispolaufgruppe_neu = tk.StringVar() - dispolaufgruppe_neu_combo = ttk.Combobox(frame, textvariable=self.dispolaufgruppe_neu) - dispolaufgruppe_neu_combo['values'] = categories - dispolaufgruppe_neu_combo['state'] = 'readonly' - dispolaufgruppe_neu_combo.bind('<>', lambda event:self.callback('cb_dispolaufgruppe_neu')) - dispolaufgruppe_neu_combo.grid(column=col_left+2, row=self.rownum, sticky=tk.W, padx=3, pady=3) + self.dispolaufgruppe_neu_combo = ttk.Combobox(frame, textvariable=self.dispolaufgruppe_neu) + self.dispolaufgruppe_neu_combo['values'] = categories + self.dispolaufgruppe_neu_combo['state'] = 'readonly' + self.dispolaufgruppe_neu_combo.bind('<>', lambda event:self.callback('cb_dispolaufgruppe_neu')) + self.dispolaufgruppe_neu_combo.grid(column=col_left+2, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.rownum += 1 # Ersatz für @@ -745,11 +788,11 @@ class RightFrameTOSGruppe(AllFrames): hersteller_entry.grid(column=col_left+1, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.hersteller_neu = tk.StringVar() - hersteller_neu_combo = ttk.Combobox(frame, textvariable=self.hersteller_neu) - hersteller_neu_combo['values'] = categories - hersteller_neu_combo['state'] = 'readonly' - hersteller_neu_combo.bind('<>', lambda event:self.callback('cb_hersteller_neu')) - hersteller_neu_combo.grid(column=col_left+2, row=self.rownum, sticky=tk.W, padx=3, pady=3) + self.hersteller_neu_combo = ttk.Combobox(frame, textvariable=self.hersteller_neu) + self.hersteller_neu_combo['values'] = categories + self.hersteller_neu_combo['state'] = 'readonly' + self.hersteller_neu_combo.bind('<>', lambda event:self.callback('cb_hersteller_neu')) + self.hersteller_neu_combo.grid(column=col_left+2, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.rownum += 1 # Hersteller Teilenummer @@ -785,6 +828,10 @@ class RightFrameTOSGruppe(AllFrames): "ersetztdurch_sivas": self.ersetztdurch_sivas.get(), "herstteilenr_sivas": self.herstteilenr_sivas.get(), "herstteilenr_neu": self.herstteilenr_neu.get(), + # ab hier die Dropdowns der Oberfläche auslesen. + "cb_dispogruppe_neu": self.dispogruppe_neu_combo['values'], + "cb_dispolaufgruppe_neu": self.dispolaufgruppe_neu_combo['values'], + "cb_hersteller_neu": self.hersteller_neu_combo['values'], } def data_from_model(self): @@ -817,6 +864,13 @@ class RightFrameTOSGruppe(AllFrames): self.herstteilenr_sivas.set(data["herstteilenr_sivas"]) if 'herstteilenr_neu' in data: self.herstteilenr_neu.set(data["herstteilenr_neu"]) + # ab hier die Dropdowns der Oberfläche befüllen. + if "cb_dispogruppe_neu" in data: + self.dispogruppe_neu_combo['values'] = data["cb_dispogruppe_neu"] + if "cb_dispolaufgruppe_neu" in data: + self.dispolaufgruppe_neu_combo['values'] = data["cb_dispolaufgruppe_neu"] + if "cb_hersteller_neu" in data: + self.hersteller_neu_combo['values'] = data["cb_hersteller_neu"] class RightFrameWerkstoffdiskrepanz(AllFrames): def __init__(self, frame, nrow=0, configs=None): @@ -829,7 +883,7 @@ class RightFrameWerkstoffdiskrepanz(AllFrames): self.rownum = AllFrames.get_rows(self) col_left = 0 - categories = configs.Allgemein.get_options("Kategorien") + categories = configs.Allgemein.get_options("Kategorien") wnamen = configs.Werkstoffe.get_werkstoff_namen() # Werkstoffdiskrepanz @@ -837,7 +891,7 @@ class RightFrameWerkstoffdiskrepanz(AllFrames): werkstoffdiskr_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.werkstoffdiskrepanz= None - werkstoffdiskr_checkbutton = ttk.Checkbutton(frame, + werkstoffdiskr_checkbutton = ttk.Checkbutton(frame, #text='ja', variable=self.werkstoffdiskrepanz, command=lambda: self.callback("cb_werkstoffdiskrepanz"), @@ -850,11 +904,11 @@ class RightFrameWerkstoffdiskrepanz(AllFrames): werkstofftyp_label = ttk.Label(frame, text="Werkstofftyp:" ) werkstofftyp_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.werkstofftyp_neu = tk.StringVar() - werkstofftyp_neu_combo = ttk.Combobox(frame, textvariable=self.werkstofftyp_neu) - werkstofftyp_neu_combo['values'] = wnamen - werkstofftyp_neu_combo['state'] = 'readonly' - werkstofftyp_neu_combo.bind('<>', lambda event:self.callback('cb_werkstofftyp_neu')) - werkstofftyp_neu_combo.grid(column=col_left+2, row=self.rownum, sticky=tk.W, padx=3, pady=3) + self.werkstofftyp_neu_combo = ttk.Combobox(frame, textvariable=self.werkstofftyp_neu) + self.werkstofftyp_neu_combo['values'] = wnamen + self.werkstofftyp_neu_combo['state'] = 'readonly' + self.werkstofftyp_neu_combo.bind('<>', lambda event:self.callback('cb_werkstofftyp_neu')) + self.werkstofftyp_neu_combo.grid(column=col_left+2, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.rownum += 1 # Material @@ -865,11 +919,11 @@ class RightFrameWerkstoffdiskrepanz(AllFrames): material_entry.grid(column=col_left+1, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.material_neu = tk.StringVar() - material_neu_combo = ttk.Combobox(frame, textvariable=self.material_neu) - material_neu_combo['values'] = categories - material_neu_combo['state'] = 'readonly' - material_neu_combo.bind('<>', lambda event:self.callback('cb_material_neu')) - material_neu_combo.grid(column=col_left+2, row=self.rownum, sticky=tk.W, padx=3, pady=3) + self.material_neu_combo = ttk.Combobox(frame, textvariable=self.material_neu) + self.material_neu_combo['values'] = categories + self.material_neu_combo['state'] = 'readonly' + self.material_neu_combo.bind('<>', lambda event:self.callback('cb_material_neu')) + self.material_neu_combo.grid(column=col_left+2, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.rownum += 1 @@ -878,11 +932,11 @@ class RightFrameWerkstoffdiskrepanz(AllFrames): oberflaeche_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.oberflaeche_neu = tk.StringVar() - oberflaeche_neu_combo = ttk.Combobox(frame, textvariable=self.oberflaeche_neu) - oberflaeche_neu_combo['values'] = categories - oberflaeche_neu_combo['state'] = 'readonly' - oberflaeche_neu_combo.bind('<>', lambda event:self.callback('cb_oberflaeche_neu')) - oberflaeche_neu_combo.grid(column=col_left+2, row=self.rownum, sticky=tk.W, padx=3, pady=3) + self.oberflaeche_neu_combo = ttk.Combobox(frame, textvariable=self.oberflaeche_neu) + self.oberflaeche_neu_combo['values'] = categories + self.oberflaeche_neu_combo['state'] = 'readonly' + self.oberflaeche_neu_combo.bind('<>', lambda event:self.callback('cb_oberflaeche_neu')) + self.oberflaeche_neu_combo.grid(column=col_left+2, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.rownum += 1 # Farbe @@ -890,11 +944,11 @@ class RightFrameWerkstoffdiskrepanz(AllFrames): farbe_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.farbe_neu = tk.StringVar() - farbe_neu_combo = ttk.Combobox(frame, textvariable=self.farbe_neu) - farbe_neu_combo['values'] = categories - farbe_neu_combo['state'] = 'readonly' - farbe_neu_combo.bind('<>', lambda event:self.callback('cb_farbe_neu')) - farbe_neu_combo.grid(column=col_left+2, row=self.rownum, sticky=tk.W, padx=3, pady=3) + self.farbe_neu_combo = ttk.Combobox(frame, textvariable=self.farbe_neu) + self.farbe_neu_combo['values'] = categories + self.farbe_neu_combo['state'] = 'readonly' + self.farbe_neu_combo.bind('<>', lambda event:self.callback('cb_farbe_neu')) + self.farbe_neu_combo.grid(column=col_left+2, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.rownum += 1 separator = ttk.Separator(frame, orient='horizontal') @@ -910,6 +964,11 @@ class RightFrameWerkstoffdiskrepanz(AllFrames): "material_neu": self.material_neu.get(), "oberflaeche_neu": self.oberflaeche_neu.get(), "farbe_neu": self.farbe_neu.get(), + # ab hier die Dropdowns der Oberfläche + "cb_werkstofftyp_neu": self.werkstofftyp_neu_combo['values'], + "cb_material_neu": self.material_neu_combo['values'], + "cb_oberflaeche_neu": self.oberflaeche_neu_combo['values'], + "cb_farbe_neu": self.farbe_neu_combo['values'], } def data_from_model(self): @@ -928,6 +987,15 @@ class RightFrameWerkstoffdiskrepanz(AllFrames): self.oberflaeche_neu.set(data["oberflaeche_neu"]) if 'farbe_neu' in data: self.farbe_neu.set(data["farbe_neu"]) + # ab hier die Dropdowns der Oberfläche befüllen. + if 'cb_werkstofftyp_neu' in data: + self.werkstofftyp_neu_combo['values'] = data["cb_werkstofftyp_neu"] + if 'cb_material_neu' in data: + self.material_neu_combo['values'] = data["cb_material_neu"] + if 'cb_oberflaeche_neu' in data: + self.oberflaeche_neu_combo['values'] = data["cb_oberflaeche_neu"] + if 'cb_farbe_neu' in data: + self.farbe_neu_combo['values'] = data["cb_farbe_neu"] class RightFrameVersion(AllFrames): @@ -941,7 +1009,7 @@ class RightFrameVersion(AllFrames): self.rownum = AllFrames.get_rows(self) col_left = 0 - categories = configs.Allgemein.get_options("Kategorien") + categories = configs.Allgemein.get_options("Kategorien") # Version version_label = ttk.Label(frame, text="Version:" ) @@ -991,7 +1059,7 @@ class RightFrameVersion(AllFrames): separator = ttk.Separator(frame, orient='horizontal') 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 { @@ -1054,7 +1122,7 @@ class RightFrameZusatzinfos(AllFrames): separator = ttk.Separator(frame, orient='horizontal') separator.grid(column=col_left, columnspan=3, row=self.rownum, sticky=tk.EW, padx=3, pady=3) self.rownum += 1 - + speichern_button = ttk.Button(frame, text="Speichern", command=lambda: self.callback("cb_speichern")) speichern_button.grid(column=col_left, row=self.rownum, sticky=tk.EW, padx=3, pady=3) migrieren_button = ttk.Button(frame, text="migrieren", command=lambda: self.callback("cb_migrieren")) @@ -1071,14 +1139,14 @@ class RightFrameZusatzinfos(AllFrames): def data_from_model(self): data = self.get_controller().get_all_gui_data() if 'zusatzinfos_auto_text' in data: - self.zusatzinfos_auto_text.set(data["zusatzinfos_auto_text"]) + self.zusatzinfos_auto_text.set(data["zusatzinfos_auto_text"]) if 'zusatzinfos_bendef_text' in data: - self.zusatzinfos_bendef_text.set(data["zusatzinfos_bendef_text"]) + self.zusatzinfos_bendef_text.set(data["zusatzinfos_bendef_text"]) class App(): def __init__(self, root, configs=None): """Standardgui mit Baum zur Anwahl der Teile des Assemblies""" - + self.root = root self.build_widgets(root, configs) @@ -1193,7 +1261,7 @@ class App(): def OnMouseWheel(self,event): self.canvas.yview("scroll", event.delta, "units") - return "break" + return "break" if __name__ == "__main__": @@ -1206,9 +1274,9 @@ if __name__ == "__main__": data model objects. The CONTROLLER receives the input, optionally validates it and then passes the input to the model. - + <--fills gui -- --manipulates--> --user input-> <--give model data-- - - + + """