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