From: Renaud Barate Date: Thu, 3 Dec 2009 15:48:57 +0000 (+0000) Subject: Fixed multi-study issues. X-Git-Tag: V5_1_3_beta1~5 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=e313e902a4284b18525261b34f34958abad318f4;p=modules%2Feficas.git Fixed multi-study issues. --- diff --git a/src/EFICASGUI/EFICASGUI.py b/src/EFICASGUI/EFICASGUI.py index 7b3975b2..53fbeb54 100644 --- a/src/EFICASGUI/EFICASGUI.py +++ b/src/EFICASGUI/EFICASGUI.py @@ -26,8 +26,7 @@ import salome sg=salome.sg sgPyQt=SalomePyQt.SalomePyQt() -from pal.studyedit import StudyEditor -monEditor=StudyEditor() +from pal.studyedit import getStudyEditor print "EFicasGUI :: :::::::::::::::::::::::::::::::::::::::::::::::::::::" @@ -37,17 +36,17 @@ print "EFicasGUI :: :::::::::::::::::::::::::::::::::::::::::::::::::::::" def OnGUIEvent(commandID) : if dict_command.has_key(commandID): - print "OnGUIEvent :::::::::: commande associée : ",commandID + print "OnGUIEvent :::::::::: commande associée : ",commandID dict_command[commandID]() else: - print "Pas de commande associée a : ",commandID + print "Pas de commande associée a : ",commandID # ----------------------------------------------------------------------------- def setSettings(): """ - Cette méthode permet les initialisations. On définit en particulier - l'identifiant de l'étude courante. + Cette méthode permet les initialisations. On définit en particulier + l'identifiant de l'étude courante. """ # le desktop desktop=sgPyQt.getDesktop() @@ -56,8 +55,8 @@ def setSettings(): def activate(): """ - Cette méthode permet l'activation du module, s'il a été chargé mais pas encore - activé dans une étude précédente. + Cette méthode permet l'activation du module, s'il a été chargé mais pas encore + activé dans une étude précédente. Portage V3. """ @@ -138,7 +137,7 @@ def runEficaspourOM(): def runEficasFichier(version=None): """ Lancement d'eficas pour ASTER - si un fichier est sélectionné, il est ouvert dans eficas + si un fichier est sélectionné, il est ouvert dans eficas """ fileName = None code = None @@ -146,9 +145,10 @@ def runEficasFichier(version=None): if len(a) == 1: selectedEntry = a[0] - mySO = monEditor.study.FindObjectID(selectedEntry); - aType = monEditor.getFileType(mySO) - aValue = monEditor.getFileName(mySO) + editor = getStudyEditor() + mySO = editor.study.FindObjectID(selectedEntry); + aType = editor.getFileType(mySO) + aValue = editor.getFileName(mySO) if aType != None : fileName = aValue code = aType[15:] diff --git a/src/EFICASGUI/eficasSalome.py b/src/EFICASGUI/eficasSalome.py index ab7ce6bc..2a57e054 100644 --- a/src/EFICASGUI/eficasSalome.py +++ b/src/EFICASGUI/eficasSalome.py @@ -27,7 +27,6 @@ import SalomePyQt from pal.studyedit import getStudyEditor -monEditor = getStudyEditor() from pal.structelem import StructuralElementManager @@ -76,7 +75,8 @@ class MyEficas( qtEficas.Appli ): self.parent = parent self.salome = True #active les parties de code specifique dans Salome( pour le logiciel Eficas ) self.module = module #indique sous quel module dans l'arbre d'etude ajouter le JDC. - + self.editor = getStudyEditor() # Editeur de l'arbre d'etude + # donnee pour la creation de groupe de maille self.mainShapeNames = {} #dictionnaire pour gerer les multiples fichiers possibles ouverts par @@ -103,13 +103,13 @@ class MyEficas( qtEficas.Appli ): def getCORBAObjectInComponent( self, entry, composant ): #---------------------------------------------------------------- object = None - mySO = monEditor.study.FindObjectID(entry) + mySO = self.editor.study.FindObjectID(entry) if mySO: object = mySO.GetObject() if not object: myComponent = salome.lcc.FindOrLoadComponent("FactoryServer", composant) - SCom = monEditor.study.FindComponent( composant ) - monEditor.builder.LoadWith( SCom , myComponent ) + SCom = self.editor.study.FindComponent( composant ) + self.editor.builder.LoadWith( SCom , myComponent ) object = mySO.GetObject() if not object : logger.debug("selectedEntry: An error occurs") @@ -182,8 +182,8 @@ class MyEficas( qtEficas.Appli ): #----------------------------------------------------------------- tgeo = shape.GetShapeType() geomEngine = salome.lcc.FindOrLoadComponent( "FactoryServer", "GEOM" ) - print dir(monEditor.study) - groupIMeasureOp = geomEngine.GetIMeasureOperations(monEditor.study._get_StudyId()) + print dir(self.editor.study) + groupIMeasureOp = geomEngine.GetIMeasureOperations(self.editor.study._get_StudyId()) if tgeo != "COMPOUND" : return tgeo strInfo = groupIMeasureOp.WhatIs( shape ) @@ -211,7 +211,7 @@ class MyEficas( qtEficas.Appli ): -test2) si appartient a la geometrie principale. """ name, msgError = '','' - mySO = monEditor.study.FindObjectID(entry) + mySO = self.editor.study.FindObjectID(entry) if mySO == None : return name, msgError object = mySO.GetObject() @@ -256,9 +256,9 @@ class MyEficas( qtEficas.Appli ): """ name, msgError = '','' - mySO=monEditor.study.FindObjectID(selectedEntry ) + mySO=self.editor.study.FindObjectID(selectedEntry ) from pal.smeshstudytools import SMeshStudyTools - monSMeshStudyTools=SMeshStudyTools(monEditor) + monSMeshStudyTools=SMeshStudyTools(self.editor) meshSO = monSMeshStudyTools.getMeshFromGroup(mySO) if meshSO == None : return name, msgError @@ -287,7 +287,7 @@ class MyEficas( qtEficas.Appli ): if shape: ior = salome.orb.object_to_string( shape ) if ior: - sObject = monEditor.study.FindObjectIOR( ior ) + sObject = self.editor.study.FindObjectIOR( ior ) mainShapeID = sObject.GetID() else : mainShapeID=0 @@ -325,7 +325,7 @@ class MyEficas( qtEficas.Appli ): selMeshGroupEntry = None # liste des groupes de maille de nom meshGroupName - listSO = monEditor.study.FindObjectByName(meshGroupName, "SMESH") + listSO = self.editor.study.FindObjectByName(meshGroupName, "SMESH") print listSO print "liste des groupes de maille de nom %s: "%(meshGroupName), listSO @@ -336,8 +336,8 @@ class MyEficas( qtEficas.Appli ): SObjet=listSO[0] groupEntry = SObjet.GetID() myComponent = salome.lcc.FindOrLoadComponent("FactoryServer", "SMESH") - SCom = monEditor.study.FindComponent("SMESH") - myBuilder = monEditor.study.NewBuilder() + SCom = self.editor.study.FindComponent("SMESH") + myBuilder = self.editor.study.NewBuilder() myBuilder.LoadWith( SCom , myComponent ) sg.CreateAndDisplayActor(groupEntry) #color = COLORS[ self.icolor % LEN_COLORS ] @@ -366,7 +366,7 @@ class MyEficas( qtEficas.Appli ): names, msg = [], '' try: self.editor=editor - atLeastOneStudy = monEditor.study + atLeastOneStudy = self.editor.study if not atLeastOneStudy: return names, msg @@ -402,7 +402,7 @@ class MyEficas( qtEficas.Appli ): ok = False #try: if 1: - atLeastOneStudy = monEditor.study + atLeastOneStudy = self.editor.study if not atLeastOneStudy: return ok, msgError @@ -424,16 +424,16 @@ class MyEficas( qtEficas.Appli ): 'OPENTURNS_WRAPPER': "OPENTURNS_FILE_FOLDER"} - moduleEntry = monEditor.findOrCreateComponent(self.module) + moduleEntry = self.editor.findOrCreateComponent(self.module) itemName = re.split("/",jdcPath)[-1] - fatherEntry = monEditor.findOrCreateItem( + fatherEntry = self.editor.findOrCreateItem( moduleEntry, name = folderName[self.code], #icon = "ICON_COMM_FOLDER", fileType = folderType[self.code]) - commEntry = monEditor.findOrCreateItem( fatherEntry , + commEntry = self.editor.findOrCreateItem( fatherEntry , name = itemName, fileType = fileType[ self.code ], fileName = jdcPath, @@ -466,7 +466,7 @@ class MyEficas( qtEficas.Appli ): print v if v: currentViewType = v.GetType() - atLeastOneStudy = monEditor.study + atLeastOneStudy = self.editor.study if not atLeastOneStudy: return ok, msgError @@ -479,8 +479,8 @@ class MyEficas( qtEficas.Appli ): ok, msgError = self.displayMeshGroups(shapeName) else: #geometrie current_color = COLORS[ self.icolor % LEN_COLORS ] - from pal.geomstudytools import GeomStudyTools - myGeomTools=GeomStudyTools(monEditor) + from pal.geomtools import GeomStudyTools + myGeomTools=GeomStudyTools(self.editor) ok = myGeomTools.displayShapeByName( shapeName, current_color ) salome.sg.FitAll() self.icolor = self.icolor + 1 @@ -510,7 +510,7 @@ class MyEficas( qtEficas.Appli ): def envoievisu(self,liste_commandes): import traceback try: - atLeastOneStudy = monEditor.study + atLeastOneStudy = self.editor.study if not atLeastOneStudy: return logger.debug(10*'#'+":envoievisu: creating a visuDriver instance")