1 #@ MODIF componuplet Editeur DATE 02/07/2001 AUTEUR D6BHHJP J.P.LEFEBVRE
2 # CONFIGURATION MANAGEMENT OF EDF VERSION
3 # ======================================================================
4 # COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG
5 # SEE THE FILE "LICENSE.TERMS" FOR INFORMATION ON USAGE AND
6 # REDISTRIBUTION OF THIS FILE.
7 # ======================================================================
13 from copy import copy,deepcopy
20 __version__="$Name: V1_1p1 $"
21 __Id__="$Id: componuplet.py,v 1.1.1.1 2001/12/04 15:38:22 eficas Exp $"
25 myrepr.maxstring = 100
28 # Si Expandable vaut 1 les éléments du nuplet apparaissent dans l'arbre
29 # Si Expandable vaut 0 les éléments n'apparaissent pas
32 class NUPLETPanel(panels.OngletPanel):
34 """ Initialise les frame des panneaux contextuels relatifs \340 un NUPLET """
35 self.nb=Pmw.NoteBook(self,raisecommand=self.raisecmd)
36 self.nb.pack(fill = 'both', expand = 1)
37 self.nb.add("Valeurs",tab_text="Saisir valeurs")
38 self.makeValeurPage(self.nb.page('Valeurs'))
39 self.nb.setnaturalsize()
41 def makeValeurPage(self,page):
42 label = Tkinter.Label(page,text='Valeurs :').pack(side=Tkinter.LEFT)
44 for obj in self.node.item.object.mc_liste:
45 frame_valeur=Tkinter.Frame(page)
46 frame_valeur.pack(side=Tkinter.LEFT)
47 if hasattr(obj,'definition'):
48 objet_mc=obj.definition
52 if type(valeur) == types.InstanceType :
54 aide=self.gen_aide(obj)
55 if objet_mc.into != None :
56 l_choix=list(objet_mc.into)
57 obj.set_valeur(l_choix[0],evaluation='non')
58 option=Pmw.OptionMenu (frame_valeur,
60 menubutton_width = 10,
61 command = lambda e,obj=obj,s=self:s.record_valeur(val=e,obj=obj),
63 option.pack(side=Tkinter.LEFT,padx=1)
65 entry = Tkinter.Entry(frame_valeur,relief='sunken',width=10)
66 entry.pack(side=Tkinter.LEFT,padx=1)
67 entry.bind("<Return>",
68 lambda e,obj=obj,s=self:s.valid_valeur(e,obj=obj))
69 if i==0:entry.focus_set()
70 #aide = Tkinter.Label(frame_valeur, text = aide)
71 #aide.place(relx=0.5,rely=0.55,anchor='n')
73 entry.delete(0,Tkinter.END)
74 entry.insert(0,obj.getval())
77 def record_valeur(self,val=None,obj=None,mess='Valeur du mot-cl\351 enregistr\351e'):
79 Enregistre val comme valeur de self.node.item.object SANS faire de
82 obj.set_valeur(val,evaluation='non')
83 self.parent.appli.affiche_infos(mess)
84 self.node.parent.verif()
87 def valid_valeur(self,e,obj=None,mess='Valeur du mot-cl\351 enregistr\351e'):
89 Enregistre val comme valeur de self.node.item.object avec
93 e.widget.delete(0,Tkinter.END)
95 if anc_val == None:anc_val=''
96 test=obj.set_valeur(valeur)
99 self.parent.appli.affiche_infos('Valeur du mot-cl\351 enregistr\351e')
100 e.widget.insert(0,obj.getval())
102 obj.set_valeur(anc_val,evaluation='non')
103 self.parent.appli.affiche_infos("valeur du mot-cl\351 non autoris\351e")
104 e.widget.insert(0,anc_val)
106 print "impossible d'\351valuer : %s " %valeur
108 self.parent.appli.affiche_infos("valeur du mot-cl\351 non autoris\351e")
109 e.widget.delete(0,Tkinter.END)
110 e.widget.insert(0,anc_val)
112 self.node.parent.verif()
115 def gen_aide(self,obj):
119 class NUPLETTreeItem(Objecttreeitem.ObjectTreeItem):
122 def IsExpandable(self):
129 return self.object.isvalid()
131 def GetIconName(self):
132 if self.object.isvalid():
133 return "ast-green-los"
134 elif self.object.isoblig():
139 def GetSubList(self):
140 if not Expandable:return []
142 for obj in self.object.mc_liste:
143 item = self.make_objecttreeitem(self.appli, obj.nom + " : ", obj, None)
147 def additem(self,name,pos):
150 def suppitem(self,item) :
153 def verif_condition_bloc(self):
154 return self.object.verif_condition_bloc()
157 treeitem=NUPLETTreeItem