data_from_view impl. um ein anderes Assembly zu laden. Weiteren Konpf 'lade lokal' gebaut, um Daten auch ohne weitere Serverabfrage zu laden welche lokal existieren.
This commit is contained in:
+2
-1
@@ -77,9 +77,10 @@ Eigenbau
|
|||||||
Kaufteil
|
Kaufteil
|
||||||
|
|
||||||
[Ruestcode]
|
[Ruestcode]
|
||||||
|
Trümmerbaugruppe
|
||||||
HZS Halbzeuge Sägeteile
|
HZS Halbzeuge Sägeteile
|
||||||
SRC Standard Rüstcode
|
SRC Standard Rüstcode
|
||||||
Trümmerbaugruppe
|
|
||||||
|
|
||||||
[RuestcodeStandard]
|
[RuestcodeStandard]
|
||||||
HZS Halbzeuge Sägeteile
|
HZS Halbzeuge Sägeteile
|
||||||
|
|||||||
+5
-2
@@ -367,7 +367,8 @@ class CadItem(DataModel):
|
|||||||
def save_to_file(self):
|
def save_to_file(self):
|
||||||
"""speichert die bisherigen Eingaben beider Spalten in eine json Datei"""
|
"""speichert die bisherigen Eingaben beider Spalten in eine json Datei"""
|
||||||
path = os.path.join(self._controller.get_env("out"), str(self.get_current_item_id()) + '.json')
|
path = os.path.join(self._controller.get_env("out"), str(self.get_current_item_id()) + '.json')
|
||||||
if self.get_current_item_id == self.get_asm_id:
|
|
||||||
|
if str(self.get_current_item_id()) == str(self.get_asm_id()):
|
||||||
savePath = True
|
savePath = True
|
||||||
else:
|
else:
|
||||||
savePath = False
|
savePath = False
|
||||||
@@ -513,7 +514,7 @@ class GuiLogic():
|
|||||||
"""
|
"""
|
||||||
ret = list()
|
ret = list()
|
||||||
if key == 'cb_pdm_kategorie_neu':
|
if key == 'cb_pdm_kategorie_neu':
|
||||||
ret = ['cb_neuaufbau', 'cb_aus_halbzeug_neu', 'cb_3Dmodel_neu', 'cb_halbzeugOhneSaege_neu']
|
ret = ['cb_neuaufbau', 'cb_aus_halbzeug_neu', 'cb_3Dmodel_neu', 'cb_halbzeugOhneSaege_neu', 'cb_ruestcode_neu']
|
||||||
elif key == 'cb_neuaufbau':
|
elif key == 'cb_neuaufbau':
|
||||||
ret = []
|
ret = []
|
||||||
elif key == 'cb_aus_halbzeug_neu':
|
elif key == 'cb_aus_halbzeug_neu':
|
||||||
@@ -569,6 +570,8 @@ class GuiLogic():
|
|||||||
ret = []
|
ret = []
|
||||||
elif key == 'cb_suche_asm':
|
elif key == 'cb_suche_asm':
|
||||||
ret = []
|
ret = []
|
||||||
|
elif key == 'cb_ladelokal_asm':
|
||||||
|
ret = []
|
||||||
elif key == 'cb_3dsuchen':
|
elif key == 'cb_3dsuchen':
|
||||||
ret = []
|
ret = []
|
||||||
else:
|
else:
|
||||||
|
|||||||
+22
-9
@@ -83,7 +83,8 @@ class Controller(Observer):
|
|||||||
|
|
||||||
def get_csv_files_of_asm(self, asmid, uselocal):
|
def get_csv_files_of_asm(self, asmid, uselocal):
|
||||||
""" sich die Einzelteile als .csv und den Aufbau des Assemblies als .json holen """
|
""" sich die Einzelteile als .csv und den Aufbau des Assemblies als .json holen """
|
||||||
sivas_teilestamm = FetchSivasTeilestamm(asmid, self.get_env("data"))
|
data_dir = self.get_env("data")
|
||||||
|
sivas_teilestamm = FetchSivasTeilestamm(asmid, data_dir)
|
||||||
|
|
||||||
# falls uselocal True, dann keine Serverabfrage, sondern mit den lokalen Daten arbeiten
|
# falls uselocal True, dann keine Serverabfrage, sondern mit den lokalen Daten arbeiten
|
||||||
sivas_teilestamm.fetch_from_db(uselocal)
|
sivas_teilestamm.fetch_from_db(uselocal)
|
||||||
@@ -91,7 +92,7 @@ class Controller(Observer):
|
|||||||
sivas_teilestamm.get_unmigrated_teilstamm_csvs()
|
sivas_teilestamm.get_unmigrated_teilstamm_csvs()
|
||||||
redids = sivas_teilestamm.get_red_ids()
|
redids = sivas_teilestamm.get_red_ids()
|
||||||
|
|
||||||
sad = SivasAssemblyData(self.get_env("data"), asmid + '.json')
|
sad = SivasAssemblyData(data_dir, asmid + '.json')
|
||||||
parent_children = sad.get_parent_children()
|
parent_children = sad.get_parent_children()
|
||||||
|
|
||||||
self._model.set_red_ids(redids)
|
self._model.set_red_ids(redids)
|
||||||
@@ -109,12 +110,19 @@ class Controller(Observer):
|
|||||||
self._view.data_from_model()
|
self._view.data_from_model()
|
||||||
def data_from_model(self):
|
def data_from_model(self):
|
||||||
self._view.data_from_model()
|
self._view.data_from_model()
|
||||||
|
def data_from_view(self, key):
|
||||||
|
return self._view.data_from_view(key)
|
||||||
|
|
||||||
def get_current_asm_id(self):
|
def get_current_asm_id(self):
|
||||||
self._model.get_asm_id()
|
self._model.get_asm_id()
|
||||||
def set_current_asm_id(self, asm_id):
|
def set_current_asm_id(self, asm_id, loadlocal=False):
|
||||||
|
if not asm_id.isnumeric():
|
||||||
|
return
|
||||||
|
# TODO save current given data. In case, ask whether you should save or drop
|
||||||
self._model.set_asm_id(asm_id)
|
self._model.set_asm_id(asm_id)
|
||||||
|
# hole alle Daten vom Server
|
||||||
|
self.get_csv_files_of_asm(asm_id, loadlocal)
|
||||||
|
#self._load_cid_data2model(asm_id)
|
||||||
|
|
||||||
def set_current_item_id(self, cid):
|
def set_current_item_id(self, cid):
|
||||||
"""setze eine neue Item ID """
|
"""setze eine neue Item ID """
|
||||||
@@ -122,9 +130,9 @@ class Controller(Observer):
|
|||||||
if not cid.isnumeric():
|
if not cid.isnumeric():
|
||||||
return
|
return
|
||||||
# nur die red-id Daten können geladen werden.
|
# nur die red-id Daten können geladen werden.
|
||||||
red_ids = self._model.get_red_ids()
|
# red_ids = self._model.get_red_ids()
|
||||||
if not cid in red_ids:
|
# if not cid in red_ids:
|
||||||
return
|
# return
|
||||||
|
|
||||||
# TODO save current given data. In case, ask whether you should save or drop
|
# TODO save current given data. In case, ask whether you should save or drop
|
||||||
self._model.set_current_item_id(cid)
|
self._model.set_current_item_id(cid)
|
||||||
@@ -206,8 +214,13 @@ class Controller(Observer):
|
|||||||
elif key == 'cb_zurücksetzen':
|
elif key == 'cb_zurücksetzen':
|
||||||
pass
|
pass
|
||||||
elif key == 'cb_suche_asm':
|
elif key == 'cb_suche_asm':
|
||||||
#self._model.save_to_file()
|
# hole dir den in die gui eingetragene Nummer
|
||||||
pass
|
current_asmid = self.data_from_view('asm_id')
|
||||||
|
self.set_current_asm_id(current_asmid)
|
||||||
|
elif key == 'cb_ladelokal_asm':
|
||||||
|
current_asmid = self.data_from_view('asm_id')
|
||||||
|
# hole dir nur die lokalen Daten. Keine Datenbankabfrage
|
||||||
|
self.set_current_asm_id(current_asmid, True)
|
||||||
elif key == 'cb_3dsuchen':
|
elif key == 'cb_3dsuchen':
|
||||||
self.suche_3d()
|
self.suche_3d()
|
||||||
|
|
||||||
|
|||||||
+31
-10
@@ -40,15 +40,6 @@ class AllFrames():
|
|||||||
if controller:
|
if controller:
|
||||||
controller.callback(key, value)
|
controller.callback(key, value)
|
||||||
|
|
||||||
def data_to_model(self, controller):
|
|
||||||
"""schreibt die Daten in das Modell"""
|
|
||||||
data = self.get_data()
|
|
||||||
controller.set_gui_dict(data)
|
|
||||||
|
|
||||||
def data_to_model(self, controller, key, value):
|
|
||||||
"""schreibt den Value unter dem key in das Modell"""
|
|
||||||
controller.set_gui_data(key, value)
|
|
||||||
|
|
||||||
class TreeView():
|
class TreeView():
|
||||||
def __init__(self, frame, nrow=0):
|
def __init__(self, frame, nrow=0):
|
||||||
# a treeview
|
# a treeview
|
||||||
@@ -146,7 +137,16 @@ class LeftFrameAsm(AllFrames):
|
|||||||
compound = tk.LEFT,
|
compound = tk.LEFT,
|
||||||
command=lambda: self.callback("cb_suche_asm", self.asm_number.get())
|
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)
|
asm_search_button.grid(column=col_left, row=self.rownum, sticky=tk.EW, padx=3, pady=3)
|
||||||
|
self.rownum += 1
|
||||||
|
asm_loadlocal_button = ttk.Button(
|
||||||
|
frame,
|
||||||
|
text="Lade lokal",
|
||||||
|
#image=photoimage,
|
||||||
|
compound = tk.LEFT,
|
||||||
|
command=lambda: self.callback("cb_ladelokal_asm", self.asm_number.get())
|
||||||
|
)
|
||||||
|
asm_loadlocal_button.grid(column=col_left, row=self.rownum, sticky=tk.EW, padx=3, pady=3)
|
||||||
self.rownum += 1
|
self.rownum += 1
|
||||||
|
|
||||||
def get_data(self):
|
def get_data(self):
|
||||||
@@ -1270,6 +1270,27 @@ class App():
|
|||||||
self.rf8.data_from_model()
|
self.rf8.data_from_model()
|
||||||
self.rf9.data_from_model()
|
self.rf9.data_from_model()
|
||||||
|
|
||||||
|
|
||||||
|
def data_from_view(self, key=None):
|
||||||
|
ret = dict()
|
||||||
|
ret.update(self.lf1.get_data())
|
||||||
|
#self.lf2.get_data() tree hat kein get_data
|
||||||
|
|
||||||
|
ret.update(self.rf1.get_data())
|
||||||
|
ret.update(self.rf2.get_data())
|
||||||
|
ret.update(self.rf3.get_data())
|
||||||
|
ret.update(self.rf4.get_data())
|
||||||
|
ret.update(self.rf5.get_data())
|
||||||
|
ret.update(self.rf6.get_data())
|
||||||
|
ret.update(self.rf7.get_data())
|
||||||
|
ret.update(self.rf8.get_data())
|
||||||
|
ret.update(self.rf9.get_data())
|
||||||
|
|
||||||
|
if key:
|
||||||
|
return ret[key]
|
||||||
|
else:
|
||||||
|
return ret
|
||||||
|
|
||||||
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"""
|
||||||
self._controller = controller
|
self._controller = controller
|
||||||
|
|||||||
Reference in New Issue
Block a user