set_states methoden für alles in der gui implementiert. Bugfix im Tree: Zuordnung tree-Id und Sivas-Id in einem dict merken, um den Doppelklick verarbeiten zu können
This commit is contained in:
+149
-11
@@ -68,6 +68,8 @@ class TreeView():
|
||||
#self.tree.bind('<<TreeviewSelect>>', self.item_selected) # Einfachklick
|
||||
self.tree.bind('<Double-Button-1>', self.item_selected) # Doppelklick:
|
||||
|
||||
self.trid2sivasId = dict()
|
||||
|
||||
def set_controller(self, controller):
|
||||
self._controller = controller
|
||||
|
||||
@@ -95,6 +97,7 @@ class TreeView():
|
||||
else: rowtags = ('missing')
|
||||
|
||||
parent_id = self.tree.insert('', tk.END, text=parent, tags=rowtags, open=True)
|
||||
self.trid2sivasId[parent_id] = parent # merken für Doppelklick
|
||||
pool[parent] = parent_id
|
||||
else:
|
||||
parent_id = pool[parent]
|
||||
@@ -108,12 +111,14 @@ class TreeView():
|
||||
if child not in pool:
|
||||
child_id = self.tree.insert('', tk.END, text=child, tags=rowtags, open=True)
|
||||
pool[child] = child_id
|
||||
self.trid2sivasId[child_id] = child # merken für Doppelklick
|
||||
else:
|
||||
child_id = pool[child]
|
||||
else:
|
||||
# die Blätter des Baumes kann man bedenkenlos immer bauen. Diese können redundante Texte haben.
|
||||
child_id = self.tree.insert('', tk.END, text=child, tags=rowtags, open=True)
|
||||
pool[child] = child_id
|
||||
pool[child] = child_id # hier werden die keys - sivas Nummern auch überschrieben
|
||||
self.trid2sivasId[child_id] = child # merken der eindeutigen Zuordnung für den späteren Doppelklick
|
||||
self.tree.move(child_id, parent_id, 'end')
|
||||
|
||||
# https://www.askpython.com/python-modules/tkinter/tkinter-colors
|
||||
@@ -131,8 +136,9 @@ class TreeView():
|
||||
def item_selected(self, event):
|
||||
"""callback of TK if an item in the tree has been selected
|
||||
"""
|
||||
cid = self.tree.selection()[0]
|
||||
trid = self.tree.selection()[0]
|
||||
# trage die neue ID ins Modell ein
|
||||
cid = self.trid2sivasId[trid]
|
||||
self._controller.set_current_item_id(cid)
|
||||
|
||||
class LeftFrameAsm(AllFrames):
|
||||
@@ -519,7 +525,12 @@ class RightFrameBezeichnung(AllFrames):
|
||||
|
||||
def set_states(self):
|
||||
data = self.get_controller().get_gui_states()
|
||||
pass
|
||||
if 'bezeichnung1_sivas' in data:
|
||||
self.bezeichnung1_sivas['state'] = data["bezeichnung1_sivas"]
|
||||
if 'bezeichnung1_neu' in data:
|
||||
self.bezeichnung1_neu['state'] = data["bezeichnung1_neu"]
|
||||
if 'bezeichnung2_sivas' in data:
|
||||
self.bezeichnung2_sivas['state'] = data["bezeichnung2_sivas"]
|
||||
|
||||
class RightFrameHalbzeugOhneS(AllFrames):
|
||||
def __init__(self, frame, nrow=0):
|
||||
@@ -695,7 +706,43 @@ class RightFrameHalbzeugOhneS(AllFrames):
|
||||
|
||||
def set_states(self):
|
||||
data = self.get_controller().get_gui_states()
|
||||
pass
|
||||
if 'halbzeugOhneSaege_sivas' in data:
|
||||
self.halbzeugOhneSaege_sivas['status'] = data["halbzeugOhneSaege_sivas"]
|
||||
if 'halbzeugOhneSaege_neu' in data:
|
||||
self.halbzeugOhneSaege_neu['status'] = data["halbzeugOhneSaege_neu"]
|
||||
if 'ruestcode_sivas' in data:
|
||||
self.ruestcode_sivas['status'] = data["ruestcode_sivas"]
|
||||
if 'ruestcode_neu' in data:
|
||||
self.ruestcode_neu['status'] = data["ruestcode_neu"]
|
||||
if 'fertigungsart_sivas' in data:
|
||||
self.fertigungsart_sivas['status'] = data["fertigungsart_sivas"]
|
||||
if 'fertigungsart_neu' in data:
|
||||
self.fertigungsart_neu['status'] = data["fertigungsart_neu"]
|
||||
if 'allgemeintoleranz_sivas' in data:
|
||||
self.allgemeintoleranz_sivas['status'] = data["allgemeintoleranz_sivas"]
|
||||
if 'allgemeintoleranz_neu' in data:
|
||||
self.allgemeintoleranz_neu['status'] = data["allgemeintoleranz_neu"]
|
||||
if 'fosGruppe_sivas' in data:
|
||||
self.fosGruppe_sivas['status'] = data["fosGruppe_sivas"]
|
||||
if 'fosGruppe_neu' in data:
|
||||
self.fosGruppe_neu['status'] = data["fosGruppe_neu"]
|
||||
if 'kalkulationsart_sivas' in data:
|
||||
self.kalkulationsart_sivas['status'] = data["kalkulationsart_sivas"]
|
||||
if 'kalkulationsart_neu' in data:
|
||||
self.kalkulationsart_neu['status'] = data["kalkulationsart_neu"]
|
||||
# ab hier die Dropdowns der Oberfläche befüllen.
|
||||
if 'cb_halbzeugOhneSaege_neu' in data:
|
||||
self.halbzeugOhneSaege_neu_combo['status'] = data['cb_halbzeugOhneSaege_neu']
|
||||
if 'cb_ruestcode_neu' in data:
|
||||
self.ruestcode_neu_combo['status'] = data['cb_ruestcode_neu']
|
||||
if 'cb_fertigungsart_neu' in data:
|
||||
self.fertigungsart_neu_combo['status'] = data['cb_fertigungsart_neu']
|
||||
if 'cb_allgemeintoleranz_neu' in data:
|
||||
self.allgemeintoleranz_neu_combo['status'] = data['cb_allgemeintoleranz_neu']
|
||||
if 'cb_fosGruppe_neu' in data:
|
||||
self.fosGruppe_neu_combo['status'] = data['cb_fosGruppe_neu']
|
||||
if 'cb_kalkulationsart_neu' in data:
|
||||
self.kalkulationsart_neu_combo['status'] = data['cb_kalkulationsart_neu']
|
||||
|
||||
class RightFrameBeschaffungsart(AllFrames):
|
||||
def __init__(self, frame, nrow=0):
|
||||
@@ -796,7 +843,25 @@ class RightFrameBeschaffungsart(AllFrames):
|
||||
|
||||
def set_states(self):
|
||||
data = self.get_controller().get_gui_states()
|
||||
pass
|
||||
if "beschaffungsart_sivas" in data:
|
||||
self.beschaffungsart_sivas['status'] = data["beschaffungsart_sivas"]
|
||||
if "beschaffungsart_neu" in data:
|
||||
self.beschaffungsart_neu['status'] = data["beschaffungsart_neu"]
|
||||
if "mengeneinheit_sivas" in data:
|
||||
self.mengeneinheit_sivas['status'] = data["mengeneinheit_sivas"]
|
||||
if "mengeneinheit_neu" in data:
|
||||
self.mengeneinheit_neu['status'] = data["mengeneinheit_neu"]
|
||||
if "halbzeug_sivas" in data:
|
||||
self.halbzeug_sivas['status'] = data["halbzeug_sivas"]
|
||||
if "halbzeug_neu" in data:
|
||||
self.halbzeug_neu['status'] = data["halbzeug_neu"]
|
||||
# ab hier die Dropdowns der Oberfläche befüllen.
|
||||
if "cb_beschaffungsart_neu" in data:
|
||||
self.beschaffungsart_combo['status'] = data["cb_beschaffungsart_neu"]
|
||||
if "cb_mengeneinheit_neu" in data:
|
||||
self.mengeneinheit_combo['status'] = data["cb_mengeneinheit_neu"]
|
||||
if "cb_halbzeug_neu" in data:
|
||||
self.halbzeug_combo['status'] = data["cb_halbzeug_neu"]
|
||||
|
||||
class RightFrameTOSGruppe(AllFrames):
|
||||
def __init__(self, frame, nrow=0):
|
||||
@@ -967,6 +1032,41 @@ class RightFrameTOSGruppe(AllFrames):
|
||||
|
||||
def set_states(self):
|
||||
data = self.get_controller().get_gui_states()
|
||||
if 'tosgruppe_sivas' in data:
|
||||
self.tosgruppe_sivas['status'] = data["tosgruppe_sivas"]
|
||||
if 'tosgruppe_neu' in data:
|
||||
self.tosgruppe_neu['status'] = data["tosgruppe_neu"]
|
||||
if 'dispogruppe_sivas' in data:
|
||||
self.dispogruppe_sivas['status'] = data["dispogruppe_sivas"]
|
||||
if 'dispogruppe_neu' in data:
|
||||
self.dispogruppe_neu['status'] = data["dispogruppe_neu"]
|
||||
if 'dispolaufgruppe_sivas' in data:
|
||||
self.dispolaufgruppe_sivas['status'] = data["dispolaufgruppe_sivas"]
|
||||
if 'dispolaufgruppe_neu' in data:
|
||||
self.dispolaufgruppe_neu['status'] = data["dispolaufgruppe_neu"]
|
||||
if 'ersatzfuer_sivas' in data:
|
||||
self.ersatzfuer_sivas['status'] = data["ersatzfuer_sivas"]
|
||||
if 'ersatzfuer_neu' in data:
|
||||
self.ersatzfuer_neu['status'] = data["ersatzfuer_neu"]
|
||||
if 'ersetztdurch_sivas' in data:
|
||||
self.ersetztdurch_sivas['status'] = data["ersetztdurch_sivas"]
|
||||
if 'ersetztdurch_neu' in data:
|
||||
self.ersetztdurch_neu['status'] = data["ersetztdurch_neu"]
|
||||
if 'hersteller_sivas' in data:
|
||||
self.hersteller_sivas['status'] = data["hersteller_sivas"]
|
||||
if 'hersteller_neu' in data:
|
||||
self.hersteller_neu['status'] = data["hersteller_neu"]
|
||||
if 'herstteilenr_sivas' in data:
|
||||
self.herstteilenr_sivas['status'] = data["herstteilenr_sivas"]
|
||||
if 'herstteilenr_neu' in data:
|
||||
self.herstteilenr_neu['status'] = 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"]
|
||||
pass
|
||||
|
||||
class RightFrameWerkstoffdiskrepanz(AllFrames):
|
||||
@@ -987,13 +1087,13 @@ class RightFrameWerkstoffdiskrepanz(AllFrames):
|
||||
werkstoffdiskr_label.grid(column=col_left, row=self.rownum, sticky=tk.W, padx=3, pady=3)
|
||||
|
||||
self.werkstoffdiskr_sivas= tk.BooleanVar()
|
||||
werkstoffdiskr_checkbutton = ttk.Checkbutton(frame,
|
||||
self.werkstoffdiskr_checkbutton = ttk.Checkbutton(frame,
|
||||
#text='ja',
|
||||
variable=self.werkstoffdiskr_sivas,
|
||||
command=lambda: self.callback("cb_werkstoffdiskrepanz", self.werkstoffdiskr_sivas.get()),
|
||||
onvalue=True,
|
||||
offvalue=False)
|
||||
werkstoffdiskr_checkbutton.grid(column=col_left+2, row=self.rownum, sticky=tk.W, padx=3, pady=3)
|
||||
self.werkstoffdiskr_checkbutton.grid(column=col_left+2, row=self.rownum, sticky=tk.W, padx=3, pady=3)
|
||||
self.rownum += 1
|
||||
|
||||
# Werkstofftyp
|
||||
@@ -1066,7 +1166,7 @@ class RightFrameWerkstoffdiskrepanz(AllFrames):
|
||||
def data_from_model(self):
|
||||
data = self.get_controller().get_all_gui_data()
|
||||
if 'werkstoffdiskr_sivas' in data:
|
||||
self.werkstoffdiskr_sivas.set((data["werkstoffdiskr_sivas"]))
|
||||
self.werkstoffdiskr_sivas.set(data["werkstoffdiskr_sivas"])
|
||||
if 'werkstofftyp_neu' in data:
|
||||
self.werkstofftyp_neu.set(data["werkstofftyp_neu"])
|
||||
if 'material_sivas' in data:
|
||||
@@ -1089,7 +1189,27 @@ class RightFrameWerkstoffdiskrepanz(AllFrames):
|
||||
|
||||
def set_states(self):
|
||||
data = self.get_controller().get_gui_states()
|
||||
pass
|
||||
if 'werkstoffdiskr_sivas' in data:
|
||||
self.werkstoffdiskr_checkbutton['status'] = data["werkstoffdiskr_sivas"]
|
||||
if 'werkstofftyp_neu' in data:
|
||||
self.werkstofftyp_neu['status'] = data["werkstofftyp_neu"]
|
||||
if 'material_sivas' in data:
|
||||
self.material_sivas['status'] = data["material_sivas"]
|
||||
if 'material_neu' in data:
|
||||
self.material_neu['status'] = data["material_neu"]
|
||||
if 'oberflaeche_neu' in data:
|
||||
self.oberflaeche_neu['status'] = data["oberflaeche_neu"]
|
||||
if 'farbe_neu' in data:
|
||||
self.farbe_neu['status'] = data["farbe_neu"]
|
||||
# ab hier die Dropdowns der Oberfläche befüllen.
|
||||
if 'cb_werkstofftyp_neu' in data:
|
||||
self.werkstofftyp_neu_combo['status'] = data["cb_werkstofftyp_neu"]
|
||||
if 'cb_material_neu' in data:
|
||||
self.material_neu_combo['status'] = data["cb_material_neu"]
|
||||
if 'cb_oberflaeche_neu' in data:
|
||||
self.oberflaeche_neu_combo['status'] = data["cb_oberflaeche_neu"]
|
||||
if 'cb_farbe_neu' in data:
|
||||
self.farbe_neu_combo['status'] = data["cb_farbe_neu"]
|
||||
|
||||
class RightFrameVersion(AllFrames):
|
||||
def __init__(self, frame, nrow=0):
|
||||
@@ -1193,7 +1313,22 @@ class RightFrameVersion(AllFrames):
|
||||
|
||||
def set_states(self):
|
||||
data = self.get_controller().get_gui_states()
|
||||
pass
|
||||
if 'version_sivas' in data:
|
||||
self.version_sivas['status'] = data["version_sivas"]
|
||||
if 'version_neu' in data:
|
||||
self.version_neu['status'] = data["version_neu"]
|
||||
if 'aenderungsindex_sivas' in data:
|
||||
self.aenderungsindex_sivas['status'] = data["aenderungsindex_sivas"]
|
||||
if 'aenderungsindex_neu' in data:
|
||||
self.aenderungsindex_neu['status'] = data["aenderungsindex_neu"]
|
||||
if 'aenderungstext_sivas' in data:
|
||||
self.aenderungstext_sivas['status'] = data["aenderungstext_sivas"]
|
||||
if 'aenderungstext_neu' in data:
|
||||
self.aenderungstext_neu['status'] = data["freigabevermerk_neu"]
|
||||
if 'freigabevermerk_sivas' in data:
|
||||
self.freigabevermerk_sivas['status'] = data["freigabevermerk_neu"]
|
||||
if 'freigabevermerk_neu' in data:
|
||||
self.freigabevermerk_neu['status'] = data["freigabevermerk_neu"]
|
||||
|
||||
def clear_texts(self):
|
||||
self.aenderungstext_sivas.delete('1.0', 'end')
|
||||
@@ -1258,7 +1393,10 @@ class RightFrameZusatzinfos(AllFrames):
|
||||
|
||||
def set_states(self):
|
||||
data = self.get_controller().get_gui_states()
|
||||
pass
|
||||
if 'zusatzinfos_auto_text' in data:
|
||||
self.zusatzinfos_auto_text['status'] = data["zusatzinfos_auto_text"]
|
||||
if 'zusatzinfos_bendef_text' in data:
|
||||
self.zusatzinfos_bendef_text['status'] = data["zusatzinfos_bendef_text"]
|
||||
|
||||
def clear_texts(self):
|
||||
self.zusatzinfos_auto_text.delete('1.0', 'end')
|
||||
|
||||
Reference in New Issue
Block a user