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
|
||||
|
||||
[Ruestcode]
|
||||
Trümmerbaugruppe
|
||||
HZS Halbzeuge Sägeteile
|
||||
SRC Standard Rüstcode
|
||||
Trümmerbaugruppe
|
||||
|
||||
|
||||
[RuestcodeStandard]
|
||||
HZS Halbzeuge Sägeteile
|
||||
|
||||
+5
-2
@@ -367,7 +367,8 @@ class CadItem(DataModel):
|
||||
def save_to_file(self):
|
||||
"""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')
|
||||
if self.get_current_item_id == self.get_asm_id:
|
||||
|
||||
if str(self.get_current_item_id()) == str(self.get_asm_id()):
|
||||
savePath = True
|
||||
else:
|
||||
savePath = False
|
||||
@@ -513,7 +514,7 @@ class GuiLogic():
|
||||
"""
|
||||
ret = list()
|
||||
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':
|
||||
ret = []
|
||||
elif key == 'cb_aus_halbzeug_neu':
|
||||
@@ -569,6 +570,8 @@ class GuiLogic():
|
||||
ret = []
|
||||
elif key == 'cb_suche_asm':
|
||||
ret = []
|
||||
elif key == 'cb_ladelokal_asm':
|
||||
ret = []
|
||||
elif key == 'cb_3dsuchen':
|
||||
ret = []
|
||||
else:
|
||||
|
||||
+22
-9
@@ -83,7 +83,8 @@ class Controller(Observer):
|
||||
|
||||
def get_csv_files_of_asm(self, asmid, uselocal):
|
||||
""" 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
|
||||
sivas_teilestamm.fetch_from_db(uselocal)
|
||||
@@ -91,7 +92,7 @@ class Controller(Observer):
|
||||
sivas_teilestamm.get_unmigrated_teilstamm_csvs()
|
||||
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()
|
||||
|
||||
self._model.set_red_ids(redids)
|
||||
@@ -109,12 +110,19 @@ class Controller(Observer):
|
||||
self._view.data_from_model()
|
||||
def data_from_model(self):
|
||||
self._view.data_from_model()
|
||||
def data_from_view(self, key):
|
||||
return self._view.data_from_view(key)
|
||||
|
||||
def get_current_asm_id(self):
|
||||
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)
|
||||
|
||||
# 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):
|
||||
"""setze eine neue Item ID """
|
||||
@@ -122,9 +130,9 @@ class Controller(Observer):
|
||||
if not cid.isnumeric():
|
||||
return
|
||||
# nur die red-id Daten können geladen werden.
|
||||
red_ids = self._model.get_red_ids()
|
||||
if not cid in red_ids:
|
||||
return
|
||||
# red_ids = self._model.get_red_ids()
|
||||
# if not cid in red_ids:
|
||||
# return
|
||||
|
||||
# TODO save current given data. In case, ask whether you should save or drop
|
||||
self._model.set_current_item_id(cid)
|
||||
@@ -206,8 +214,13 @@ class Controller(Observer):
|
||||
elif key == 'cb_zurücksetzen':
|
||||
pass
|
||||
elif key == 'cb_suche_asm':
|
||||
#self._model.save_to_file()
|
||||
pass
|
||||
# hole dir den in die gui eingetragene Nummer
|
||||
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':
|
||||
self.suche_3d()
|
||||
|
||||
|
||||
+31
-10
@@ -40,15 +40,6 @@ class AllFrames():
|
||||
if controller:
|
||||
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():
|
||||
def __init__(self, frame, nrow=0):
|
||||
# a treeview
|
||||
@@ -146,7 +137,16 @@ class LeftFrameAsm(AllFrames):
|
||||
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)
|
||||
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
|
||||
|
||||
def get_data(self):
|
||||
@@ -1270,6 +1270,27 @@ class App():
|
||||
self.rf8.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):
|
||||
""" merken des Handels auf den Controller in jedem Widget"""
|
||||
self._controller = controller
|
||||
|
||||
Reference in New Issue
Block a user