Salome HOME
*** empty log message ***
[tools/eficas.git] / Editeur / plusieursbasepanel.py
index 95a671d03ca44ef20d488e571479d7b78246f05a..93c84d6c63c9f90414201f4d40ca5f3eb07e3091 100644 (file)
@@ -127,6 +127,9 @@ class PLUSIEURS_BASE_Panel(PLUSIEURS_Panel):
                        wraplength=int(self.frame_aide.winfo_width()*0.8))
       self.aide.place(relx=0.5,rely=0.5,anchor='center',relwidth=1)
       self.Liste_valeurs.affiche_liste()
+      if len(l_valeurs) > 0 :
+          liste_marque=l_valeurs[-1]
+          self.Liste_valeurs.surligne(liste_marque)
       # boutons Accepter et Annuler
       bouton_accepter = Button(self.frame_boutons,
                                text='Valider',
@@ -151,6 +154,8 @@ class PLUSIEURS_BASE_Panel(PLUSIEURS_Panel):
                pass
            self.fenetreparam=FenetreDeParametre( self, self.node.item, self.parent.appli, txtparam)
 
+  def valid_valeur(self):
+      self.add_valeur_plusieurs_base()
 
   def add_valeur_plusieurs_base(self,name=None):
       if name != None :
@@ -161,12 +166,20 @@ class PLUSIEURS_BASE_Panel(PLUSIEURS_Panel):
             self.parent.appli.affiche_infos(commentaire)
             return
 
-      encorevalide=self.node.item.valide_item(valeur)
-      if encorevalide :
-         listecourante=self.Liste_valeurs.get_liste()
-         encorevalide=self.node.item.valide_liste_partielle(valeur,listecourante)
-         if not encorevalide : encorevalide = -1
-      self.add_valeur_sans_into(valeur,encorevalide)
+      atraiter=[]
+      try :
+         for v in valeur:
+           atraiter.append(v)
+      except :
+         atraiter.append(valeur)
+
+      for valeur in atraiter :
+         encorevalide=self.node.item.valide_item(valeur)
+         if encorevalide :
+            listecourante=self.Liste_valeurs.get_liste()
+            encorevalide=self.node.item.valide_liste_partielle(valeur,listecourante)
+            if not encorevalide : encorevalide = -1
+         self.add_valeur_sans_into(valeur,encorevalide)
     
   def select_in_file(self):
       """ Permet d'ouvrir un fichier choisi par l'utilisateur. """
@@ -258,7 +271,20 @@ class PLUSIEURS_BASE_Panel(PLUSIEURS_Panel):
       if hasattr(self,'entry'):
          # Traitement d'une entree unique
          valeurentree = self.entry.get()
-         valeur,validite=self.node.item.eval_valeur(valeurentree)
+        if (valeurentree == None or valeurentree ==""):
+           return None,0,""
+        if (valeurentree[0] != "(") and (valeurentree.find(',') < len(valeurentree)):
+           valeurs=[]
+           for v in valeurentree.split(','):
+             vsimple,validite=self.node.item.eval_valeur(v)
+             if validite :
+                valeurs.append(vsimple)
+             else:
+                commentaire = "impossible d'évaluer : %s " %`valeurentree`
+                break
+           valeur=valeurs
+         else: 
+            valeur,validite=self.node.item.eval_valeur(valeurentree)
          if not validite :
             commentaire = "impossible d'évaluer : %s " %`valeurentree`
          else: