1 # CONFIGURATION MANAGEMENT OF EDF VERSION
2 # ======================================================================
3 # COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG
4 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
5 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
6 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
7 # (AT YOUR OPTION) ANY LATER VERSION.
9 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
10 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
11 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
12 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
14 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
15 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
16 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
19 # ======================================================================
28 Fonte_Commentaire = fontes.standard_italique
30 class COMMPanel(panels.OngletPanel):
34 Initialise les frame des panneaux contextuels relatifs à un COMMENTAIRE
36 nb = Pmw.NoteBook(self,raisecommand=self.raisecmd)
37 nb.pack(fill = 'both', expand = 1)
39 nb.add('TexteComm', tab_text='Texte Commentaire')
40 nb.add('Commande', tab_text='Nouvelle Commande')
41 nb.add('Commentaire',tab_text='Paramètre/Commentaire')
42 self.makeCOMMPage(nb.page("TexteComm"))
43 self.makeCommandePage(nb.page("Commande"))
44 self.makeParamCommentPage_for_etape(nb.page("Commentaire"))
45 nb.tab('TexteComm').focus_set()
48 def makeCOMMPage(self,page):
50 Crée la page qui permet d'afficher et d'éditer le texte du commentaire
52 self.frame_valeur = Frame(page)
53 self.frame_valeur.place(relwidth=0.9,relheight=0.9,relx=0.05,rely=0.05,anchor='nw')
54 self.widget_text = Pmw.ScrolledText(self.frame_valeur,
57 label_text = 'Texte du commentaire\n ')
58 self.widget_text.pack(side='top',expand=1,fill='both')
59 self.widget_text.configure(hscrollmode='dynamic',
60 vscrollmode='dynamic')
\r
64 def make_buttons(self):
66 Crée les boutons du panneau
68 self.bouton_sup.place_forget()
69 self.bouton_doc.place_forget()
70 self.bouton_val = Button(self.fr_but,text='Valider',command=self.change_valeur,width=14)
71 self.bouton_ann = Button(self.fr_but,text='Annuler',command=self.display_valeur,width=14)
73 self.bouton_val.place(relx=0.25,rely=0.5,relheight=0.8,anchor='center')
74 self.bouton_ann.place(relx=0.50,rely=0.5,relheight=0.8,anchor='center')
75 self.bouton_sup.place(relx=0.75,rely=0.5,relheight=0.8,anchor='center')
78 def change_valeur(self):
80 Stocke la nouvelle valeur donnée par l'utilisateur comme valeur du commentaire
82 if self.parent.modified == 'n' : self.parent.init_modif()
83 new_valeur = self.widget_text.get()
84 self.node.item.set_valeur(new_valeur)
87 def display_valeur(self):
89 Affiche dans self.widget_text la valeur de l'objet commentaire
90 (annule d'éventuelles modifications faite par l'utilisateur)
92 self.widget_text.settext(self.node.item.get_valeur())
94 class COMMTreeItem(Objecttreeitem.ObjectTreeItem):
98 self.setfunction = self.set_valeur
100 def GetIconName(self):
102 Retourne le nom de l'icône associée au noeud qui porte self,
103 dépendant de la validité de l'objet
104 NB : un commentaire est toujours valide ...
106 return "ast-white-percent"
108 def GetLabelText(self):
109 """ Retourne 3 valeurs :
110 - le texte à afficher dans le noeud représentant l'item
111 - la fonte dans laquelle afficher ce texte
112 - la couleur du texte
114 return 'commentaire',Fonte_Commentaire,None
116 def get_valeur(self):
118 Retourne la valeur de l'objet Commentaire cad son texte
120 return self.object.get_valeur() or ''
123 texte = self.object.valeur
124 texte = string.split(texte,'\n')[0]
130 def set_valeur(self,valeur):
132 Afefcte valeur à l'objet COMMENTAIRE
134 self.object.set_valeur(valeur)
136 def GetSubList(self):
138 Retourne la liste des fils de self
143 treeitem =COMMTreeItem
144 objet = Extensions.commentaire.COMMENTAIRE