]> SALOME platform Git repositories - modules/eficas.git/commitdiff
Salome HOME
evolution:
authorsalome <>
Mon, 3 Jul 2006 10:22:49 +0000 (10:22 +0000)
committersalome <>
Mon, 3 Jul 2006 10:22:49 +0000 (10:22 +0000)
possibilité d'ajouter l'élément fichier de commande sous le module ASTER dans la hiéarchie de l'arbre d'étude.

src/EFICASGUI/eficasSalome.py

index 4e479a974aa9875dd15def98b506987d11fa441b..78b7594c6355873a3eaf301c06c4dbf608d16174 100644 (file)
@@ -3,7 +3,7 @@ from Logger import ExtLogger
 import qt
 import notifqt
 # -----------------------------------------------------------------------------
-import sys, os
+import sys, os, re
 
 
 
@@ -88,7 +88,7 @@ class MyEficas( Tkinter.Toplevel, eficas.EFICAS ):
     a)la création de groupes de mailles dans le composant SMESH de SALOME
     b)la visualisation d'éléments géométrique dans le coposant GEOM de SALOME par sélection dans EFICAS
     """
-    def __init__(self, parent, code = None, fichier = None ):
+    def __init__( self, parent, code = None, fichier = None, module = studyManager.SEficas ):
         """
         Constructeur.
                 
@@ -144,6 +144,7 @@ class MyEficas( Tkinter.Toplevel, eficas.EFICAS ):
         #--------------- spécialisation EFICAS dans SALOME  -------------------                
         self.parent = parent        
         self.salome = True      #active les parties de code spécifique dans Salome( pour le logiciel Eficas )
+        self.module = module    #indique sous quel module dans l'arbre d'étude ajouter le JDC.
         
         
         # donnée pour la création de groupe de maille
@@ -351,18 +352,29 @@ class MyEficas( Tkinter.Toplevel, eficas.EFICAS ):
         """
         Ajoute le Jeu De Commande ASTER ou HOMARD dans l'arbre d'étude Salome dans la rubrique EFICAS
         """
-        ok, msgError = False, ''        
-        try:
+        ok, msgError = False, msgErrorAddJdcInSalome
+        try:            
             atLeastOneStudy = self.__studySync()
             if not atLeastOneStudy:
                 return ok, msgError
-            if self.bureau.code == 'ASTER':
-                ok = studyManager.palStudy.addEficasItem( jdcPath, studyManager.FICHIER_EFICAS_ASTER )
-            elif self.bureau.code == 'HOMARD':
-                ok = studyManager.palStudy.addEficasItem( jdcPath, studyManager.FICHIER_EFICAS_HOMARD )
-                #ok = studyManager.palStudy.addEficasItem( jdcPath, studyManager.FICHIER_EFICAS_HOMARD_CONF ) CS_pbruno ?????
-            if not ok:
-                msgError = msgErrorAddJdcInSalome            
+                        
+            fileType = { 'ASTER':  studyManager.FICHIER_EFICAS_ASTER,
+                         'HOMARD': studyManager.FICHIER_EFICAS_HOMARD }
+            moduleEntry = studyManager.palStudy.addComponent(self.module)
+            itemName    = re.split("/",jdcPath)[-1]
+            #commEntry = self.createItemInStudy( EficasEntry, itemName ) #CS_pbruno attention même nom possible, controle à faire
+            commEntry = studyManager.palStudy.addItem( moduleEntry,
+                                                       itemName = itemName,
+                                                       itemType = fileType[ self.bureau.code ],
+                                                       itemValue = jdcPath,
+                                                       itemComment = str( jdcPath ),
+                                                       itemIcon    = "ICON_COMM_FILE",
+                                                       bDoublonCheck = True )
+            studyManager.palStudy.refresh()                                                       
+            print 'addJdcInSalome commEntry->', commEntry            
+            if commEntry:
+                ok, msgError = True, ''
+            
         except:                    
             logger.debug(50*'=')
         return ok, msgError        
@@ -463,10 +475,10 @@ class MyEficas( Tkinter.Toplevel, eficas.EFICAS ):
 #-------------------------------------------------------------------------------------------------------        
 #           Point d'entré lancement EFICAS
 #
-def runEficas( code="ASTER", fichier=None ):
+def runEficas( code="ASTER", fichier=None, module = studyManager.SEficas ):
     global appli    
-    if not appli: #une seul instance possible!
-        appli = MyEficas( SalomePyQt.SalomePyQt().getDesktop(), code = code, fichier = fichier )
+    if not appli: #une seul instance possible!        
+        appli = MyEficas( SalomePyQt.SalomePyQt().getDesktop(), code = code, fichier = fichier, module = module )