1 # -*- coding: utf-8 -*-
2 # CONFIGURATION MANAGEMENT OF EDF VERSION
3 # ======================================================================
4 # COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG
5 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
6 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
7 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
8 # (AT YOUR OPTION) ANY LATER VERSION.
10 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
11 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
12 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
13 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
15 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
16 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
17 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
20 # ======================================================================
29 class PROCPanel(panels.OngletPanel):
31 nb = Pmw.NoteBook(self,raisecommand=self.raisecmd)
32 nb.pack(fill = 'both', expand = 1)
34 nb.add('Mocles', tab_text='Ajouter mots-clés')
35 nb.add('Commande', tab_text='Nouvelle Commande')
36 nb.add('Commentaire',tab_text='Paramètre/Commentaire')
37 panneau=Pmw.PanedWidget(nb.page("Mocles"),
39 panneau.add('left',min=0.4,max=0.6,size=0.5)
40 panneau.add('right',min=0.4,max=0.6,size=0.5)
41 panneau.pack(expand=1,fill='both')
42 self.makeCommandePage(nb.page("Commande"))
43 self.makeMoclesPage(panneau.pane('left'))
44 self.makeReglesPage(panneau.pane('right'))
45 self.makeParamCommentPage_for_etape(nb.page("Commentaire"))
49 class ProcEtapeTreeItem(compooper.EtapeTreeItem):
52 def IsExpandable(self):
55 def GetIconName(self):
57 Retourne le nom de l'icône à afficher dans l'arbre
58 Ce nom dépend de la validité de l'objet
60 if self.object.isactif():
61 if self.object.isvalid():
62 return "ast-green-square"
64 return "ast-red-square"
66 return "ast-white-square"
68 def GetLabelText(self):
69 """ Retourne 3 valeurs :
70 - le texte à afficher dans le noeud représentant l'item
71 - la fonte dans laquelle afficher ce texte
74 if self.object.isactif():
75 # None --> fonte et couleur par défaut
76 return self.labeltext,None,None
78 return self.labeltext,fontes.standard_italique,None
80 def get_objet(self,name) :
81 for v in self.object.mc_liste:
82 if v.nom == name : return v
85 def additem(self,name,pos):
86 if isinstance(name,Objecttreeitem.ObjectTreeItem) :
87 mcent = self.object.addentite(name.object,pos)
89 mcent = self.object.addentite(name,pos)
92 # on ne peut ajouter l'élément de nom name
94 def setfunction(value, object=mcent):
96 item = self.make_objecttreeitem(self.appli,mcent.nom + " : ", mcent, setfunction)
99 def suppitem(self,item) :
100 # item : item du MOCLE de l'ETAPE à supprimer
101 # item.object = MCSIMP, MCFACT, MCBLOC ou MCList
102 if item.object.isoblig() :
103 self.appli.affiche_infos('Impossible de supprimer un mot-clé obligatoire ')
106 self.object.suppentite(item.object)
107 message = "Mot-clé " + item.object.nom + " supprimé"
108 self.appli.affiche_infos(message)
113 #return myrepr.repr(self.object.get_sdname())
114 return self.object.get_sdname()
119 keys=self.object.mc_dict.keys()
122 def GetSubList(self):
124 for obj in self.object.mc_liste:
125 def setfunction(value, object=obj):
127 item = self.make_objecttreeitem(self.appli, obj.nom + " : ", obj, setfunction)
132 return self.object.isvalid()
134 def iscopiable(self):
137 def isCommande(self):
139 Retourne 1 si l'objet pointé par self est une Commande, 0 sinon
143 def verif_condition_bloc(self):
144 return self.object.verif_condition_bloc()
146 def get_noms_sd_oper_reentrant(self):
147 return self.object.get_noms_sd_oper_reentrant()
150 treeitem = ProcEtapeTreeItem
151 objet = Accas.PROC_ETAPE