From: eficas <> Date: Tue, 14 Oct 2003 09:52:07 +0000 (+0000) Subject: PN : version intermédiaire X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=3c585d66341ebae3cf9f4876e9da1abb52d02699;p=tools%2Feficas.git PN : version intermédiaire --- diff --git a/Editeur/composimp.py b/Editeur/composimp.py index 1fe42aab..4b45351b 100644 --- a/Editeur/composimp.py +++ b/Editeur/composimp.py @@ -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 : diff --git a/Ihm/I_VALIDATOR.py b/Ihm/I_VALIDATOR.py index b823cc9b..9c703032 100644 --- a/Ihm/I_VALIDATOR.py +++ b/Ihm/I_VALIDATOR.py @@ -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): - - - -