Comboboxen in gui integriert

This commit is contained in:
2024-01-25 09:22:14 +01:00
parent 4b82253f6b
commit ab21a8471e
+195 -127
View File
@@ -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('<<ComboboxSelected>>', 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('<<ComboboxSelected>>', 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('<<ComboboxSelected>>', 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('<<ComboboxSelected>>', 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('<<ComboboxSelected>>', 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('<<ComboboxSelected>>', 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('<<ComboboxSelected>>', 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('<<ComboboxSelected>>', 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('<<ComboboxSelected>>', 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('<<ComboboxSelected>>', 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('<<ComboboxSelected>>', 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('<<ComboboxSelected>>', 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('<<ComboboxSelected>>', 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('<<ComboboxSelected>>', 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('<<ComboboxSelected>>', 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('<<ComboboxSelected>>', 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('<<ComboboxSelected>>', 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('<<ComboboxSelected>>', 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('<<ComboboxSelected>>', 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('<<ComboboxSelected>>', 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('<<ComboboxSelected>>', 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('<<ComboboxSelected>>', 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('<<ComboboxSelected>>', 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('<<ComboboxSelected>>', 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('<<ComboboxSelected>>', 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('<<ComboboxSelected>>', 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('<<ComboboxSelected>>', 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('<<ComboboxSelected>>', 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('<<ComboboxSelected>>', 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('<<ComboboxSelected>>', 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('<<ComboboxSelected>>', 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('<<ComboboxSelected>>', 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('<<ComboboxSelected>>', 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('<<ComboboxSelected>>', 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('<<ComboboxSelected>>', 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('<<ComboboxSelected>>', 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('<<ComboboxSelected>>', 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('<<ComboboxSelected>>', 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.
<CONTROLLER>
<CONTROLLER>
<--fills gui -- --manipulates-->
--user input-> <--give model data--
<VIEW> <MODEL>
<VIEW> <MODEL>
"""