gui um Selectionsbox für Pfad zu 3D Modell ergänzt. callbacks der Knöpfe erfolgt jetzt nur noch im Controller. 3D-Modell Pflichtfeld implementiert
This commit is contained in:
+37
-27
@@ -1,6 +1,7 @@
|
||||
import json
|
||||
import pandas as pd
|
||||
import os
|
||||
import glob
|
||||
|
||||
class DataModel:
|
||||
def __init__(self):
|
||||
@@ -417,6 +418,9 @@ class GuiLogic():
|
||||
self.call_and_set_data('cb_neuaufbau')
|
||||
self.call_and_set_data('cb_aus_halbzeug_neu')
|
||||
self.call_and_set_data('cb_halbzeugoberflaeche')
|
||||
self.call_and_set_data('cb_lebenszyklus_status_neu')
|
||||
self.call_and_set_data('cb_3Dmodel_neu')
|
||||
|
||||
|
||||
def call_and_set_data(self, callbackfunc):
|
||||
eval('self._model.set_gui_dict(self.'+callbackfunc+'(None))')
|
||||
@@ -474,25 +478,17 @@ class GuiLogic():
|
||||
pass
|
||||
elif key == 'cb_farbe_neu':
|
||||
ret = self.cb_farbe_neu(value)
|
||||
# Aktionen
|
||||
elif key == 'cb_speichern':
|
||||
self._model.save_to_file()
|
||||
pass
|
||||
elif key == 'cb_migrieren':
|
||||
pass
|
||||
elif key == 'cb_zurücksetzen':
|
||||
pass
|
||||
elif key == 'cb_suche_asm':
|
||||
pass
|
||||
else:
|
||||
raise Exception("this callback does not exist "+key)
|
||||
return ret
|
||||
|
||||
def get_dependent(self, key):
|
||||
"""gibt die Namen der Callbacks zurück, welche nach dem Aufruf der ursprünglichen Methode wegen der Abhängigkeiten der Comboboxen anschliessend folgen sollen"""
|
||||
""" gibt die Namen der Callbacks zurück, welche nach dem Aufruf der ursprünglichen Methode
|
||||
wegen der Abhängigkeiten der Comboboxen anschliessend folgen sollen
|
||||
"""
|
||||
ret = list()
|
||||
if key == 'cb_pdm_kategorie_neu':
|
||||
ret = ['cb_neuaufbau', 'cb_aus_halbzeug_neu']
|
||||
ret = ['cb_neuaufbau', 'cb_aus_halbzeug_neu', 'cb_3Dmodel_neu']
|
||||
elif key == 'cb_neuaufbau':
|
||||
ret = []
|
||||
elif key == 'cb_aus_halbzeug_neu':
|
||||
@@ -539,6 +535,7 @@ class GuiLogic():
|
||||
ret = []
|
||||
elif key == 'cb_farbe_neu':
|
||||
ret = []
|
||||
# Aktionen der Knöpfe werden vom Controller verarbeitet
|
||||
elif key == 'cb_speichern':
|
||||
ret = []
|
||||
elif key == 'cb_migrieren':
|
||||
@@ -547,6 +544,8 @@ class GuiLogic():
|
||||
ret = []
|
||||
elif key == 'cb_suche_asm':
|
||||
ret = []
|
||||
elif key == 'cb_3dsuchen':
|
||||
ret = []
|
||||
else:
|
||||
raise Exception("this callback does not exist "+key)
|
||||
return ret
|
||||
@@ -611,7 +610,7 @@ class GuiLogic():
|
||||
ret['lebenszyklus_status_neu'] = lstatus[0]
|
||||
ret['cb_lebenszyklus_status_neu'] = lstatus
|
||||
else:
|
||||
ret['cb_lebenszyklus_status_neu'] = selected
|
||||
ret['lebenszyklus_status_neu'] = selected
|
||||
return ret
|
||||
|
||||
def cb_halbzeugfarbe(self, selected):
|
||||
@@ -646,40 +645,51 @@ class GuiLogic():
|
||||
def cb_3Dmodel_neu(self, selected):
|
||||
ret = dict()
|
||||
pdm_kategorie_neu = self._model.get_gui_data("pdm_kategorie_neu")
|
||||
pfad = self._config.Pfade.get('3D-Modelle', 'BaugruppeSchweissbaugruppe')
|
||||
|
||||
pfad = ''
|
||||
if pdm_kategorie_neu == "Baugruppe" or pdm_kategorie_neu == "Schweissbaugruppe":
|
||||
# Defaultwert = \\ssg.local\freigaben\Abteilungen\Entwicklung\CAD\Standards\SolidEdge\Template\DIN Metric\baugruppe.asm
|
||||
pfad = self._config.Pfade.get('3D-Modelle', 'BaugruppeSchweissbaugruppe')
|
||||
ret['cb_3Dmodel_neu'] = [pfad]
|
||||
# Dropdownwerte = keine
|
||||
# state_ComboBox = disabled
|
||||
# state_Button = disabled
|
||||
# ret = {
|
||||
# '': '',
|
||||
# '': '',
|
||||
# }
|
||||
pass
|
||||
elif pdm_kategorie_neu == "Kaufteil":
|
||||
# Defaultwert = \\ssg.local\freigaben\SIVAS_CAD_EDM\Migration\06_3D_Vorlagen\ET_mit_Volumen.par
|
||||
pfad = self._config.Pfade.get('3D-Modelle', 'Kaufteil')
|
||||
ret['cb_3Dmodel_neu'] = [pfad]
|
||||
# Dropdownwerte = keine
|
||||
# state_ComboBox = disabled
|
||||
# state_Button = disabled
|
||||
pass
|
||||
elif pdm_kategorie_neu == "Einzelteil":
|
||||
aus_halbzeug = self._model.get_gui_data("aus_halbzeug_neu")
|
||||
neuaufbau = self._model.get_gui_data("neuaufbau")
|
||||
if aus_halbzeug == "True" or neuaufbau == "True":
|
||||
# Defaultwert = \\ssg.local\freigaben\SIVAS_CAD_EDM\Migration\06_3D_Vorlagen\ET_mit_Volumen.par
|
||||
pfad = self._config.Pfade.get('3D-Modelle', 'Einzelteil')
|
||||
ret['cb_3Dmodel_neu'] = [pfad]
|
||||
# Dropdownwerte = keine
|
||||
# state_ComboBox = disabled
|
||||
# state_Button = disabled
|
||||
pass
|
||||
else:
|
||||
# Defaultwert = ""
|
||||
search_path = self._config.Pfade.get('3D-Modelle', 'EinzelteilDefault')
|
||||
itemid = str(self._model.get_current_item_id())
|
||||
pfade = []
|
||||
for root, dirnames, filenames in os.walk(search_path):
|
||||
pfade.extend(glob.glob(root + "/"+itemid+".par"))
|
||||
for root, dirnames, filenames in os.walk(search_path):
|
||||
pfade.extend(glob.glob(root + "/"+itemid+".asm"))
|
||||
# Dropdownwerte = Dateipfade von allen .par-Dateien, die die aktuelle Teilenummer im Dateinamen aufweisen und sich gleichzeitig in einem der rekursiv durchsuchten Pfade aus der Sektion "3D-Modelle" in "Zielpfade.cfg" befinden.
|
||||
# state_ComboBox = readonly
|
||||
# state_Button = keiner
|
||||
ret['cb_3Dmodel_neu'] = pfade
|
||||
if len(pfade) == 0:
|
||||
pfad ="<id not found>"
|
||||
else:
|
||||
pfad = pfade[0]
|
||||
|
||||
# IF Button "Durchsuchen" geklickt und benutzerdefinierte Solid Edge-Datei gewählt:
|
||||
# Defaultwert = Dateipfad der gewählten Solid Edge-Datei
|
||||
pass
|
||||
if selected is None:
|
||||
ret['model3d_neu'] = pfad
|
||||
else:
|
||||
ret['model3d_neu'] = selected
|
||||
return ret
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user