From 7dda641aed01753511cd6ef8d20a3a0c144c2b35 Mon Sep 17 00:00:00 2001 From: mistangl Date: Wed, 31 Jan 2024 13:44:18 +0100 Subject: [PATCH] =?UTF-8?q?Environment=20mit=20der=20Config=20=C3=BCbergeb?= =?UTF-8?q?en?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/CreoMigrateGui.py | 4 ++- lib/caditem.py | 5 +-- lib/gui.py | 72 ++++++++++++++++++++++++------------------- lib/manage_configs.py | 13 ++++++++ 4 files changed, 57 insertions(+), 37 deletions(-) diff --git a/lib/CreoMigrateGui.py b/lib/CreoMigrateGui.py index bfca578..1cd0cbf 100644 --- a/lib/CreoMigrateGui.py +++ b/lib/CreoMigrateGui.py @@ -87,6 +87,8 @@ def build_gui(model, configs): app = App(root, configs) controller = Controller(model, app) + controller.set_env(configs.get_env()) + logic = GuiLogic(model, configs) controller.add_logic(logic) @@ -110,10 +112,10 @@ if __name__ == '__main__': environment = Environment() output_dir = environment.out_dir configs = Configs(environment.cfg_dir) + configs.set_env(environment) model = CadItem() if args.demo: - model.set_env(environment) model.from_json(demo_data) build_gui(model, configs) diff --git a/lib/caditem.py b/lib/caditem.py index de16fd2..8eaad8d 100644 --- a/lib/caditem.py +++ b/lib/caditem.py @@ -104,12 +104,9 @@ class CadItem(): self.gui_data = {} self.read_only_items = {} self.controller = None - self.env = None def set_controller(self, controller): self.controller = controller - def set_env(self, env): - self.environment = env def set_asm_id(self, asm_id): self.set_gui_data("asm_id", asm_id) @@ -184,7 +181,7 @@ class CadItem(): return self.gui_data def sivas_data_from_csv(self, cid): - path = os.path.join(self.environment.out_dir, cid + '.csv') + path = os.path.join(self.controller.get_env("data"), cid + '.csv') if os.path.exists(path): data = self.load_csv(path) return data diff --git a/lib/gui.py b/lib/gui.py index 2c7f21a..1c8df58 100644 --- a/lib/gui.py +++ b/lib/gui.py @@ -1,9 +1,7 @@ import tkinter as tk from tkinter import ttk from tkinter import filedialog -from controller import Controller -from caditem import CadItem -import json +import os #import logging @@ -140,6 +138,19 @@ class LeftFrameAsm(AllFrames): asm_entry = ttk.Entry(frame, textvariable=self.asm_number, width=9) asm_entry.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.rownum += 1 + #search_iconpath = os.path.join(configs.get_cfg_path(), 'images', 'search.png') + #search_icon = tk.PhotoImage(file=search_iconpath) + # Resizing image to fit on button + #photoimage = search_icon.subsample(3, 3) + asm_search_button = ttk.Button( + frame, + text="Suche", + #image=photoimage, + compound = tk.LEFT, + command=lambda: self.callback("cb_suche_asm", self.asm_number.get()) + ) + asm_search_button.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) + self.rownum += 1 def get_data(self): return { @@ -182,7 +193,7 @@ class RightFrameLabels(AllFrames): teilenummer_label = ttk.Label(frame, text="Teilenummer:") teilenummer_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.teilenummer_text = tk.StringVar() - teilenummer_entry = ttk.Entry(frame, textvariable=self.teilenummer_text, width=9) + teilenummer_entry = ttk.Entry(frame, textvariable=self.teilenummer_text, width=9, state="readonly") teilenummer_entry.grid(column=col_left+1, row=self.rownum, sticky=tk.W, padx=3, pady=3) teilenummer_entry.bind('<>', lambda event:self.callback("cb_teilenummer", self.teilenummer_text.get())) self.rownum += 1 @@ -401,7 +412,7 @@ class RightFrameBezeichnung(AllFrames): bezeichnung2_label = ttk.Label(frame, text="Bezeichnung 2:" ) bezeichnung2_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.bezeichnung2_sivas = tk.StringVar() - bezeichnung2_entry = ttk.Entry(frame, textvariable=self.bezeichnung2_sivas) + bezeichnung2_entry = ttk.Entry(frame, textvariable=self.bezeichnung2_sivas, state="readonly") bezeichnung2_entry.grid(column=col_left+1, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.rownum += 1 @@ -447,7 +458,7 @@ class RightFrameHalbzeugOhneS(AllFrames): 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 = ttk.Entry(frame, textvariable=self.halbzeugOhneSaege_sivas, state="readonly") halbzeugOhneSaege_entry.grid(column=col_left+1, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.halbzeugOhneSaege_neu = tk.StringVar() @@ -462,7 +473,7 @@ class RightFrameHalbzeugOhneS(AllFrames): 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 = ttk.Entry(frame, textvariable=self.ruestcode_sivas, state="readonly") ruestcode_entry.grid(column=col_left+1, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.ruestcode_neu = tk.StringVar() @@ -477,7 +488,7 @@ class RightFrameHalbzeugOhneS(AllFrames): 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 = ttk.Entry(frame, textvariable=self.fertigungsart_sivas, state="readonly") fertigungsart_entry.grid(column=col_left+1, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.fertigungsart_neu = tk.StringVar() @@ -492,7 +503,7 @@ class RightFrameHalbzeugOhneS(AllFrames): 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 = ttk.Entry(frame, textvariable=self.allgemeintoleranz_sivas, state="readonly") allgemeintoleranz_entry.grid(column=col_left+1, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.allgemeintoleranz_neu = tk.StringVar() @@ -507,7 +518,7 @@ class RightFrameHalbzeugOhneS(AllFrames): 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 = ttk.Entry(frame, textvariable=self.fosGruppe_sivas, state="readonly") fosGruppe_entry.grid(column=col_left+1, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.fosGruppe_neu = tk.StringVar() @@ -522,7 +533,7 @@ class RightFrameHalbzeugOhneS(AllFrames): 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 = ttk.Entry(frame, textvariable=self.kalkulationsart_sivas, state="readonly") kalkulationsart_entry.grid(column=col_left+1, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.kalkulationsart_neu = tk.StringVar() @@ -620,7 +631,7 @@ class RightFrameBeschaffungsart(AllFrames): beschaffungsart_label = ttk.Label(frame, text="Beschaffungsart:" ) beschaffungsart_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.beschaffungsart_sivas = tk.StringVar() - beschaffungsart_entry = ttk.Entry(frame, textvariable=self.beschaffungsart_sivas) + beschaffungsart_entry = ttk.Entry(frame, textvariable=self.beschaffungsart_sivas, state="readonly") beschaffungsart_entry.grid(column=col_left+1, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.beschaffungsart_neu = tk.StringVar() @@ -635,7 +646,7 @@ class RightFrameBeschaffungsart(AllFrames): mengeneinheit_label = ttk.Label(frame, text="Mengeneinheit:" ) mengeneinheit_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.mengeneinheit_sivas = tk.StringVar() - mengeneinheit_entry = ttk.Entry(frame, textvariable=self.mengeneinheit_sivas) + mengeneinheit_entry = ttk.Entry(frame, textvariable=self.mengeneinheit_sivas, state="readonly") mengeneinheit_entry.grid(column=col_left+1, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.mengeneinheit_neu = tk.StringVar() @@ -650,7 +661,7 @@ class RightFrameBeschaffungsart(AllFrames): halbzeug_label = ttk.Label(frame, text="Halbzeug:" ) halbzeug_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.halbzeug_sivas = tk.StringVar() - halbzeug_entry = ttk.Entry(frame, textvariable=self.halbzeug_sivas) + halbzeug_entry = ttk.Entry(frame, textvariable=self.halbzeug_sivas, state="readonly") halbzeug_entry.grid(column=col_left+1, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.halbzeug_neu = tk.StringVar() @@ -719,7 +730,7 @@ class RightFrameTOSGruppe(AllFrames): tosgruppe_label = ttk.Label(frame, text="TOS-Gruppe:" ) tosgruppe_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.tosgruppe_sivas = tk.StringVar() - tosgruppe_entry = ttk.Entry(frame, textvariable=self.tosgruppe_sivas) + tosgruppe_entry = ttk.Entry(frame, textvariable=self.tosgruppe_sivas, state="readonly") tosgruppe_entry.grid(column=col_left+1, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.tosgruppe_neu = tk.StringVar() tosgruppe_neu_entry = ttk.Entry(frame, textvariable=self.tosgruppe_neu) @@ -730,7 +741,7 @@ class RightFrameTOSGruppe(AllFrames): dispogruppe_label = ttk.Label(frame, text="Dispogruppe:" ) dispogruppe_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.dispogruppe_sivas = tk.StringVar() - dispogruppe_entry = ttk.Entry(frame, textvariable=self.dispogruppe_sivas) + dispogruppe_entry = ttk.Entry(frame, textvariable=self.dispogruppe_sivas, state="readonly") dispogruppe_entry.grid(column=col_left+1, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.dispogruppe_neu = tk.StringVar() @@ -745,7 +756,7 @@ class RightFrameTOSGruppe(AllFrames): dispolaufgruppe_label = ttk.Label(frame, text="Dispolaufgruppe:" ) dispolaufgruppe_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.dispolaufgruppe_sivas = tk.StringVar() - dispolaufgruppe_entry = ttk.Entry(frame, textvariable=self.dispolaufgruppe_sivas) + dispolaufgruppe_entry = ttk.Entry(frame, textvariable=self.dispolaufgruppe_sivas, state="readonly") dispolaufgruppe_entry.grid(column=col_left+1, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.dispolaufgruppe_neu = tk.StringVar() @@ -760,7 +771,7 @@ class RightFrameTOSGruppe(AllFrames): ersatzfuer_label = ttk.Label(frame, text="Ersatz für:" ) ersatzfuer_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.ersatzfuer_sivas = tk.StringVar() - ersatzfuer_entry = ttk.Entry(frame, textvariable=self.ersatzfuer_sivas) + ersatzfuer_entry = ttk.Entry(frame, textvariable=self.ersatzfuer_sivas, state="readonly") ersatzfuer_entry.grid(column=col_left+1, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.ersatzfuer_neu = tk.StringVar() ersatzfuer_neu_entry = ttk.Entry(frame, textvariable=self.ersatzfuer_neu) @@ -771,7 +782,7 @@ class RightFrameTOSGruppe(AllFrames): ersetztdurch_label = ttk.Label(frame, text="Ersetzt durch:" ) ersetztdurch_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.ersetztdurch_sivas = tk.StringVar() - ersetztdurch_entry = ttk.Entry(frame, textvariable=self.ersetztdurch_sivas) + ersetztdurch_entry = ttk.Entry(frame, textvariable=self.ersetztdurch_sivas, state="readonly") ersetztdurch_entry.grid(column=col_left+1, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.ersetztdurch_neu = tk.StringVar() ersetztdurch_neu_entry = ttk.Entry(frame, textvariable=self.ersetztdurch_neu) @@ -783,7 +794,7 @@ class RightFrameTOSGruppe(AllFrames): hersteller_label = ttk.Label(frame, text="Hersteller:" ) hersteller_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.hersteller_sivas = tk.StringVar() - hersteller_entry = ttk.Entry(frame, textvariable=self.hersteller_sivas) + hersteller_entry = ttk.Entry(frame, textvariable=self.hersteller_sivas, state="readonly") hersteller_entry.grid(column=col_left+1, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.hersteller_neu = tk.StringVar() @@ -798,7 +809,7 @@ class RightFrameTOSGruppe(AllFrames): herstteilenr_label = ttk.Label(frame, text="Hersteller Teilenummer:" ) herstteilenr_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.herstteilenr_sivas = tk.StringVar() - herstteilenr_entry = ttk.Entry(frame, textvariable=self.herstteilenr_sivas) + herstteilenr_entry = ttk.Entry(frame, textvariable=self.herstteilenr_sivas, state="readonly") herstteilenr_entry.grid(column=col_left+1, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.herstteilenr_neu = tk.StringVar() herstteilenr_neu_entry = ttk.Entry(frame, textvariable=self.herstteilenr_neu) @@ -913,7 +924,7 @@ class RightFrameWerkstoffdiskrepanz(AllFrames): material_label = ttk.Label(frame, text="Material:" ) material_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.material_sivas = tk.StringVar() - material_entry = ttk.Entry(frame, textvariable=self.material_sivas) + material_entry = ttk.Entry(frame, textvariable=self.material_sivas, state="readonly") material_entry.grid(column=col_left+1, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.material_neu = tk.StringVar() @@ -953,7 +964,6 @@ class RightFrameWerkstoffdiskrepanz(AllFrames): def get_data(self): return { "werkstoffdiskr_sivas": self.werkstoffdiskrepanz, - "werkstofftyp_sivas": self.werkstofftyp_sivas.get(), "werkstofftyp_neu": self.werkstofftyp_neu.get(), "material_sivas": self.material_sivas.get(), "material_neu": self.material_neu.get(), @@ -970,8 +980,6 @@ class RightFrameWerkstoffdiskrepanz(AllFrames): data = self.get_controller().get_all_gui_data() if 'werkstoffdiskr_sivas' in data: self.werkstoffdiskr_sivas(data["werkstoffdiskr_sivas"]) - if 'werkstofftyp_sivas' in data: - self.werkstofftyp_sivas.set(data["werkstofftyp_sivas"]) if 'werkstofftyp_neu' in data: self.werkstofftyp_neu.set(data["werkstofftyp_neu"]) if 'material_sivas' in data: @@ -1010,7 +1018,7 @@ class RightFrameVersion(AllFrames): version_label = ttk.Label(frame, text="Version:" ) version_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.version_sivas = tk.StringVar() - version_entry = ttk.Entry(frame, textvariable=self.version_sivas) + version_entry = ttk.Entry(frame, textvariable=self.version_sivas, state="readonly") version_entry.grid(column=col_left+1, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.version_neu = tk.StringVar() version_neu_entry = ttk.Entry(frame, textvariable=self.version_neu) @@ -1022,7 +1030,7 @@ class RightFrameVersion(AllFrames): aenderungsindex_label = ttk.Label(frame, text="Änderungsindex:" ) aenderungsindex_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.aenderungsindex_sivas = tk.StringVar() - aenderungsindex_entry = ttk.Entry(frame, textvariable=self.aenderungsindex_sivas) + aenderungsindex_entry = ttk.Entry(frame, textvariable=self.aenderungsindex_sivas, state="readonly") aenderungsindex_entry.grid(column=col_left+1, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.aenderungsindex_neu = tk.StringVar() aenderungsindex_neu_entry = ttk.Entry(frame, textvariable=self.aenderungsindex_neu) @@ -1033,7 +1041,7 @@ class RightFrameVersion(AllFrames): aenderungstext_label = ttk.Label(frame, text="Änderungstext:" ) aenderungstext_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.aenderungstext_sivas = tk.StringVar() - aenderungstext_entry = ttk.Entry(frame, textvariable=self.aenderungstext_sivas) + aenderungstext_entry = ttk.Entry(frame, textvariable=self.aenderungstext_sivas, state="readonly") aenderungstext_entry.grid(column=col_left+1, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.aenderungstext_neu = tk.StringVar() aenderungstext_neu_entry = ttk.Entry(frame, textvariable=self.aenderungstext_neu) @@ -1044,7 +1052,7 @@ class RightFrameVersion(AllFrames): freigabevermerk_label = ttk.Label(frame, text="Freigabevermerk:" ) freigabevermerk_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.freigabevermerk_sivas = tk.StringVar() - freigabevermerk_entry = ttk.Entry(frame, textvariable=self.freigabevermerk_sivas) + freigabevermerk_entry = ttk.Entry(frame, textvariable=self.freigabevermerk_sivas, state="readonly") freigabevermerk_entry.grid(column=col_left+1, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.freigabevermerk_neu = tk.StringVar() freigabevermerk_neu_entry = ttk.Entry(frame, textvariable=self.freigabevermerk_neu) @@ -1118,11 +1126,11 @@ class RightFrameZusatzinfos(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("cb_speichern")) + speichern_button = ttk.Button(frame, text="Speichern", command=lambda: self.callback("cb_speichern", None)) 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")) + migrieren_button = ttk.Button(frame, text="migrieren", command=lambda: self.callback("cb_migrieren", None)) 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("cb_zurücksetzen")) + zuruecksetzen_button = ttk.Button(frame, text="zurücksetzen", command=lambda: self.callback("cb_zurücksetzen", None)) zuruecksetzen_button.grid(column=col_left+2, row=self.rownum, sticky=tk.EW, padx=3, pady=3) def get_data(self): diff --git a/lib/manage_configs.py b/lib/manage_configs.py index 026c37f..06a7497 100644 --- a/lib/manage_configs.py +++ b/lib/manage_configs.py @@ -280,6 +280,7 @@ class PfadConfig(IniBasedConfig): class Configs: """Sammlung aller Configdateien """ def __init__(self, cfg_dir): + self.cfg_dir = cfg_dir self.Allgemein = AllgemeinConfig(cfg_dir) self.Bezeichner = BezeichnerConfig(cfg_dir) self.Farben = FarbenConfig(cfg_dir) @@ -292,4 +293,16 @@ class Configs: self.TOSGruppen = TOSGroupsConfig(cfg_dir) self.Materialien = MaterialTransConfig(cfg_dir) + self.env = None + + def get_cfg_path(self): + return self.cfg_dir + + def set_env(self, env): + self.env = env + + def get_env(self): + if self.env: + return self.env + return None