Salome HOME
F.R: - modification ordre d'appel à node.parent.select et les autres
authoreficas <>
Wed, 10 Apr 2002 12:36:11 +0000 (12:36 +0000)
committereficas <>
Wed, 10 Apr 2002 12:36:11 +0000 (12:36 +0000)
F.R:   actions liées au node (car la sélection d'un noeud tue l'ancien panel_
F.R:   courant )

Editeur/composimp.py
Editeur/panels.py

index f7522e8b02bc71ba16b6b846f72814c5daefe4c1..f0368965318ed50871b25f54f755c8acde9cd476 100644 (file)
@@ -706,22 +706,20 @@ class UNIQUE_Panel(newSIMPPanel):
       if not test :
           mess = "impossible d'évaluer : %s " %`valeur`
           self.parent.appli.affiche_infos("Valeur du mot-clé non autorisée :"+mess)
-          return
       elif self.node.item.isvalid() :
           self.parent.appli.affiche_infos('Valeur du mot-clé enregistrée')
+         if self.node.item.get_position()=='global':
+              self.node.etape.verif_all()
+         elif self.node.item.get_position()=='global_jdc':
+              self.node.racine.verif_all()
+         else :
+              self.node.parent.verif()
+         self.node.update()
           self.node.parent.select()
       else :
           cr = self.node.item.get_cr()
           mess = "Valeur du mot-clé non autorisée :"+cr.get_mess_fatal()
           self.record_valeur(anc_val,mess=mess)
-          return
-      if self.node.item.get_position()=='global':
-          self.node.etape.verif_all()
-      elif self.node.item.get_position()=='global_jdc':
-          self.node.racine.verif_all()
-      else :
-          self.node.parent.verif()
-      self.node.update()
 
 class UNIQUE_INTO_Panel(UNIQUE_Panel):
   """
index 19162fb3435f0734b703fe4dddf9ad5a27fdac8d..78d292aec9b0f82215a946e5ddb1ae20be8a46e9 100644 (file)
@@ -33,7 +33,6 @@ class Panel(Frame) :
       Frame.destroy(self)
       self.panneau=None
       self.parent=None
-      self.node=None
       # Because on herite de Frame
       self.master=None
       # On supprime explicitement les references aux objets Tk
@@ -50,7 +49,11 @@ class Panel(Frame) :
       self.frame_param=None
       # On termine la suppression de facon brutale (objets Tk et non Tk)
       for k in self.__dict__.keys():
-         setattr(self,k,None)
+         # il est plus prudent de ne pas détruire le lien sur le Node
+        # si on voulait mettre l'attribut node à None, il faudrait
+        # que tous les appels à node.parent.select() apparaissent après
+        # toutes les autres actions liées au panel (node.item.isglobal(), ...)
+         if k != 'node' : setattr(self,k,None)
 
   def creer_boutons(self):
       """