From: eficas <> Date: Thu, 9 Oct 2003 14:59:06 +0000 (+0000) Subject: PN version intermédiaire intégrant les validateurs X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=5ed6ad1aaedf3afc1dddefbbf2a9fecf522c72ec;p=tools%2Feficas.git PN version intermédiaire intégrant les validateurs --- diff --git a/Editeur/composimp.py b/Editeur/composimp.py index 71a6dd42..e5b30f26 100644 --- a/Editeur/composimp.py +++ b/Editeur/composimp.py @@ -64,39 +64,13 @@ class newSIMPPanel(panels.OngletPanel): # au mot-clé courant # ---------------------------------------------------------------------------------------- -# def record_valeur(self,name=None,mess='Valeur du mot-clé enregistrée'): -# if self.parent.modified == 'n' : self.parent.init_modif() -# if name != None: -# valeur =name -# else : - #XXX Pourquoi proceder ainsi ? Il n'est pas possible de mettre - # None comme valeur du mot cle. - # Probablement que ce debranchement permet de mettre record_valeur - # en call back, il faut donc aller chercher la valeur dans l'entry -# valeur= self.entry.get() -# self.entry.delete(0,END) - #XXX Pour permettre la mise a None du mot cle, on remet None si valeur == '' -# if valeur == '':valeur=None -# self.node.item.set_valeur(valeur,evaluation='non') -# self.parent.appli.affiche_infos(mess) -# 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() -# if self.node.item.isvalid(): -# self.node.parent.select() - - def record_valeur_deja_evaluee(self,name=None,mess='Valeur du mot-clé enregistrée'): + def reset_old_valeur(self,name=None,mess='Valeur du mot-clé enregistrée'): """ Enregistre val comme valeur de self.node.item.object SANS faire de test de validité ni ré-évaluer l'ancienne valeur permet de rester avec des valeurs non entrees et de ne pas ré-évaluer des entiers par exemple """ - print "debut reset" if self.parent.modified == 'n' : self.parent.init_modif() self.node.item.set_valeur(name) self.parent.appli.affiche_infos(mess) @@ -107,29 +81,32 @@ class newSIMPPanel(panels.OngletPanel): else : self.node.parent.verif() self.node.update() - if self.node.item.isvalid(): - self.node.parent.select() def record_valeur(self,name=None,mess='Valeur du mot-clé enregistrée'): """ Enregistre val comme valeur de self.node.item.object en evaluant l item et en le validant """ - print "ici" if self.parent.modified == 'n' : self.parent.init_modif() if name != None: valeur = name + validite = 1 else : - valeur= self.entry.get() + valeurentree= self.entry.get() self.entry.delete(0,END) - if valeur == '': valeur=None - valeur,validite=self.node.item.eval_valeur(valeur) - - if self.node.item.is_list() : - verification=self.node.item.valide_liste_complete(valeur) - else : - verification=self.node.item.valide_item(valeur) - if verification : + if valeurentree == '': valeurentree=None + valeur,validite=self.node.item.eval_valeur(valeurentree) + if not validite : + valeur= self.entry.get() + commentaire = "impossible d'évaluer : %s " %`valeurentree` + self.parent.appli.affiche_infos(commentaire) + + if validite : + if self.node.item.is_list() : + validite=self.node.item.valide_liste_complete(valeur) + else : + validite=self.node.item.valide_item(valeur) + if validite : self.node.item.set_valeur(valeur) self.parent.appli.affiche_infos(mess) if self.node.item.get_position()=='global': @@ -268,15 +245,10 @@ class PLUSIEURS_Panel(newSIMPPanel): et l'affecte au mot-clé courant. """ l1_valeurs = self.Liste_valeurs.get_liste() - # PN : remplacement des paramétres par leur nom (cf get_liste) l_valeurs=[] for val in l1_valeurs : if val != '' and val != None : - if val.__class__.__name__ in ('PARAMETRE','PARAMETRE_EVAL'): - v=val.nom - else: - v=val - l_valeurs.append(v) + l_valeurs.append(val) longueur = len(l_valeurs) if longueur < min or longueur > max : @@ -288,6 +260,7 @@ class PLUSIEURS_Panel(newSIMPPanel): valeur = l_valeurs[0] else: valeur = None + self.parent.appli.affiche_infos("Valeur acceptée") self.record_valeur(valeur) if self.node.item.isvalid(): @@ -336,47 +309,42 @@ class PLUSIEURS_Panel(newSIMPPanel): -1 si le validateur trouve la liste incorrecte """ - #test1=0 - test2=0 commentaire="Valeur incorrecte : ajout à la liste refusé" + testvalide=1 if name != None : valeur = name else: - valeur = self.get_valeur() + valeurentree = self.get_valeur() + if valeur == '': valeur=None + valeurentree,testvalide=self.node.item.eval_valeur(valeur) if (valeur == None or valeur =="") : encorevalide = -2 commentaire = "Pas de saisie des valeurs nulles" - if (encorevalide ==0) : - commentaire=self.node.item.info_erreur_item() - if (encorevalide == -1) : - commentaire=self.node.item.info_erreur_liste() - min,max = self.node.item.GetMinMax() - - #if (encorevalide == 1) : - # if self.node.item.wait_reel(): - # valeur = self.traite_reel(valeur) - # if self.node.item.wait_geom(): - # val,test1 = valeur,1 - # else: - # val,test1 = self.node.item.eval_valeur(valeur) + if testvalide : + if (encorevalide ==0) : + commentaire=self.node.item.info_erreur_item() + if (encorevalide == -1) : + commentaire=self.node.item.info_erreur_liste() + min,max = self.node.item.GetMinMax() - #if test1 : - test2 = self.node.item.object.verif_type(valeur) + testtype = self.node.item.object.verif_type(valeur) - if test2 : - liste_valeurs = self.Liste_valeurs.get_liste() - if len(liste_valeurs) >= max : + if testtype : + liste_valeurs = self.Liste_valeurs.get_liste() + if len(liste_valeurs) >= max : commentaire="La liste a déjà atteint le nombre maximum d'éléments,ajout refusé" + else : + liste_valeurs.append(valeur) + self.Liste_valeurs.put_liste(liste_valeurs) + self.erase_valeur() + commentaire="Nouvelle valeur acceptée" else : - liste_valeurs.append(valeur) - self.Liste_valeurs.put_liste(liste_valeurs) - self.erase_valeur() - commentaire="Nouvelle valeur acceptée" - else : commentaire ="Type de la valeur incorrecte" + else : + commentaire = "impossible d'évaluer : %s " %`valeurentree` self.erase_valeur() self.parent.appli.affiche_infos(commentaire) @@ -392,7 +360,6 @@ class PLUSIEURS_Panel(newSIMPPanel): # la valeur sélectionnée n'est pas dans la liste return self.Liste_valeurs.put_liste(liste_valeurs) - #self.display_valeur('') self.display_valeur(self.selected_valeur) self.selected_valeur = None @@ -431,7 +398,6 @@ class PLUSIEURS_INTO_Panel(PLUSIEURS_Panel): #l_choix=list(objet_mc.into) l_valeurs = self.node.item.GetListeValeurs() l_choix= self.node.item.get_liste_possible(l_valeurs) - l_choix.sort() # reinitialisation de l_valeurs l_valeurs = self.node.item.GetListeValeurs() @@ -625,12 +591,17 @@ class PLUSIEURS_BASE_Panel(PLUSIEURS_Panel): def add_valeur_plusieurs_base(self,name=None): if name != None : - valentree = name + valeur = name else: - valentree = self.get_valeur() - valeur,validite=self.node.item.eval_valeur(valentree) + valeurentree = self.get_valeur() + if valeurentree == '': valeur=None + valeur,validite=self.node.item.eval_valeur(valeurentree) + if not validite : + commentaire = "impossible d'évaluer : %s " %`valeur` + self.parent.appli.affiche_infos(commentaire) + return + encorevalide=self.node.item.valide_item(valeur) - print encorevalide if encorevalide : listecourante=self.Liste_valeurs.get_liste() encorevalide=self.node.item.valide_liste_partielle(valeur,listecourante) @@ -876,24 +847,21 @@ class UNIQUE_Panel(newSIMPPanel): - si non, restaure l'ancienne valeur """ if self.parent.modified == 'n' : self.parent.init_modif() + anc_val = self.node.item.get_valeur() valeurentree = self.get_valeur() self.erase_valeur() - anc_val = self.node.item.get_valeur() - valeur,test=self.node.item.eval_valeur(valeurentree) + valeur,validite=self.node.item.eval_valeur(valeurentree) + if not validite : + commentaire = "impossible d'évaluer : %s " %`valeur` + self.parent.appli.affiche_infos(commentaire) + return - print "VALID_VALEUR" - if test : - test = self.node.item.set_valeur(valeur) + test = self.node.item.set_valeur(valeur) - print "apres set valeur" - print valeur - print test if not test : - print "LLLLLA" mess = "impossible d'évaluer : %s " %`valeur` - self.parent.appli.affiche_infos("Valeur du mot-clé non autorisée :"+mess) + self.parent.appli.affiche_infos("Valeur du mot-clé non autorisée : "+mess) elif self.node.item.isvalid() : - print "LLLLLLLLLL" self.parent.appli.affiche_infos('Valeur du mot-clé enregistrée') if self.node.item.get_position()=='global': self.node.etape.verif_all() @@ -904,10 +872,9 @@ class UNIQUE_Panel(newSIMPPanel): self.node.update() self.node.parent.select() else : - print " PASSE LA" cr = self.node.item.get_cr() mess = "Valeur du mot-clé non autorisée :"+cr.get_mess_fatal() - self.record_valeur_deja_evaluee(anc_val,mess=mess) + self.reset_old_valeur(anc_val,mess=mess) class UNIQUE_INTO_Panel(UNIQUE_Panel): """ @@ -985,7 +952,7 @@ class UNIQUE_ASSD_Panel(UNIQUE_Panel): else : cr = self.node.item.get_cr() mess = "Valeur du mot-clé non autorisée :"+cr.get_mess_fatal() - self.record_valeur_deja_evaluee(anc_val,mess=mess) + self.reset_old_valeur(anc_val,mess=mess) def makeValeurPage(self,page): """ @@ -1166,7 +1133,7 @@ class UNIQUE_SDCO_Panel(UNIQUE_ASSD_Panel): else : cr = self.node.item.get_cr() mess = "Valeur du mot-clé non autorisée :"+cr.get_mess_fatal() - self.record_valeur_deja_evaluee(anc_val,mess=mess) + self.reset_old_valeur(anc_val,mess=mess) return if self.node.item.get_position()=='global': self.node.etape.verif_all() @@ -1195,7 +1162,7 @@ class UNIQUE_SDCO_Panel(UNIQUE_ASSD_Panel): else : cr = self.node.item.get_cr() mess = "Valeur du mot-clé non autorisée :"+cr.get_mess_fatal() - self.record_valeur_deja_evaluee(anc_val,mess=mess) + self.reset_old_valeur(anc_val,mess=mess) return if self.node.item.get_position()=='global': self.node.etape.verif_all() @@ -1526,9 +1493,6 @@ class SIMPTreeItem(Objecttreeitem.AtomicObjectTreeItem): valide=1 if self.definition.validators : valide=self.definition.validators.verif(item) - print "RRRRRRRRRRR" - print item - print valide return valide def valide_liste_partielle(self,item,listecourante): @@ -1539,14 +1503,11 @@ class SIMPTreeItem(Objecttreeitem.AtomicObjectTreeItem): valeur = tuple(valeur) else : valeur=valeur[0] - print valeur - retour=self.object.set_valeur(valeur,"non") - if self.definition.validators : - print self.definition.validators + retour=self.object.set_valeur(valeur) validite=0 if self.object.isvalid(): validite=1 - retour=self.object.set_valeur(valeuravant,"non") + retour=self.object.set_valeur(valeuravant) return validite def valide_liste_complete (self,valeur): @@ -1697,9 +1658,7 @@ class SIMPTreeItem(Objecttreeitem.AtomicObjectTreeItem): pass def isvalid(self): - print "ISVALID" valide=self.object.isvalid() - print valide return self.object.isvalid() def eval_valeur(self,valeur): @@ -1722,8 +1681,6 @@ class SIMPTreeItem(Objecttreeitem.AtomicObjectTreeItem): valeurretour,validite= self.eval_valeur_item(valeur) if validite == 0 : valeurretour = None - print "UUUUUUU" - print valeurretour,validite return valeurretour,validite def eval_valeur_item(self,valeur): @@ -1740,8 +1697,7 @@ class SIMPTreeItem(Objecttreeitem.AtomicObjectTreeItem): if type(valeur) == types.StringType and self.object.wait_TXM(): essai_valeur="'" + valeur + "'" valeurretour,validite= self.object.eval_valeur(essai_valeur) - if valeur.__class__.__name__ in ('PARAMETRE','PARAMETRE_EVAL'): - valeurretour=val.nom + if valeurretour.__class__.__name__ in ('PARAMETRE','PARAMETRE_EVAL'): validite=1 if self.wait_co(): try: @@ -1757,12 +1713,6 @@ class SIMPTreeItem(Objecttreeitem.AtomicObjectTreeItem): valeurretour=str(valeur) validite=1 - print "XXXXXXXX" - print valeur - print type(valeur) - print valeurretour - print type(valeurretour) - print validite return valeurretour,validite