Salome HOME
PN : print enleve
[tools/eficas.git] / Editeur / componiveau.py
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.
8 #
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.
13 #
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.
17 #
18 #
19 # ======================================================================
20
21 from Tkinter import *
22 import Pmw
23
24 import Objecttreeitem
25 import panels
26 import fontes
27 from Extensions import commentaire 
28
29 Fonte_Niveau = fontes.canvas_gras_italique
30 Fonte_Niveau_inactif = fontes.canvas_italique
31
32 class NIVEAUPanel(panels.OngletPanel):
33     def init(self):
34         """ Initialise les frame des panneaux contextuels relatifs à un JDC """
35         panneau=Pmw.PanedWidget(self,orient='horizontal')
36         panneau.add('left',min=0.4,max=0.6,size=0.5)
37         panneau.add('right',min=0.4,max=0.6,size=0.5)
38         panneau.pack(expand=1,fill='both')
39         self.bouton_com.pack_forget()
40         self.makeJDCPage(panneau.pane('left'))
41
42 class NIVEAUTreeItem(Objecttreeitem.ObjectTreeItem):
43   panel = NIVEAUPanel
44
45   def isactif(self):
46       return self.object.isactif()
47     
48   def IsExpandable_old(self):
49       return self.object.isactif()
50
51   def IsExpandable(self):
52       return 1
53     
54   def GetLabelText(self):
55       """ Retourne 3 valeurs :
56         - le texte à afficher dans le noeud représentant l'item
57         - la fonte dans laquelle afficher ce texte
58         - la couleur du texte
59       """
60       if self.isactif():
61           fonte = Fonte_Niveau
62       else :
63           fonte = Fonte_Niveau_inactif
64       return self.labeltext,fonte,'#00008b'
65     
66   def GetIconName(self):
67       if self.isactif():
68           if self.object.isvalid():
69               return "ast-green-text"
70           else:
71               return "ast-red-text"
72       else:
73           return "ast-white-text"
74   
75   def keys_old(self):
76     return range(len(self.object.etapes))
77
78   def keys(self):
79       if self.object.etapes_niveaux != []:
80           return range(len(self.object.etapes_niveaux))
81       else:
82           return range(len(self.object.etapes))
83
84   def GetSubList(self):
85     sublist=[]
86     for key in self.keys():
87       if self.object.etapes_niveaux != []:
88           liste = self.object.etapes_niveaux
89       else:
90           liste = self.object.etapes
91       try:
92         value = liste[key]
93       except KeyError:
94         continue
95       def setfunction(value, key=key, object=liste):
96         object[key] = value
97       item =self.make_objecttreeitem(self.appli,value.ident() + " : ", value, setfunction)
98       sublist.append(item)
99     return sublist
100
101   def additem(self,name,pos):
102       if isinstance(name,Objecttreeitem.TreeItem) :
103           cmd=self.object.addentite(name.object,pos)
104       else :
105           cmd = self.object.addentite(name,pos)
106       item = self.make_objecttreeitem(self.appli,cmd.nom + " : ", cmd)
107       return item
108
109   def suppitem(self,item) :
110     # item = item de l'ETAPE à supprimer du JDC
111     # item.object = ETAPE ou COMMENTAIRE
112     # self.object = JDC
113     self.object.suppentite(item.object)
114     if isinstance(item.object,commentaire.COMMENTAIRE):
115         message = "Commentaire supprimé"
116         self.appli.affiche_infos(message)
117     else :
118         message = "Commande " + item.object.nom + " supprimée"
119         self.appli.affiche_infos(message)
120     return 1
121
122   def GetText(self):
123       return ''
124
125     
126 import Accas
127 treeitem = NIVEAUTreeItem
128 objet = Accas.ETAPE_NIVEAU