]> SALOME platform Git repositories - tools/eficas.git/commitdiff
Salome HOME
PN : version intermédiaire
authoreficas <>
Tue, 14 Oct 2003 09:52:07 +0000 (09:52 +0000)
committereficas <>
Tue, 14 Oct 2003 09:52:07 +0000 (09:52 +0000)
Editeur/composimp.py
Ihm/I_VALIDATOR.py

index 1fe42aabdbf6a3b7f4bbce93c69ad2dc22e15c44..4b45351b5e4df42f70cba1cdf0955cd075897172 100644 (file)
@@ -328,7 +328,7 @@ class PLUSIEURS_Panel(newSIMPPanel):
          else :
             commentaire ="Type de la valeur incorrecte"
 
-      self.erase_valeur()
+      #self.erase_valeur()
       self.parent.appli.affiche_infos(commentaire)
 
   def sup_valeur_sans_into(self,name=None):
@@ -442,6 +442,7 @@ class PLUSIEURS_INTO_Panel(PLUSIEURS_Panel):
       Retourne la phrase d'aide indiquant de quel type de base doivent être les valeurs
       que saisit l'utilisateur
       """
+      commentaire=""
       mc = self.node.item.get_definition()
       d_aides = { 'TXM' : 'chaînes de caractères',
                   'R'   : 'réels',
@@ -454,10 +455,12 @@ class PLUSIEURS_INTO_Panel(PLUSIEURS_Panel):
          else :
            return "entrez entre "+str(mc.min)+" et "+str(mc.max)+" valeurs"
       if mc.min == mc.max:
-          return "Une liste de "+str(mc.min)+" "+d_aides[type]+" est attendue"
+           commentaire="Une liste de "+str(mc.min)+" "+d_aides[type]+" est attendue"
       else :
-          return "Entre "+str(mc.min)+" et "+str(mc.max)+" valeurs de type  "+d_aides[type]+" sont attendues"
-      return "  "
+           commentaire="Entre "+str(mc.min)+" et "+str(mc.max)+" valeurs de type  "+d_aides[type]+" sont attendues"
+      aideval=self.node.item.aide()
+      commentaire=commentaire + "\n" + aideval
+      return commentaire
 
   def get_bulle_aide(self):
       """
@@ -625,6 +628,7 @@ class PLUSIEURS_BASE_Panel(PLUSIEURS_Panel):
       Retourne la phrase d'aide indiquant de quel type de base doivent être les valeurs
       que saisit l'utilisateur
       """
+      commentaire=""
       mc = self.node.item.get_definition()
       d_aides = { 'TXM' : 'chaînes de caractères',
                   'R'   : 'réels',
@@ -633,9 +637,12 @@ class PLUSIEURS_BASE_Panel(PLUSIEURS_Panel):
       type = mc.type[0]
       if not d_aides.has_key(type) : return 'Type de base inconnu'
       if mc.min == mc.max:
-          return "Une liste de "+d_aides[type]+" chaînes de caractères est attendue"
+          commentaire="Une liste de "+d_aides[type]+" chaînes de caractères est attendue"
       else :
-          return "Une liste de "+d_aides[type]+" est attendue (min="+`mc.min`+",max="+`mc.max`+')'
+          commentaire="Une liste de "+d_aides[type]+" est attendue (min="+`mc.min`+",max="+`mc.max`+')'
+      aideval=self.node.item.aide()
+      commentaire=commentaire +"\n"+aideval
+      return commentaire
 
   def make_entry(self,frame,command):
       """
@@ -769,15 +776,20 @@ class PLUSIEURS_ASSD_Panel(PLUSIEURS_Panel):
       Retourne la phrase d'aide indiquant de quel type doivent être les
       valeurs que doit entrer l'utilisateur
       """
+      commentaire=""
       mc = self.node.item.get_definition()
       type = mc.type[0].__name__  
       if len(mc.type)>1 :
           for typ in mc.type[1:] :
               type = type + ' ou '+typ.__name__
       if mc.min == mc.max:
-        return "Une liste de "+`mc.min`+" objets de type "+type+" est attendue"
+        commentaire="Une liste de "+`mc.min`+" objets de type "+type+" est attendue"
       else :
-        return "Une liste d'objets de type "+type+" est attendue (min="+`mc.min`+",max="+`mc.max`+')'
+        commentaire="Une liste d'objets de type "+type+" est attendue (min="+`mc.min`+",max="+`mc.max`+')'
+      aideval=self.node.item.aide()
+      commentaire=commentaire +"\n"+ aideval
+      return commentaire
+
     
   def sup_valeur(self,name=None):
       """
@@ -995,7 +1007,11 @@ class UNIQUE_ASSD_Panel(UNIQUE_Panel):
       if len(mc.type)>1 :
           for typ in mc.type[1:] :
               type = type + ' ou '+typ.__name__
-      return  "Un objet de type "+type+" est attendu"
+      commentaire="Un objet de type "+type+" est attendu"
+      aideval=self.node.item.aide()
+      commentaire=commentaire +"\n"+ aideval
+      return commentaire
+
     
   def select_valeur_from_list(self):
       """
@@ -1274,7 +1290,10 @@ class UNIQUE_BASE_Panel(UNIQUE_Panel):
                   'R'   : "Un réel est attendu",
                   'I'   : "Un entier est attendu"}
       type = mc.type[0]
-      return d_aides.get(type,"Type de base inconnu")
+      commentaire=d_aides.get(type,"Type de base inconnu")
+      aideval=self.node.item.aide()
+      commentaire=commentaire +"\n"+ aideval
+      return commentaire
 
   def get_bulle_aide(self):
       """
@@ -1348,7 +1367,10 @@ class UNIQUE_COMP_Panel(UNIQUE_Panel):
       Retourne la phrase d'aide décrivant le type de la valeur que peut prendre
       le mot-clé simple courant
       """
-      return 'Un complexe est attendu'
+      commentaire='Un complexe est attendu'
+      aideval=self.node.item.aide()
+      commentaire=commentaire +"\n"+ aideval
+      return commentaire
 
   def get_valeur(self):
       """
@@ -1479,23 +1501,35 @@ class SIMPTreeItem(Objecttreeitem.AtomicObjectTreeItem):
       return has_an_into
 
   def valide_item(self,item):
+      """
+       On fait un try except pour les erreurs de types (exple
+       on rentre 1 pour une chaine de caracteres
+      """
       valide=1
       if self.definition.validators :
-         valide=self.definition.validators.verif(item)
+         if not self.definition.validators.is_list():
+            try :
+                valide=self.definition.validators.verif(item)
+            except :
+               valide=0
       return valide
      
   def valide_liste_partielle(self,item,listecourante):
       valeuravant=self.object.valeur
       valeur=listecourante
       valeur.append(item)
-      if len(valeur) > 1 :
-         valeur = tuple(valeur)
-      else :
-        valeur=valeur[0]
+      valeur = tuple(valeur)
       retour=self.object.set_valeur(valeur)
       validite=0
       if self.object.isvalid():
          validite=1
+      elif self.definition.validators :
+         validite=self.definition.validators.valide_liste_partielle(valeur)
+      if validite==0:
+         min,max=self.GetMinMax()
+       
+         if len(valeur) < min :
+           validite=1
       retour=self.object.set_valeur(valeuravant)
       return validite 
 
@@ -1514,6 +1548,12 @@ class SIMPTreeItem(Objecttreeitem.AtomicObjectTreeItem):
          commentaire=self.definition.validators.info_erreur_item()
       return commentaire
       
+  def aide(self) :
+      commentaire=""
+      if self.definition.validators :
+         commentaire=self.definition.validators.aide()
+      return commentaire
+
   def info_erreur_liste(self) :
       commentaire=""
       if self.definition.validators :
index b823cc9b952beeedc103fab689e2ef9f309d97ce..9c703032dfdda746dd5795a410f4a95f84efa00e 100644 (file)
@@ -63,7 +63,7 @@ class Valid:
        """
        return 0
 
-   def valide_liste_partielle(self):
+   def valide_liste_partielle(self,liste_courante):
        return 0
 
    def get_into(self,liste_courante=None,into_courant=None):
@@ -236,6 +236,7 @@ class CardVal(Valid):
 
    def valide_liste_partielle(self,liste_courante=None):
        validite=1
+        print liste_courante
         if liste_courante != None :
            if len(liste_courante) > self.max :
               validite=0
@@ -364,7 +365,3 @@ class OrdList(ListVal):
 
           
           
-
-
-
-