]> SALOME platform Git repositories - modules/eficas.git/commitdiff
Salome HOME
*** empty log message ***
authorPascale Noyret <pascale.noyret@edf.fr>
Tue, 30 Mar 2010 15:00:14 +0000 (15:00 +0000)
committerPascale Noyret <pascale.noyret@edf.fr>
Tue, 30 Mar 2010 15:00:14 +0000 (15:00 +0000)
Ihm/I_MACRO_ETAPE.py

index 4818759d45d995ea6a9393f39710069bd27f9c34..8770ce39a2319ab81de6564fe75029e10d8eca8a 100644 (file)
@@ -390,7 +390,7 @@ class MACRO_ETAPE(I_ETAPE.ETAPE):
        Tente de changer le fichier include. Le precedent include est conservé
        dans old_xxx
     """
-    #print "change_fichier_init",new_fic
+    print "change_fichier_init",new_fic
     if not hasattr(self,'fichier_ini'):
        self.fichier_ini=None
        self.fichier_text=None
@@ -403,11 +403,15 @@ class MACRO_ETAPE(I_ETAPE.ETAPE):
        self.JdC_aux=Extensions.jdc_include.JdC_include
 
     self.old_fic = self.fichier_ini
+    print self.old_fic
     self.old_text = self.fichier_text
+    print self.old_text
     self.old_err = self.fichier_err
     self.old_context=self.contexte_fichier_init
+    print self.old_context
     self.old_units=self.recorded_units
     self.old_etapes=self.etapes
+    print self.old_etapes
     self.old_jdc_aux=self.jdc_aux
 
     self.fichier_ini = new_fic
@@ -763,7 +767,14 @@ class MACRO_ETAPE(I_ETAPE.ETAPE):
   def make_include2(self,fichier=None):
       # gestion de l unicite SVP
       unite=999
+
       if hasattr(self,'fichier_ini') : return
+      reevalue=0
+      if hasattr(self,'old_context_fichier_init' ):
+         reevalue=1
+         for concept in self.old_context_fichier_init.values():
+             self.jdc.delete_concept(concept)
+
       if fichier == None :
          fichier=str(self.jdc.appli.get_file_variable())
          if fichier  == str("") : 
@@ -778,7 +789,6 @@ class MACRO_ETAPE(I_ETAPE.ETAPE):
               pass
            raise Exception(self.fichier_err)
 
-         # On memorise le fichier retourne
       self.fichier_ini  = fichier
       self.fichier_text = ""
       self.contexte_fichier_init={}
@@ -798,7 +808,6 @@ class MACRO_ETAPE(I_ETAPE.ETAPE):
                #ligneTexte="%s=DETERMINISTICVARIABLE(N='%s',T='out',R=%d);\n" % (nom, nom, i)
                ligneTexte=""
                nbVariableOut=nbVariableOut+1
-               self.jdc.state="changed"
              else :
                ligneTexte="%s=DETERMINISTICVARIABLE(N='%s',T='in',R=%d);\n" % (nom, nom, i)
              self.fichier_text = self.fichier_text + ligneTexte
@@ -813,14 +822,15 @@ class MACRO_ETAPE(I_ETAPE.ETAPE):
 
       try:
          import Extensions.jdc_include
+         self.JdC_aux=Extensions.jdc_include.JdC_include
       except:
          traceback.print_exc()
          self.make_incl2_except()
          raise
-      self.JdC_aux=Extensions.jdc_include.JdC_include
       
       try:
          self.make_contexte_include(self.fichier_ini ,self.fichier_text)
+         self.old_context_fichier_init=self.contexte_fichier_init
          self.parent.record_unit(unite,self)
          try :
             MCFils=self.get_child('FileName')
@@ -829,22 +839,27 @@ class MACRO_ETAPE(I_ETAPE.ETAPE):
             pass
       except:
          self.make_incl2_except()
-      # recalcul validite pour la matrice eventuelle
 
-      self.jdc.state="changed"
-      self.jdc.isvalid()
-      print "self.jdc " , self.jdc.state
-      for e in self.jdc.etapes:
-          print "hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh"
-          e.state="changed"
-          if e.nom=="CORRELATION":
-             e.state="changed"
-             try :
-               MCFils=e.get_child('CorrelationMatrix')
-               MCFils.state="changed"
-             except :
-               pass
-             e.isvalid()
+      # recalcul validite pour la matrice eventuelle
+      if reevalue :
+         for e in self.jdc.etapes:
+           if e.nom == "VARIABLE" :
+              e.state="modified"
+              try :
+                 mc=e.get_child('ModelVariable') 
+                 mc.state="modified"
+              except :
+                 pass
+           if e.nom == "CORRELATION" :
+              e.state="modified"
+              try :
+                 mc=e.get_child('Matrix') 
+                 mc.state="modified"
+                 mcFeuille=mc.get_child('CorrelationMatrix')
+                 mcFeuille.state="modified"
+              except :
+                 pass
+              e.isvalid()
 
   def make_incl2_except(self,mess=None):
          l=traceback.format_exception_only("Fichier invalide",sys.exc_info()[1])