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 class PROCPanel(panels.OngletPanel):
30 nb = Pmw.NoteBook(self,raisecommand=self.raisecmd)
31 nb.pack(fill = 'both', expand = 1)
33 nb.add('Mocles', tab_text='Ajouter mots-clés')
34 nb.add('Commande', tab_text='Nouvelle Commande')
35 nb.add('Commentaire',tab_text='Paramètre/Commentaire')
36 panneau=Pmw.PanedWidget(nb.page("Mocles"),
38 panneau.add('left',min=0.4,max=0.6,size=0.5)
39 panneau.add('right',min=0.4,max=0.6,size=0.5)
40 panneau.pack(expand=1,fill='both')
41 self.makeCommandePage(nb.page("Commande"))
42 self.makeMoclesPage(panneau.pane('left'))
43 self.makeReglesPage(panneau.pane('right'))
44 self.makeParamCommentPage_for_etape(nb.page("Commentaire"))
48 class ProcEtapeTreeItem(compooper.EtapeTreeItem):
51 def IsExpandable(self):
54 def GetIconName(self):
56 Retourne le nom de l'icône à afficher dans l'arbre
57 Ce nom dépend de la validité de l'objet
59 if self.object.isactif():
60 if self.object.isvalid():
61 return "ast-green-square"
63 return "ast-red-square"
65 return "ast-white-square"
67 def GetLabelText(self):
68 """ Retourne 3 valeurs :
69 - le texte à afficher dans le noeud représentant l'item
70 - la fonte dans laquelle afficher ce texte
73 if self.object.isactif():
74 # None --> fonte et couleur par défaut
75 return self.labeltext,None,None
77 return self.labeltext,fontes.standard_italique,None
79 def get_objet(self,name) :
80 for v in self.object.mc_liste:
81 if v.nom == name : return v
84 def additem(self,name,pos):
85 if isinstance(name,Objecttreeitem.ObjectTreeItem) :
86 mcent = self.object.addentite(name.object,pos)
88 mcent = self.object.addentite(name,pos)
91 # on ne peut ajouter l'élément de nom name
93 def setfunction(value, object=mcent):
95 item = self.make_objecttreeitem(self.appli,mcent.nom + " : ", mcent, setfunction)
98 def suppitem(self,item) :
99 # item : item du MOCLE de l'ETAPE à supprimer
100 # item.object = MCSIMP, MCFACT, MCBLOC ou MCList
101 if item.object.isoblig() :
102 self.appli.affiche_infos('Impossible de supprimer un mot-clé obligatoire ')
105 self.object.suppentite(item.object)
106 message = "Mot-clé " + item.object.nom + " supprimé"
107 self.appli.affiche_infos(message)
112 #return myrepr.repr(self.object.get_sdname())
113 return self.object.get_sdname()
118 keys=self.object.mc_dict.keys()
121 def GetSubList(self):
123 for obj in self.object.mc_liste:
124 def setfunction(value, object=obj):
126 item = self.make_objecttreeitem(self.appli, obj.nom + " : ", obj, setfunction)
131 return self.object.isvalid()
133 def iscopiable(self):
136 def isCommande(self):
138 Retourne 1 si l'objet pointé par self est une Commande, 0 sinon
142 def verif_condition_bloc(self):
143 return self.object.verif_condition_bloc()
145 def get_noms_sd_oper_reentrant(self):
146 return self.object.get_noms_sd_oper_reentrant()
149 treeitem = ProcEtapeTreeItem
150 objet = Accas.PROC_ETAPE