From 089dadd52b1a855ff32b00e346f7676b8fc7c742 Mon Sep 17 00:00:00 2001 From: Simon Steuer Date: Sun, 27 Jul 2025 22:15:50 +0200 Subject: [PATCH] =?UTF-8?q?FIX=20-=20Wurde=20der=20Radiobutton=20'Schulung?= =?UTF-8?q?'=20ausgew=C3=A4hlt=20und=20anschlie=C3=9Fend=20ein=20weiteres?= =?UTF-8?q?=20Feld=20ge=C3=A4ndert=20(z.B.=20Kategorie),=20dann=20wurde=20?= =?UTF-8?q?immer=20wieder=20zur=C3=BCck=20auf=20den=20'Produktiv'-Radiobut?= =?UTF-8?q?ton=20umgeschaltet.=20Die=20neu=20erg=C3=A4nzte=20Callback-Funk?= =?UTF-8?q?tion=20'cb=5Fdatenbank=5Fneu'=20verhindert=20dies=20nun,=20d.h.?= =?UTF-8?q?=20der=20gew=C3=A4hlte=20Wert=20(z.B.=20Schulung)=20bleibt=20so?= =?UTF-8?q?=20lange=20erhalten,=20bis=20ein=20anderes=20Teil=20migriert=20?= =?UTF-8?q?wird.=20Defaultwert=20ist=20und=20bleibt=20weiterhin=20'Produkt?= =?UTF-8?q?iv'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/caditem.py | 17 +++++++++++++++-- lib/gui.py | 13 ++++++++++--- 2 files changed, 25 insertions(+), 5 deletions(-) diff --git a/lib/caditem.py b/lib/caditem.py index 5c1daf1..2fa3478 100644 --- a/lib/caditem.py +++ b/lib/caditem.py @@ -104,6 +104,7 @@ class CadItem(DataModel): # ist also eigentlich kein Teil der gui "truemmer", # Felder der Comboboxen. benannt wie deren callbacks + "cb_datenbank_neu", "cb_pdm_kategorie_neu", "cb_halbzeug_neu", "cb_halbzeugoberflaeche", @@ -1513,7 +1514,9 @@ class GuiLogic(): """gibt ein dict zurück, welches neu im Modell gesetzt wird""" ret = dict() - if key == 'cb_pdm_kategorie_neu': + if key == 'cb_datenbank_neu': + ret = self.cb_datenbank_neu(value) + elif key == 'cb_pdm_kategorie_neu': ret = self.cb_pdm_kategorie_neu(value) elif key == 'cb_neuaufbau': ret = self.cb_neuaufbau(value) @@ -1581,7 +1584,9 @@ class GuiLogic(): wegen der Abhängigkeiten der Comboboxen anschliessend folgen sollen """ ret = list() - if key == 'cb_pdm_kategorie_neu': + if key == 'cb_datenbank_neu': + ret = [] + elif key == 'cb_pdm_kategorie_neu': ret = ['cb_neuaufbau', 'cb_aus_halbzeug_neu', 'cb_3Dmodel_neu', 'cb_halbzeugOhneSaege_neu', 'cb_ruestcode_neu', 'cb_fertigungsart_neu', 'cb_allgemeintoleranz_neu', 'cb_fosGruppe_neu', 'cb_kalkulationsart_neu', 'cb_beschaffungsart_neu', 'cb_mengeneinheit_neu', 'cb_halbzeug_neu', 'cb_dispogruppe_neu', 'cb_dispolaufgruppe_neu', 'cb_hersteller_neu', 'cb_werkstoffdiskrepanz', @@ -1655,6 +1660,14 @@ class GuiLogic(): raise Exception("this callback does not exist "+key) return ret + def cb_datenbank_neu(self, selected): + ret = dict() + if selected is None: + ret['datenbank'] = "Produktiv" # Default + else: + ret['datenbank'] = selected + return ret + def cb_pdm_kategorie_neu(self, selected): """setzt die Dropdownliste mit , Baugruppe, Einzelteil, Kaufteil, Schweissbaugruppe diff --git a/lib/gui.py b/lib/gui.py index 03cb853..7d5e759 100644 --- a/lib/gui.py +++ b/lib/gui.py @@ -302,11 +302,18 @@ class RightFramePDM(AllFrames): self.datenbank_label = ttk.Label(frame, text="Datenbank:", foreground='blue' ) self.datenbank_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.datenbank = tk.StringVar() - self.datenbank.set("Schulung") # default - self.datenbank_prod = ttk.Radiobutton(frame, text="Produktiv", variable=self.datenbank, value="Produktiv") + self.datenbank_prod = ttk.Radiobutton(frame, + text="Produktiv", + variable=self.datenbank, + value="Produktiv", + command=lambda: self.callback('cb_datenbank_neu', self.datenbank.get())) self.datenbank_prod .grid(column=col_left+2, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.rownum += 1 - self.datenbank_schul = ttk.Radiobutton(frame, text="Schulung", variable=self.datenbank, value="Schulung") + self.datenbank_schul = ttk.Radiobutton(frame, + text="Schulung", + variable=self.datenbank, + value="Schulung", + command=lambda: self.callback('cb_datenbank_neu', self.datenbank.get())) self.datenbank_schul .grid(column=col_left+2, row=self.rownum, sticky=tk.W, padx=3, pady=3) self.rownum += 1