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
+343 -200
View File
@@ -1,5 +1,6 @@
import tkinter as tk
from tkinter import ttk
from tkinter import filedialog
from controller import Controller
from caditem import CadItem
@@ -56,7 +57,7 @@ class TreeView():
def __init__(self, frame, nrow=0):
# a treeview
# 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.
self.tree.heading('#0', text='root', anchor=tk.W)
self.tree.grid(row=nrow, column=0, sticky=tk.NSEW)
@@ -210,6 +211,18 @@ class RightFramePDM(AllFrames):
frame = self.frame
self.rownum = AllFrames.get_rows(self)
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
categories = configs.Allgemein.get_options("Kategorien") #"Baugruppe", "Einzelteil", "Kaufteil", "NichtSivas", "Normteil", "Schweissbaugruppe"
pdmkategorie_label = ttk.Label(frame, text="PDM-Kategorie:" )
@@ -228,7 +241,7 @@ class RightFramePDM(AllFrames):
self.neuaufbau = None
neuaufbau_checkbutton = ttk.Checkbutton(frame,
text='ja',
#text='ja',
variable=self.neuaufbau,
command=lambda: self.callback("neuaufbau"),
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)
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
lstatus = configs.Allgemein.get_options("Lebenszyklus") # Serie, Prototyp
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)
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
# 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)
# 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_neu_entry = ttk.Entry(frame, textvariable=self.model3d_neu)
model3d_neu_entry.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(
# parent=toplevel,
# 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)
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):
return {
"datenbank": self.get_database_str(),
"pdm_kategorie_neu": self.pdm_category.get(),
"neuaufbau": self.neuaufbau,
"lebenszyklus_status_neu": self.lebenszyklus_status_neu.get(),
"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):
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:
self.pdm_category.set(data["pdm_kategorie_neu"])
if 'neuaufbau' in data:
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:
self.lebenszyklus_status_neu.set(data["lebenszyklus_status_neu"])
if 'aus_halbzeug_neu' in data:
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):
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)
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_label = ttk.Label(frame, text="Beschaffungsart:" )
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):
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_neu": self.beschaffungsart_neu.get(),
"mengeneinheit_sivas": self.mengeneinheit_sivas.get(),
@@ -394,14 +644,6 @@ class RightFrameBezeichnung(AllFrames):
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"])
if 'beschaffungsart_sivas' in data:
self.beschaffungsart_sivas.set(data["beschaffungsart_sivas"])
if 'beschaffungsart_neu' in data:
@@ -592,7 +834,7 @@ class RightFrameWerkstoffdiskrepanz(AllFrames):
self.werkstoffdiskrepanz= None
werkstoffdiskr_checkbutton = ttk.Checkbutton(frame,
text='ja',
#text='ja',
variable=self.werkstoffdiskrepanz,
command=lambda: self.callback("werkstoffdiskrepanz"),
onvalue=True,
@@ -683,158 +925,6 @@ class RightFrameWerkstoffdiskrepanz(AllFrames):
if 'farbe_neu' in data:
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):
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)
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 {
@@ -936,6 +1020,57 @@ class RightFrameVersion(AllFrames):
if 'freigabevermerk_neu' in data:
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():
def __init__(self, root, configs=None):
"""Standardgui mit Baum zur Anwahl der Teile des Assemblies"""
@@ -1003,14 +1138,18 @@ class App():
nrows = self.rf2.get_rows()
self.rf3 = RightFrameBezeichnung(right_frame, nrows, configs)
nrows = self.rf3.get_rows()
self.rf4 = RightFrameTOSGruppe(right_frame, nrows, configs)
self.rf4 = RightFrameHalbzeugOhneS(right_frame, nrows, configs)
nrows = self.rf4.get_rows()
self.rf5 = RightFrameWerkstoffdiskrepanz(right_frame, nrows, configs)
self.rf5 = RightFrameBeschaffungsart(right_frame, nrows, configs)
nrows = self.rf5.get_rows()
self.rf6 = RightFrameHalbzeugOhneS(right_frame, nrows, configs)
self.rf6 = RightFrameTOSGruppe(right_frame, nrows, configs)
nrows = self.rf6.get_rows()
self.rf7 = RightFrameVersion(right_frame, nrows, configs)
self.rf7 = RightFrameWerkstoffdiskrepanz(right_frame, nrows, configs)
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):
""" methode zum Auslesen aller Daten der Oberfläche aus dem Modell
@@ -1025,6 +1164,8 @@ class App():
self.rf5.data_from_model()
self.rf6.data_from_model()
self.rf7.data_from_model()
self.rf8.data_from_model()
self.rf9.data_from_model()
def set_controller(self, controller):
""" merken des Handels auf den Controller in jedem Widget"""
@@ -1040,6 +1181,8 @@ class App():
self.rf5.set_controller(controller)
self.rf6.set_controller(controller)
self.rf7.set_controller(controller)
self.rf8.set_controller(controller)
self.rf9.set_controller(controller)
def mainloop(self):
self.root.mainloop()