Umbauarbeiten der Oberfläche entsprechend der neuen .svg Vorlage umgesetzt

This commit is contained in:
2024-01-22 18:36:26 +01:00
parent f24958f2e1
commit 67ea0125a5
+342 -199
View File
@@ -1,5 +1,6 @@
import tkinter as tk import tkinter as tk
from tkinter import ttk from tkinter import ttk
from tkinter import filedialog
from controller import Controller from controller import Controller
from caditem import CadItem from caditem import CadItem
@@ -56,7 +57,7 @@ class TreeView():
def __init__(self, frame, nrow=0): def __init__(self, frame, nrow=0):
# a treeview # a treeview
# hier Anzahl der sichtbaren Zeilen des Baums angeben: # hier Anzahl der sichtbaren Zeilen des Baums angeben:
self.tree = ttk.Treeview(frame, height=47) self.tree = ttk.Treeview(frame, height=57)
# TODO hier anstatt root die Statistik rein schreiben. # TODO hier anstatt root die Statistik rein schreiben.
self.tree.heading('#0', text='root', anchor=tk.W) self.tree.heading('#0', text='root', anchor=tk.W)
self.tree.grid(row=nrow, column=0, sticky=tk.NSEW) self.tree.grid(row=nrow, column=0, sticky=tk.NSEW)
@@ -210,6 +211,18 @@ class RightFramePDM(AllFrames):
frame = self.frame frame = self.frame
self.rownum = AllFrames.get_rows(self) self.rownum = AllFrames.get_rows(self)
col_left = 0 col_left = 0
# Datenbank Schulung oder Produktiv
datenbank_label = ttk.Label(frame, text="Datenbank:" )
datenbank_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3)
self.datenbank = tk.IntVar(value=1)
datenbank_prod = ttk.Radiobutton(frame, text="Produktiv", variable=self.datenbank, value=1)
datenbank_prod .grid(column=col_left+2, row=self.rownum, sticky=tk.W, padx=3, pady=3)
self.rownum += 1
datenbank_schul = ttk.Radiobutton(frame, text="Schulung", variable=self.datenbank, value=2)
datenbank_schul .grid(column=col_left+2, row=self.rownum, sticky=tk.W, padx=3, pady=3)
self.rownum += 1
# pdmkategorie # pdmkategorie
categories = configs.Allgemein.get_options("Kategorien") #"Baugruppe", "Einzelteil", "Kaufteil", "NichtSivas", "Normteil", "Schweissbaugruppe" categories = configs.Allgemein.get_options("Kategorien") #"Baugruppe", "Einzelteil", "Kaufteil", "NichtSivas", "Normteil", "Schweissbaugruppe"
pdmkategorie_label = ttk.Label(frame, text="PDM-Kategorie:" ) pdmkategorie_label = ttk.Label(frame, text="PDM-Kategorie:" )
@@ -228,7 +241,7 @@ class RightFramePDM(AllFrames):
self.neuaufbau = None self.neuaufbau = None
neuaufbau_checkbutton = ttk.Checkbutton(frame, neuaufbau_checkbutton = ttk.Checkbutton(frame,
text='ja', #text='ja',
variable=self.neuaufbau, variable=self.neuaufbau,
command=lambda: self.callback("neuaufbau"), command=lambda: self.callback("neuaufbau"),
onvalue=True, onvalue=True,
@@ -236,6 +249,43 @@ class RightFramePDM(AllFrames):
neuaufbau_checkbutton.grid(column=col_left+2, row=self.rownum, sticky=tk.W, padx=3, pady=3) neuaufbau_checkbutton.grid(column=col_left+2, row=self.rownum, sticky=tk.W, padx=3, pady=3)
self.rownum += 1 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,
#text='neu',
variable=self.aus_halbzeug_neu,
command=lambda: self.callback("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.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_neu = tk.StringVar()
halbzeugnummer_neu_entry = ttk.Entry(frame, textvariable=self.halbzeugnummer_neu)
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_neu = tk.StringVar()
halbzeuglaenge_neu_entry = ttk.Entry(frame, textvariable=self.halbzeuglaenge_neu)
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="Halbzeugoberflaeche:" )
halbzeugoberflaeche_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3)
self.halbzeugoberflaeche_neu = tk.StringVar()
halbzeugoberflaeche_neu_entry = ttk.Entry(frame, textvariable=self.halbzeugoberflaeche_neu)
halbzeugoberflaeche_neu_entry.grid(column=col_left+2, row=self.rownum, sticky=tk.W, padx=3, pady=3)
self.rownum += 1
# Lebenszyklusstatus # 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 = ttk.Label(frame, text="Lebenszyklusstatus:")
@@ -248,53 +298,67 @@ class RightFramePDM(AllFrames):
lebenszyklusstatus_combo.grid(column=col_left+2, row=self.rownum, sticky=tk.W, padx=3, pady=3) lebenszyklusstatus_combo.grid(column=col_left+2, row=self.rownum, sticky=tk.W, padx=3, pady=3)
self.rownum += 1 self.rownum += 1
# aus Halbzeug # 3D Model Filesearch
halbzeug_label = ttk.Label(frame, text="aus Halbzeug:") model3d_label = ttk.Label(frame, text="3D-Modell:" )
halbzeug_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) model3d_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3)
self.aus_halbzeug_neu = None self.model3d_neu = tk.StringVar()
aushalbzeug_checkbuttonr = ttk.Checkbutton(frame, model3d_neu_entry = ttk.Entry(frame, textvariable=self.model3d_neu)
text='neu', model3d_neu_entry.grid(column=col_left+1, columnspan=2, row=self.rownum, sticky=tk.W, padx=3, pady=3)
variable=self.aus_halbzeug_neu, #toplevel = tk.Toplevel()
command=lambda: self.callback("aus_halbzeug_neu"), #toplevel.title("search Window")
onvalue=True, #filename = filedialog.askopenfilename(
offvalue=False) # parent=toplevel,
aushalbzeug_checkbuttonr.grid(column=col_left+2, row=self.rownum, sticky=tk.W, padx=3, pady=3) # title="Browse File"
#)
self.rownum += 1 self.rownum += 1
# Zusatzinformationen
zusatzinfos_label = ttk.Label(frame, text="Zusatzinformationen:")
zusatzinfos_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3)
self.zusatzinfos_text = tk.StringVar()
zusatzinfos_entry = ttk.Entry(frame, textvariable=self.zusatzinfos_text)
zusatzinfos_entry.grid(column=col_left+1, columnspan=2, row=self.rownum, sticky=tk.EW+tk.NS, padx=3, pady=3)
self.rownum += 1
separator = ttk.Separator(frame, orient='horizontal') separator = ttk.Separator(frame, orient='horizontal')
separator.grid(column=col_left, columnspan=3, row=self.rownum, sticky=tk.EW, padx=3, pady=3) separator.grid(column=col_left, columnspan=3, row=self.rownum, sticky=tk.EW, padx=3, pady=3)
self.rownum += 1 self.rownum += 1
def database_str(self):
if self.datenbank.get() == 1:
datenbank = "produktiv"
else:
datenbank = "schulung"
def value_to_database_str(self, val):
if val == 1:
return "produktiv"
else:
return "schulung"
def get_data(self): def get_data(self):
return { return {
"datenbank": self.get_database_str(),
"pdm_kategorie_neu": self.pdm_category.get(), "pdm_kategorie_neu": self.pdm_category.get(),
"neuaufbau": self.neuaufbau, "neuaufbau": self.neuaufbau,
"lebenszyklus_status_neu": self.lebenszyklus_status_neu.get(),
"aus_halbzeug_neu": self.aus_halbzeug_neu, "aus_halbzeug_neu": self.aus_halbzeug_neu,
"zusatzinfos_txt_neu": self.zusatzinfos_text.get(), "halbzeugnummer_neu": self.halbzeugnummer_neu.get(),
"halbzeuglaenge_neu": self.halbzeuglaenge_neu.get(),
"halbzeugoberflaeche_neu":self.halbzeugoberflaeche_neu.get(),
"lebenszyklus_status_neu": self.lebenszyklus_status_neu.get(),
} }
def data_from_model(self): def data_from_model(self):
data = self.get_controller().get_all_gui_data() data = self.get_controller().get_all_gui_data()
if 'datenbank' in data:
self.datenbank.set(self.value_to_database_str(data["datenbank"]))
if 'pdm_kategorie_neu' in data: if 'pdm_kategorie_neu' in data:
self.pdm_category.set(data["pdm_kategorie_neu"]) self.pdm_category.set(data["pdm_kategorie_neu"])
if 'neuaufbau' in data: if 'neuaufbau' in data:
self.neuaufbau = data["neuaufbau"] self.neuaufbau = data["neuaufbau"]
if 'halbzeugnummer_neu' in data:
self.halbzeugnummer_neu.set(data["halbzeugnummer_neu"])
if 'halbzeuglaenge_neu' in data:
self.halbzeuglaenge_neu.set(data["halbzeuglaenge_neu"])
if 'halbzeugoberflaeche_neu' in data:
self.halbzeugoberflaeche_neu.set(data["halbzeugoberflaeche_neu"])
if 'lebenszyklus_status_neu' in data: if 'lebenszyklus_status_neu' in data:
self.lebenszyklus_status_neu.set(data["lebenszyklus_status_neu"]) self.lebenszyklus_status_neu.set(data["lebenszyklus_status_neu"])
if 'aus_halbzeug_neu' in data: if 'aus_halbzeug_neu' in data:
self.aus_halbzeug_neu= data["aus_halbzeug_neu"] self.aus_halbzeug_neu= data["aus_halbzeug_neu"]
if 'zusatzinfos_text_neu' in data:
self.zusatzinfos_text.set(data["zusatzinfos_text_neu"])
class RightFrameBezeichnung(AllFrames): class RightFrameBezeichnung(AllFrames):
def __init__(self, frame, nrow=0, configs=None): def __init__(self, frame, nrow=0, configs=None):
@@ -328,6 +392,196 @@ class RightFrameBezeichnung(AllFrames):
bezeichnung2_entry.grid(column=col_left+1, row=self.rownum, sticky=tk.W, padx=3, pady=3) bezeichnung2_entry.grid(column=col_left+1, row=self.rownum, sticky=tk.W, padx=3, pady=3)
self.rownum += 1 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)
self.rownum += 1
def get_data(self):
return {
"bezeichnung1_sivas": self.bezeichnung1_sivas.get(),
"bezeichnung1_neu": self.bezeichnung1_neu.get(),
"bezeichnung2_sivas": self.bezeichnung2_sivas.get(),
"bezeichnung2_neu": self.bezeichnung2_neu.get(),
}
def data_from_model(self):
data = self.get_controller().get_all_gui_data()
if 'bezeichnung1_sivas' in data:
self.bezeichnung1_sivas.set(data["bezeichnung1_sivas"])
if 'bezeichnung1_neu' in data:
self.bezeichnung1_neu.set(data["bezeichnung1_neu"])
if 'bezeichnung2_sivas' in data:
self.bezeichnung2_sivas.set(data["bezeichnung2_sivas"])
if 'bezeichnung2_neu' in data:
self.bezeichnung2_neu.set(data["bezeichnung2_neu"])
class RightFrameHalbzeugOhneS(AllFrames):
def __init__(self, frame, nrow=0, configs=None):
AllFrames.__init__(self, nrow)
self.frame = frame
self.build_widgets(configs)
def build_widgets(self, configs):
frame = self.frame
self.rownum = AllFrames.get_rows(self)
col_left = 0
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:" )
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)
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'] = categories
halbzeugOhneSaege_neu_combo['state'] = 'readonly'
halbzeugOhneSaege_neu_combo.bind('<<ComboboxSelected>>', lambda event:self.callback('halbzeugOhneSaege_neu'))
halbzeugOhneSaege_neu_combo.grid(column=col_left+2, row=self.rownum, sticky=tk.W, padx=3, pady=3)
self.rownum += 1
# Rüstcode
ruestcode_label = ttk.Label(frame, text="Rüstcode:" )
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)
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('ruestcode_neu'))
ruestcode_neu_combo.grid(column=col_left+2, row=self.rownum, sticky=tk.W, padx=3, pady=3)
self.rownum += 1
# Fertigungsart
fertigungsart_label = ttk.Label(frame, text="Fertigungsart:" )
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)
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('fertigungsart_neu'))
fertigungsart_neu_combo.grid(column=col_left+2, row=self.rownum, sticky=tk.W, padx=3, pady=3)
self.rownum += 1
# Allgmeintoleranz
allgemeintoleranz_label = ttk.Label(frame, text="Allgemeintoleranz:" )
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)
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('allgemeintoleranz_neu'))
allgemeintoleranz_neu_combo.grid(column=col_left+2, row=self.rownum, sticky=tk.W, padx=3, pady=3)
self.rownum += 1
# FOS-Gruppe
fosGruppe_label = ttk.Label(frame, text="FOS-Gruppe:" )
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)
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('fosGruppe_neu'))
fosGruppe_neu_combo.grid(column=col_left+2, row=self.rownum, sticky=tk.W, padx=3, pady=3)
self.rownum += 1
# Kalulationsart
kalkulationsart_label = ttk.Label(frame, text="Kalkulationsart:" )
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)
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('kalkulationsart_neu'))
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')
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 {
"halbzeugOhneSaege_sivas": self.halbzeugOhneSaege_sivas.get(),
"halbzeugOhneSaege_neu": self.halbzeugOhneSaege_neu.get(),
"ruestcode_sivas": self.ruestcode_sivas.get(),
"ruestcode_neu": self.ruestcode_neu.get(),
"fertigungsart_sivas": self.fertigungsart_sivas.get(),
"fertigungsart_neu": self.fertigungsart_neu.get(),
"allgemeintoleranz_sivas": self.allgemeintoleranz_sivas.get(),
"allgemeintoleranz_neu": self.allgemeintoleranz_neu.get(),
"fosGruppe_sivas": self.fosGruppe_sivas.get(),
"fosGruppe_neu": self.fosGruppe_neu.get(),
"kalkulationsart_sivas": self.kalkulationsart_sivas.get(),
"kalkulationsart_neu": self.kalkulationsart_neu.get(),
}
def data_from_model(self):
data = self.get_controller().get_all_gui_data()
if 'halbzeugOhneSaege_sivas' in data:
self.halbzeugOhneSaege_sivas.set(data["halbzeugOhneSaege_sivas"])
if 'halbzeugOhneSaege_neu' in data:
self.halbzeugOhneSaege_neu.set(data["halbzeugOhneSaege_neu"])
if 'ruestcode_sivas' in data:
self.ruestcode_sivas.set(data["ruestcode_sivas"])
if 'ruestcode_neu' in data:
self.ruestcode_neu.set(data["ruestcode_neu"])
if 'fertigungsart_sivas' in data:
self.fertigungsart_sivas.set(data["fertigungsart_sivas"])
if 'fertigungsart_neu' in data:
self.fertigungsart_neu.set(data["fertigungsart_neu"])
if 'allgemeintoleranz_sivas' in data:
self.allgemeintoleranz_sivas.set(data["allgemeintoleranz_sivas"])
if 'allgemeintoleranz_neu' in data:
self.allgemeintoleranz_neu.set(data["allgemeintoleranz_neu"])
if 'fosGruppe_sivas' in data:
self.fosGruppe_sivas.set(data["fosGruppe_sivas"])
if 'fosGruppe_neu' in data:
self.fosGruppe_neu.set(data["fosGruppe_neu"])
if 'kalkulationsart_sivas' in data:
self.kalkulationsart_sivas.set(data["kalkulationsart_sivas"])
if 'kalkulationsart_neu' in data:
self.kalkulationsart_neu.set(data["kalkulationsart_neu"])
class RightFrameBeschaffungsart(AllFrames):
def __init__(self, frame, nrow=0, configs=None):
AllFrames.__init__(self, nrow)
self.frame = frame
self.build_widgets(configs)
def build_widgets(self, configs):
frame = self.frame
self.rownum = AllFrames.get_rows(self)
col_left = 0
categories = configs.Allgemein.get_options("Kategorien")
# Beschaffungsart # Beschaffungsart
beschaffungsart_label = ttk.Label(frame, text="Beschaffungsart:" ) beschaffungsart_label = ttk.Label(frame, text="Beschaffungsart:" )
beschaffungsart_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) beschaffungsart_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3)
@@ -380,10 +634,6 @@ class RightFrameBezeichnung(AllFrames):
def get_data(self): def get_data(self):
return { return {
"bezeichnung1_sivas": self.bezeichnung1_sivas.get(),
"bezeichnung1_neu": self.bezeichnung1_neu.get(),
"bezeichnung2_sivas": self.bezeichnung2_sivas.get(),
"bezeichnung2_neu": self.bezeichnung2_neu.get(),
"beschaffungsart_sivas": self.beschaffungsart_sivas.get(), "beschaffungsart_sivas": self.beschaffungsart_sivas.get(),
"beschaffungsart_neu": self.beschaffungsart_neu.get(), "beschaffungsart_neu": self.beschaffungsart_neu.get(),
"mengeneinheit_sivas": self.mengeneinheit_sivas.get(), "mengeneinheit_sivas": self.mengeneinheit_sivas.get(),
@@ -394,14 +644,6 @@ class RightFrameBezeichnung(AllFrames):
def data_from_model(self): def data_from_model(self):
data = self.get_controller().get_all_gui_data() data = self.get_controller().get_all_gui_data()
if 'bezeichnung1_sivas' in data:
self.bezeichnung1_sivas.set(data["bezeichnung1_sivas"])
if 'bezeichnung1_neu' in data:
self.bezeichnung1_neu.set(data["bezeichnung1_neu"])
if 'bezeichnung2_sivas' in data:
self.bezeichnung2_sivas.set(data["bezeichnung2_sivas"])
if 'bezeichnung2_neu' in data:
self.bezeichnung2_neu.set(data["bezeichnung2_neu"])
if 'beschaffungsart_sivas' in data: if 'beschaffungsart_sivas' in data:
self.beschaffungsart_sivas.set(data["beschaffungsart_sivas"]) self.beschaffungsart_sivas.set(data["beschaffungsart_sivas"])
if 'beschaffungsart_neu' in data: if 'beschaffungsart_neu' in data:
@@ -592,7 +834,7 @@ class RightFrameWerkstoffdiskrepanz(AllFrames):
self.werkstoffdiskrepanz= None self.werkstoffdiskrepanz= None
werkstoffdiskr_checkbutton = ttk.Checkbutton(frame, werkstoffdiskr_checkbutton = ttk.Checkbutton(frame,
text='ja', #text='ja',
variable=self.werkstoffdiskrepanz, variable=self.werkstoffdiskrepanz,
command=lambda: self.callback("werkstoffdiskrepanz"), command=lambda: self.callback("werkstoffdiskrepanz"),
onvalue=True, onvalue=True,
@@ -683,158 +925,6 @@ class RightFrameWerkstoffdiskrepanz(AllFrames):
if 'farbe_neu' in data: if 'farbe_neu' in data:
self.farbe_neu.set(data["farbe_neu"]) self.farbe_neu.set(data["farbe_neu"])
class RightFrameHalbzeugOhneS(AllFrames):
def __init__(self, frame, nrow=0, configs=None):
AllFrames.__init__(self, nrow)
self.frame = frame
self.build_widgets(configs)
def build_widgets(self, configs):
frame = self.frame
self.rownum = AllFrames.get_rows(self)
col_left = 0
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:" )
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)
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'] = categories
halbzeugOhneSaege_neu_combo['state'] = 'readonly'
halbzeugOhneSaege_neu_combo.bind('<<ComboboxSelected>>', lambda event:self.callback('halbzeugOhneSaege_neu'))
halbzeugOhneSaege_neu_combo.grid(column=col_left+2, row=self.rownum, sticky=tk.W, padx=3, pady=3)
self.rownum += 1
# Rüstcode
ruestcode_label = ttk.Label(frame, text="Rüstcode:" )
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)
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('ruestcode_neu'))
ruestcode_neu_combo.grid(column=col_left+2, row=self.rownum, sticky=tk.W, padx=3, pady=3)
self.rownum += 1
# Fertigungsart
fertigungsart_label = ttk.Label(frame, text="Fertigungsart:" )
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)
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('fertigungsart_neu'))
fertigungsart_neu_combo.grid(column=col_left+2, row=self.rownum, sticky=tk.W, padx=3, pady=3)
self.rownum += 1
# Allgmeintoleranz
allgemeintoleranz_label = ttk.Label(frame, text="Allgemeintoleranz:" )
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)
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('allgemeintoleranz_neu'))
allgemeintoleranz_neu_combo.grid(column=col_left+2, row=self.rownum, sticky=tk.W, padx=3, pady=3)
self.rownum += 1
# FOS-Gruppe
fosGruppe_label = ttk.Label(frame, text="FOS-Gruppe:" )
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)
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('fosGruppe_neu'))
fosGruppe_neu_combo.grid(column=col_left+2, row=self.rownum, sticky=tk.W, padx=3, pady=3)
self.rownum += 1
# Kalulationsart
kalkulationsart_label = ttk.Label(frame, text="Kalkulationsart:" )
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)
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('kalkulationsart_neu'))
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')
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 {
"halbzeugOhneSaege_sivas": self.halbzeugOhneSaege_sivas.get(),
"halbzeugOhneSaege_neu": self.halbzeugOhneSaege_neu.get(),
"ruestcode_sivas": self.ruestcode_sivas.get(),
"ruestcode_neu": self.ruestcode_neu.get(),
"fertigungsart_sivas": self.fertigungsart_sivas.get(),
"fertigungsart_neu": self.fertigungsart_neu.get(),
"allgemeintoleranz_sivas": self.allgemeintoleranz_sivas.get(),
"allgemeintoleranz_neu": self.allgemeintoleranz_neu.get(),
"fosGruppe_sivas": self.fosGruppe_sivas.get(),
"fosGruppe_neu": self.fosGruppe_neu.get(),
"kalkulationsart_sivas": self.kalkulationsart_sivas.get(),
"kalkulationsart_neu": self.kalkulationsart_neu.get(),
}
def data_from_model(self):
data = self.get_controller().get_all_gui_data()
if 'halbzeugOhneSaege_sivas' in data:
self.halbzeugOhneSaege_sivas.set(data["halbzeugOhneSaege_sivas"])
if 'halbzeugOhneSaege_neu' in data:
self.halbzeugOhneSaege_neu.set(data["halbzeugOhneSaege_neu"])
if 'ruestcode_sivas' in data:
self.ruestcode_sivas.set(data["ruestcode_sivas"])
if 'ruestcode_neu' in data:
self.ruestcode_neu.set(data["ruestcode_neu"])
if 'fertigungsart_sivas' in data:
self.fertigungsart_sivas.set(data["fertigungsart_sivas"])
if 'fertigungsart_neu' in data:
self.fertigungsart_neu.set(data["fertigungsart_neu"])
if 'allgemeintoleranz_sivas' in data:
self.allgemeintoleranz_sivas.set(data["allgemeintoleranz_sivas"])
if 'allgemeintoleranz_neu' in data:
self.allgemeintoleranz_neu.set(data["allgemeintoleranz_neu"])
if 'fosGruppe_sivas' in data:
self.fosGruppe_sivas.set(data["fosGruppe_sivas"])
if 'fosGruppe_neu' in data:
self.fosGruppe_neu.set(data["fosGruppe_neu"])
if 'kalkulationsart_sivas' in data:
self.kalkulationsart_sivas.set(data["kalkulationsart_sivas"])
if 'kalkulationsart_neu' in data:
self.kalkulationsart_neu.set(data["kalkulationsart_neu"])
class RightFrameVersion(AllFrames): class RightFrameVersion(AllFrames):
def __init__(self, frame, nrow=0, configs=None): def __init__(self, frame, nrow=0, configs=None):
@@ -898,12 +988,6 @@ class RightFrameVersion(AllFrames):
separator.grid(column=col_left, columnspan=3, row=self.rownum, sticky=tk.EW, padx=3, pady=3) separator.grid(column=col_left, columnspan=3, row=self.rownum, sticky=tk.EW, padx=3, pady=3)
self.rownum += 1 self.rownum += 1
speichern_button = ttk.Button(frame, text="Speichern", command=lambda: self.callback("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("migrieren"))
migrieren_button.grid(column=col_left+1, row=self.rownum, sticky=tk.EW, padx=3, pady=3)
zuruecksetzen_button = ttk.Button(frame, text="zurücksetzen", command=lambda: self.callback("zurücksetzen"))
zuruecksetzen_button.grid(column=col_left+2, row=self.rownum, sticky=tk.EW, padx=3, pady=3)
def get_data(self): def get_data(self):
return { return {
@@ -936,6 +1020,57 @@ class RightFrameVersion(AllFrames):
if 'freigabevermerk_neu' in data: if 'freigabevermerk_neu' in data:
self.freigabevermerk_neu.set(data["freigabevermerk_neu"]) self.freigabevermerk_neu.set(data["freigabevermerk_neu"])
class RightFrameZusatzinfos(AllFrames):
def __init__(self, frame, nrow=0, configs=None):
AllFrames.__init__(self, nrow)
self.frame = frame
self.build_widgets(configs)
def build_widgets(self, configs):
frame = self.frame
self.rownum = AllFrames.get_rows(self)
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_text = tk.StringVar()
zusatzinfos_auto_entry = ttk.Entry(frame, textvariable=self.zusatzinfos_auto_text)
zusatzinfos_auto_entry.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_text = tk.StringVar()
zusatzinfos_bendef_entry = ttk.Entry(frame, textvariable=self.zusatzinfos_bendef_text)
zusatzinfos_bendef_entry.grid(column=col_left+1, columnspan=2, row=self.rownum, sticky=tk.EW+tk.NS, padx=3, pady=3)
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)
self.rownum += 1
speichern_button = ttk.Button(frame, text="Speichern", command=lambda: self.callback("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("migrieren"))
migrieren_button.grid(column=col_left+1, row=self.rownum, sticky=tk.EW, padx=3, pady=3)
zuruecksetzen_button = ttk.Button(frame, text="zurücksetzen", command=lambda: self.callback("zurücksetzen"))
zuruecksetzen_button.grid(column=col_left+2, row=self.rownum, sticky=tk.EW, padx=3, pady=3)
def get_data(self):
return {
"zusatzinfos_auto_text": self.zusatzinfos_auto_text.get(),
"zusatzinfos_bendef_text": self.zusatzinfos_bendef_text.get(),
}
def data_from_model(self):
data = self.get_controller().get_all_gui_data()
if 'zusatzinfos_auto_text' in data:
self.zusatzinfos_text.set(data["zusatzinfos_auto_text"])
if 'zusatzinfos_bendef_text' in data:
self.zusatzinfos_text.set(data["zusatzinfos_bendef_text"])
class App(): class App():
def __init__(self, root, configs=None): def __init__(self, root, configs=None):
"""Standardgui mit Baum zur Anwahl der Teile des Assemblies""" """Standardgui mit Baum zur Anwahl der Teile des Assemblies"""
@@ -1003,14 +1138,18 @@ class App():
nrows = self.rf2.get_rows() nrows = self.rf2.get_rows()
self.rf3 = RightFrameBezeichnung(right_frame, nrows, configs) self.rf3 = RightFrameBezeichnung(right_frame, nrows, configs)
nrows = self.rf3.get_rows() nrows = self.rf3.get_rows()
self.rf4 = RightFrameTOSGruppe(right_frame, nrows, configs) self.rf4 = RightFrameHalbzeugOhneS(right_frame, nrows, configs)
nrows = self.rf4.get_rows() nrows = self.rf4.get_rows()
self.rf5 = RightFrameWerkstoffdiskrepanz(right_frame, nrows, configs) self.rf5 = RightFrameBeschaffungsart(right_frame, nrows, configs)
nrows = self.rf5.get_rows() nrows = self.rf5.get_rows()
self.rf6 = RightFrameHalbzeugOhneS(right_frame, nrows, configs) self.rf6 = RightFrameTOSGruppe(right_frame, nrows, configs)
nrows = self.rf6.get_rows() nrows = self.rf6.get_rows()
self.rf7 = RightFrameVersion(right_frame, nrows, configs) self.rf7 = RightFrameWerkstoffdiskrepanz(right_frame, nrows, configs)
nrows = self.rf7.get_rows() nrows = self.rf7.get_rows()
self.rf8 = RightFrameVersion(right_frame, nrows, configs)
nrows = self.rf8.get_rows()
self.rf9 = RightFrameZusatzinfos(right_frame, nrows, configs)
nrows = self.rf9.get_rows()
def data_from_model(self): def data_from_model(self):
""" methode zum Auslesen aller Daten der Oberfläche aus dem Modell """ methode zum Auslesen aller Daten der Oberfläche aus dem Modell
@@ -1025,6 +1164,8 @@ class App():
self.rf5.data_from_model() self.rf5.data_from_model()
self.rf6.data_from_model() self.rf6.data_from_model()
self.rf7.data_from_model() self.rf7.data_from_model()
self.rf8.data_from_model()
self.rf9.data_from_model()
def set_controller(self, controller): def set_controller(self, controller):
""" merken des Handels auf den Controller in jedem Widget""" """ merken des Handels auf den Controller in jedem Widget"""
@@ -1040,6 +1181,8 @@ class App():
self.rf5.set_controller(controller) self.rf5.set_controller(controller)
self.rf6.set_controller(controller) self.rf6.set_controller(controller)
self.rf7.set_controller(controller) self.rf7.set_controller(controller)
self.rf8.set_controller(controller)
self.rf9.set_controller(controller)
def mainloop(self): def mainloop(self):
self.root.mainloop() self.root.mainloop()