1 #@ MODIF compocommandecomm 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 # ======================================================================
11 from tkMessageBox import showerror
17 Fonte_Commentaire = fontes.standard_italique
19 class COMMANDE_COMMPanel(panels.OngletPanel):
21 Classe servant à définir le panel associé à une commande commentarisée
25 Initialise les frame des panneaux contextuels relatifs à une commande commentarisée
28 panneau.pack(expand=1,fill='both')
30 self.makeCOMMPage(panneau)
32 def makeCOMMPage(self,page):
34 Crée la page qui permet d'afficher et d'éditer le texte de la commande commentarisée
36 self.frame_valeur = Frame(page)
37 self.frame_valeur.place(relwidth=0.9,relheight=0.9,relx=0.05,rely=0.05,anchor='nw')
38 self.widget_text = Pmw.ScrolledText(self.frame_valeur,
41 label_text = 'Texte de la commande\n ')
42 self.widget_text.pack(side='top',expand=1,fill='both')
43 self.widget_text.configure(hscrollmode='dynamic',
44 vscrollmode='dynamic')
47 def make_buttons(self):
49 Crée les boutons du panneau
51 self.bouton_sup.place_forget()
52 self.bouton_doc.place_forget()
53 self.bouton_val = Button(self.fr_but,text='Valider',command=self.change_valeur,width=14)
54 self.bouton_ann = Button(self.fr_but,text='Annuler',command=self.display_valeur,width=14)
55 self.bouton_unc = Button(self.fr_but,text='Décommentariser',command=self.uncomment,width=14)
57 self.bouton_val.place(relx=0.20,rely=0.5,relheight=0.8,anchor='center')
58 self.bouton_ann.place(relx=0.40,rely=0.5,relheight=0.8,anchor='center')
59 self.bouton_sup.place(relx=0.60,rely=0.5,relheight=0.8,anchor='center')
60 self.bouton_unc.place(relx=0.80,rely=0.5,relheight=0.8,anchor='center')
62 def change_valeur(self):
64 Stocke la nouvelle valeur donnée par l'utilisateur comme valeur de la commande commentarisée
66 if self.parent.modified == 'n' : self.parent.init_modif()
67 new_valeur = self.widget_text.get()
68 self.node.item.set_valeur(new_valeur)
71 def display_valeur(self):
73 Affiche dans self.widget_text la valeur de la commande commentarisée
74 (annule d'éventuelles modifications faite par l'utilisateur)
76 self.widget_text.settext(self.node.item.get_valeur())
80 Réalise la décommentarisation de self
83 commande,nom = self.node.item.uncomment()
85 showerror("Erreur !",str(e))
87 self.parent.appli.bureau.JDCDisplay_courant.ReplaceObjectNode(self.node,commande,nom)
89 class COMMANDE_COMMTreeItem(Objecttreeitem.ObjectTreeItem):
90 panel = COMMANDE_COMMPanel
93 self.setfunction = self.set_valeur
95 def GetIconName(self):
97 Retourne le nom de l'icône associée au noeud qui porte self,
98 dépendant de la validité de l'objet
99 NB : une commande commentarisée est toujours valide ...
102 return "ast-green-percent"
104 return "ast-red-percent"
106 def GetLabelText(self):
107 """ Retourne 3 valeurs :
108 - le texte à afficher dans le noeud représentant l'item
109 - la fonte dans laquelle afficher ce texte
110 - la couleur du texte
112 return 'commande commentarisée',Fonte_Commentaire,None
114 def get_valeur(self):
116 Retourne la valeur de la commande commentarisée cad son texte
118 return self.object.get_valeur() or ''
121 texte = self.object.valeur
122 texte = string.split(texte,'\n')[0]
128 def set_valeur(self,valeur):
130 Afefcte valeur à l'objet commande commentarisée
132 self.object.set_valeur(valeur)
134 def GetSubList(self):
136 Retourne la liste des fils de self
142 Demande à l'objet commande commentarisée de se décommentariser.
143 Si l'opération s'effectue correctement, retourne l'objet commande
144 et éventuellement le nom de la sd produite, sinon lève une exception
147 commande,nom = self.object.uncomment()
153 treeitem =COMMANDE_COMMTreeItem
154 objet = Accas.COMMANDE_COMM