]> SALOME platform Git repositories - modules/eficas.git/commitdiff
Salome HOME
On court-circuite la création d'une vue OCC si la vue active n'est pas une vue OCC...
authorbourcier <>
Mon, 30 Apr 2007 15:11:14 +0000 (15:11 +0000)
committerbourcier <>
Mon, 30 Apr 2007 15:11:14 +0000 (15:11 +0000)
src/EFICASGUI/eficasSalome.py

index 9ca3d10d9e7c27cff471197c8783b2cfbca0e059..3a4b3cc80fa68d65880480496099ecd635fd251c 100644 (file)
@@ -272,6 +272,7 @@ class MyEficas( Tkinter.Toplevel, eficas.EFICAS ):
             studyManager.palStudy.setCurrentStudyID( activeStudyId )            
             
         return True
+
         
     def __createOCCView( self ):
         """
@@ -279,12 +280,24 @@ class MyEficas( Tkinter.Toplevel, eficas.EFICAS ):
         """        
         #salome.salome_init()
         import iparameters
-        ipar = iparameters.IParameters(salome.myStudy.GetCommonParameters("Interface Applicative", 1))
+        
+        # On détermine le nombre de GUI states déjà présents dans l'arbre d'étude
+        GUIStateID = 1
+        
+        ipar = iparameters.IParameters(salome.myStudy.GetCommonParameters("Interface Applicative", GUIStateID))
+        properties = ipar.getProperties()
+        
+        while properties != []:
+            GUIStateID += 1
+            ipar = iparameters.IParameters(salome.myStudy.GetCommonParameters("Interface Applicative", GUIStateID))
+            properties = ipar.getProperties()
 
+        print "GUIStateID: ", GUIStateID
+        
         #Set up visual properties:
         ipar.setProperty("AP_ACTIVE_VIEW", "OCCViewer_0_0")
         ipar.setProperty("AP_WORKSTACK_INFO", "(splitter orientation=0 sizes=1045 (views active='OCCViewer_0_0' 'OCCViewer_0_0'))")
-        ipar.setProperty("AP_SAVEPOINT_NAME", "GUI state: 1")
+        ipar.setProperty("AP_SAVEPOINT_NAME", "GUI state: %i"%(GUIStateID))
         #Set up lists:
         # fill list AP_VIEWERS_LIST
         ipar.append("AP_VIEWERS_LIST", "OCCViewer_1")
@@ -294,7 +307,7 @@ class MyEficas( Tkinter.Toplevel, eficas.EFICAS ):
 
         if salome.sg.hasDesktop():
             salome.sg.updateObjBrowser(1)
-            iparameters.getSession().restoreVisualState(1)
+            iparameters.getSession().restoreVisualState(GUIStateID)
         
                         
     def __selectWorkingMesh( self, meshGroupEntries ):
@@ -705,7 +718,7 @@ class MyEficas( Tkinter.Toplevel, eficas.EFICAS ):
                 ok, msgError = self.displayMeshGroups(shapeName)
             else: #geometrie
                 print 'Vue courante = OCC : affichage element geometrique'
-                self.__createOCCView()
+                self.__createOCCView()
                 current_color = COLORS[ self.icolor % LEN_COLORS ]                
                 ok = studyManager.palStudy.displayShapeByName( shapeName, current_color )
                 salome.sg.FitAll()