if self.ajout_valeurs:
self.ajout_valeurs.quit()
- def traite_reel(self,valeur):
- """
- Cette fonction a pour but de rajouter le '.' en fin de chaîne pour un réel
- ou de détecter si on fait référence à un concept produit par DEFI_VALEUR
- ou un EVAL ...
- """
- valeur = string.strip(valeur)
- liste_reels = self.node.item.get_sd_avant_du_bon_type()
- if valeur in liste_reels:
- return valeur
- if len(valeur) >= 3 :
- if valeur[0:4] == 'EVAL' :
- # on a trouvé un EVAL --> on retourne directement la valeur
- return valeur
- if string.find(valeur,'.') == -1 :
- # aucun '.' n'a été trouvé dans valeur --> on en rajoute un à la fin
- return valeur+'.'
- else:
- return valeur
-
def add_valeur_sans_into(self,name=None,encorevalide=1):
"""
Lit ce que l'utilisateur a saisi dans self.entry et cherche à
commentaire="Valeur incorrecte : ajout à la liste refusé"
testvalide=1
+ print name
+ print name.__class__.__name__
if name != None :
valeur = name
else:
valeurentree = self.get_valeur()
- if valeur == '': valeur=None
+ if valeurentree == '': valeur=None
valeurentree,testvalide=self.node.item.eval_valeur(valeur)
if (valeur == None or valeur =="") :
# Création de l'entry ou de la liste des SD
self.label = Label(self.frame_choix,text="Valeur :")
# PN : pour ajouter les validators
- #self.make_entry(frame = self.frame_choix,command = self.add_valeur_sans_into)
self.make_entry(frame = self.frame_choix,command = self.add_valeur_plusieurs_base)
self.label.place(relx=0.05,rely=0.5)
self.ajout_valeurs = None
# boutons Ajouter et Supprimer
- #bouton_add = Button(self.frame_boutons_fleches,
- # image = images.get_image('arrow_left'),
- # command = self.add_valeur_sans_into)
bouton_add = Button(self.frame_boutons_fleches,
image = images.get_image('arrow_left'),
command = self.add_valeur_plusieurs_base)
("<Double-Button-1>",self.sup_valeur_sans_into))
liste_commandes_choix = (("<Button-1>",self.selectChoix),
("<Button-3>",self.deselectChoix),
- ("<Double-Button-1>",self.add_valeur_sans_into))
+ # ("<Double-Button-1>",self.add_valeur_sans_into))
+ ("<Double-Button-1>",self.add_eval_valeur_sans_into))
self.Liste_valeurs = ListeChoix(self,self.frame_valeurs,l_valeurs,liste_commandes = liste_commandes_valeurs,
titre="Valeur(s) actuelle(s)")
self.Liste_choix = ListeChoix(self,self.frame_choix,l_choix,liste_commandes = liste_commandes_choix,
bouton_add = Button(self.frame_boutons_fleches,
#text="<--",
image = images.get_image('arrow_left'),
- command = self.add_valeur_sans_into)
+ # command = self.add_valeur_sans_into)
+ command = self.add_eval_valeur_sans_into)
bouton_sup = Button(self.frame_boutons_fleches,
#text="-->",
image = images.get_image('arrow_right'),
for fram in (self.frame_valeurs,self.frame_boutons_fleches,self.frame_choix,self.frame_boutons):
fram.bind("<Button-3>",lambda e,s=self,a=bulle_aide : s.parent.appli.affiche_aide(e,a))
fram.bind("<ButtonRelease-3>",self.parent.appli.efface_aide)
+
+ def add_eval_valeur_sans_into(self,valeurentree=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
+ self.add_valeur_sans_into(valeur)
def get_bulle_aide(self):
"""
else:
# on attend un entier, un réel ou une string
self.panel = UNIQUE_BASE_Panel
+ print "affect_panel : ",self.panel
def is_list(self):
"""
Retourne la liste des noms des SD présentes avant l'étape qui contient
le MCS pointé par self et du type requis par ce MCS
"""
+ a=self.object.etape.parent.get_sd_avant_du_bon_type(self.object.etape,self.object.definition.type)
return self.object.etape.parent.get_sd_avant_du_bon_type(self.object.etape,
self.object.definition.type)
return None,0
validite=1
if self.wait_reel():
- valeurretour = self.traite_reel(valeur)
+ valeurinter = self.traite_reel(valeur)
+ valeurretour,validite= self.object.eval_valeur(valeurinter)
elif self.wait_geom():
valeurretour,validite = valeur,1
else :
listevalideliste=listevalideitem
return listevalideliste
-
+ def traite_reel(self,valeur):
+ """
+ Cette fonction a pour but de rajouter le '.' en fin de chaîne pour un réel
+ ou de détecter si on fait référence à un concept produit par DEFI_VALEUR
+ ou un EVAL ...
+ """
+ valeur = string.strip(valeur)
+ liste_reels = self.get_sd_avant_du_bon_type()
+ if valeur in liste_reels:
+ return valeur
+ if len(valeur) >= 3 :
+ if valeur[0:4] == 'EVAL' :
+ # on a trouvé un EVAL --> on retourne directement la valeur
+ return valeur
+ if string.find(valeur,'.') == -1 :
+ # aucun '.' n'a été trouvé dans valeur --> on en rajoute un à la fin
+ return valeur+'.'
+ else:
+ return valeur
+
import Accas
treeitem = SIMPTreeItem