+# -*- coding: utf-8 -*-
# CONFIGURATION MANAGEMENT OF EDF VERSION
# ======================================================================
# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG
listbox_height = 6,
selectioncommand=self.select_valeur_from_list,
dblclickcommand=lambda s=self,c=self.valid_valeur : s.choose_valeur_from_list(c))
- self.listbox.place(relx=0.5,rely=0.3,relheight=0.4,anchor='center')
+ if liste_noms_sd != [] :
+ self.listbox.place(relx=0.5,rely=0.3,relheight=0.4,anchor='center')
+ self.b_co = Pmw.OptionMenu(self.frame_valeur,labelpos='w',label_text = "Nouveau concept : ", items = ('NON','OUI'),menubutton_width=10)
+ else :
+ self.b_co = Pmw.OptionMenu(self.frame_valeur,labelpos='w',label_text = "Nouveau concept : ", items = ('OUI','OUI'),menubutton_width=10)
# affichage du bouton 'Nouveau concept'
- self.b_co = Pmw.OptionMenu(self.frame_valeur,labelpos='w',label_text = "Nouveau concept : ",
- items = ('NON','OUI'),menubutton_width=10)
self.b_co.configure(command = lambda e,s=self : s.ask_new_concept())
- self.b_co.place(relx=0.05,rely=0.6,anchor='w')
+ if liste_noms_sd != [] :
+ self.b_co.place(relx=0.05,rely=0.6,anchor='w')
+ else :
+ self.b_co.place(relx=0.05,rely=0.3,anchor='w')
self.label_co = Label(self.frame_valeur,text='Nom du nouveau concept :')
self.entry_co = Entry(self.frame_valeur)
self.entry_co.bind('<Return>',self.valid_nom_concept_co)
+ self.entry_co.bind('<KP_Enter>',self.valid_nom_concept_co)
# affichage du label de la structure de donnée choisie
self.l_resu = Label(self.frame_valeur,text='Structure de donnée choisie :')
self.valeur_choisie = StringVar()
self.aide.place(relx=0.5,rely=0.85,anchor='n')
# affichage de la valeur courante
self.display_valeur()
+ if liste_noms_sd == [] :
+ self.b_co.invoke('OUI')
def get_bulle_aide(self):
"""
"""
if self.parent.modified == 'n' : self.parent.init_modif()
valeur = self.get_valeur()
+ #print "valid_valeur",valeur
+
self.erase_valeur()
anc_val = self.node.item.get_valeur()
test_CO=self.node.item.is_CO(anc_val)
+ #PN essai pour bug dans MACRO_PROJ_BASE
+ valeur,validite=self.node.item.eval_valeur(valeur)
test = self.node.item.set_valeur(valeur)
if not test :
mess = "impossible d'évaluer : %s " %`valeur`
self.parent.appli.affiche_infos("Valeur du mot-clé non autorisée :"+mess)
return
- elif self.node.item.isvalid() :
+ #PN essai pour bug dans MACRO_PROJ_BASE
+ #elif self.node.item.isvalid() :
+ elif validite:
self.parent.appli.affiche_infos('Valeur du mot-clé enregistrée')
if test_CO:
# il faut egalement propager la destruction de l'ancien concept
mess = "Valeur du mot-clé non autorisée :"+cr.get_mess_fatal()
self.reset_old_valeur(anc_val,mess=mess)
return
- 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.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()
def valid_nom_concept_co(self,event=None):
"""
Lit le nom donné par l'utilisateur au concept de type CO qui doit être
la valeur du MCS courant et stocke cette valeur
"""
+ #print "valid_nom_concept_co"
if self.parent.modified == 'n' : self.parent.init_modif()
anc_val = self.node.item.get_valeur()
+ if anc_val != None:
+ # il faut egalement propager la destruction de l'ancien concept
+ self.node.item.delete_valeur_co(valeur=anc_val)
+ # et on force le recalcul des concepts de sortie de l'etape
+ self.node.item.object.etape.get_type_produit(force=1)
+ # et le recalcul du contexte
+ self.node.item.object.etape.parent.reset_context()
nom_concept = self.entry_co.get()
+ #print "valid_nom_concept_co",nom_concept
test,mess=self.node.item.set_valeur_co(nom_concept)
if not test:
# On n'a pas pu créer le concept
mess = "Valeur du mot-clé non autorisée :"+cr.get_mess_fatal()
self.reset_old_valeur(anc_val,mess=mess)
return
- 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()
- if self.node.item.isvalid():
- self.node.parent.select()
- self.node.update()
+ #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()
+ #if self.node.item.isvalid():
+ #self.node.parent.select()
+ #self.node.update()
def ask_new_concept(self):
"""
Affiche la valeur de l'objet pointé par self
"""
valeur = self.node.item.get_valeur()
+ #print "display_valeur",valeur
if valeur == None or valeur == '':
self.valeur_choisie.set('')
return # pas de valeur à afficher ...
# il faut configurer le bouton si la valeur est un objet CO
# sinon afficher le nom du concept dans self.valeur_choisie
if self.node.item.is_CO():
+ #print "display_valeur.is_CO"
self.b_co.invoke('OUI')
self.entry_co.insert(0,valeur.nom)
else:
self.parent.appli.affiche_infos(mess)
# On met a jour le display dans le panneau
self.display_valeur()
- 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()
+ #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()
if self.node.item.isvalid():
self.node.parent.select()
- self.node.update()
+ #self.node.update()