]> SALOME platform Git repositories - tools/eficas.git/commitdiff
Salome HOME
modif IHM
authorpascale.noyret <pascale.noyret@edf.fr>
Thu, 25 Feb 2021 10:42:27 +0000 (11:42 +0100)
committerpascale.noyret <pascale.noyret@edf.fr>
Thu, 25 Feb 2021 10:42:27 +0000 (11:42 +0100)
Ihm/I_MCCOMPO.py
Ihm/I_MCSIMP.py
Noyau/N_MCSIMP.py

index 96cf2fcdfe8a48953c57ef0518d561c6eeb09b42..c983667ad0a9c0c31ea59674f5199feccd5eff25 100644 (file)
@@ -408,7 +408,6 @@ class MCCOMPO(I_OBJECT.OBJECT):
         Parcourt l'arborescence des mcobject et realise l'update 
         des blocs conditionnels par appel de la methode updateConditionBloc
      """
-     #print ('js suis dans deepUpdateConditionBloc', self.nom)
      self._updateConditionBloc()
      for mcobj in self.mcListe:
         if hasattr(mcobj,"deepUpdateConditionBloc"):
@@ -432,6 +431,7 @@ class MCCOMPO(I_OBJECT.OBJECT):
         Realise l'update des blocs conditionnels fils de self
      """
      dict = self.creeDictCondition(self.mcListe,condition=1)
+     doitEtreReecrit=False
      for k,v in self.definition.entites.items():
         if v.label != 'BLOC' :continue
         globs= self.jdc and self.jdc.condition_context or {}
@@ -448,9 +448,11 @@ class MCCOMPO(I_OBJECT.OBJECT):
            # le bloc est present : il faut l'enlever
            #print ("SUPPRESSION BLOC",k,bloc)
            self.suppEntite(bloc)
+           doitEtreReecrit=True
 
   def verifConditionBloc(self):
     """ 
+    2021 : obsolete ?
         Evalue les conditions de tous les blocs fils possibles 
         (en fonction du catalogue donc de la definition) de self
         et retourne deux listes :
index 492d12f8b6cd905ff5afb760d920b69b7395ea41..b63616ea1e41ad62331c84533b55786fe4020620 100644 (file)
@@ -343,27 +343,29 @@ class MCSIMP(I_OBJECT.OBJECT):
          self.etape.deepUpdateConditionBloc()
       elif self.definition.position == 'reCalculeEtape' :
          self.etape.deepUpdateConditionBloc()
+         self.etape.demandeRedessine()
       elif self.definition.position == 'global_jdc' :
          self.jdc.deepUpdateConditionBloc(self)
+         self.etape.demandeRedessine()
       elif self.definition.position == 'inGetAttribut' :
          self.jdc.deepUpdateConditionBloc(self)
       else:
          self.parent.updateConditionBloc()
 
   def setValeur(self,new_valeur,evaluation='oui'):
-        self.initModif()
-        self.valeur = new_valeur
-        self.val = new_valeur
-        if self.valeur and self.waitUserAssd() and not(self.waitUserAssdOrAssdMultipleEnCreation()) : 
-           if type(self.valeur)  in (list,tuple):
-              for v in self.valeur : v.ajoutUtilisePar(self)
-           else : self.valeur.ajoutUtilisePar(self)
-        if self.isValid():self.setValeurObjPyxb(new_valeur)
-        self.updateConditionBloc()
-        if self.definition.metAJour != None : self.updateAutresMotsClefs()
-        self.etape.modified()
-        self.finModif()
-        return 1
+      self.initModif()
+      self.valeur = new_valeur
+      self.val = new_valeur
+      if self.valeur and self.waitUserAssd() and not(self.waitUserAssdOrAssdMultipleEnCreation()) : 
+         if type(self.valeur)  in (list,tuple):
+            for v in self.valeur : v.ajoutUtilisePar(self)
+         else : self.valeur.ajoutUtilisePar(self)
+      if self.isValid():self.setValeurObjPyxb(new_valeur)
+      self.updateConditionBloc()
+      if self.definition.metAJour != None : self.updateAutresMotsClefs()
+      self.etape.modified()
+      self.finModif()
+      return 1
 
   def evalValeur(self,new_valeur):
     """
@@ -606,13 +608,13 @@ class MCSIMP(I_OBJECT.OBJECT):
              self.finModif()
  
   def renommeSdCree(self,nouveauNom):
-      #print ( 'dans renommeSdCree', self.jdc.sdsDict, self.valeur)
       if nouveauNom in self.jdc.sdsDict : return (0, 'concept deja existant')
       if self.valeur == None : return (0, 'pb sur la valeur')
       else :   self.valeur.renomme(nouveauNom)
       return (1, 'concept renomme')
       
   def renommeSdCreeDsListe(self,objASSD, nouveauNom):
+      #print ( 'dans renommeSdCree', self.jdc.sdsDict, self.valeur, nouveauNom)
       if nouveauNom in self.jdc.sdsDict : return (0, 'concept deja existant')
       objASSD.renomme(nouveauNom)
       return (1, 'concept renomme')
index 069b76b2ae11b54815bf64a1826f1a475356d011..64f54b99357c74001e9135927b26e064675b62f0 100644 (file)
@@ -315,8 +315,8 @@ class MCSIMP(N_OBJECT.OBJECT):
            if Xpath == None : 
               dicoValeurs[nomMC] = getattr(self,nomMC)
            else : 
-            #try:
-            if 1 :
+            try:
+            #if 1 :
               pereMC=eval(Xpath)
               if pereMC : 
                  exp=Xpath+'.getChild("'+nomMC+'")'
@@ -330,8 +330,8 @@ class MCSIMP(N_OBJECT.OBJECT):
                  #PN PN est-ce sur ? sinon quoi None ou []
                  # je pense que les 2 valeurs doivent être renseignees si le filtre depend de 2 valeurs
                  return l
-            #except:
-            #   return l
+            except:
+               return l
              
           
         for k,v in self.parent.jdc.sdsDict.items():