Salome HOME
correction copier-coller de MACRO
[tools/eficas.git] / Editeur / compomclist.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 from Tkinter import *
21 import Pmw
22 import Objecttreeitem
23 import panels
24
25 class MCLISTPanel(panels.Panel):
26     def init(self):
27         test_ajout = self.node.item.ajout_possible()
28         nom_mcfact = self.node.item.get_nom()
29         if test_ajout:
30             texte = "Pour ajouter une autre occurrence du mot-clé facteur %s, cliquez ci-dessous" %nom_mcfact
31         else:
32             texte = "Vous ne pouvez pas ajouter une autre occurrence du mot-clé facteur %s ?" %nom_mcfact
33         self.label = Label(self,text = texte)
34         self.label.place(relx=0.5,rely=0.4,anchor='center')
35         if test_ajout:
36             Button(self,text="AJOUTER",command=self.ajout_occurrence).place(relx=0.5,rely=0.6,anchor='center')
37             #Button(self,text="NON",command=None).place(relx=0.6,rely=0.6,anchor='center')
38
39     def ajout_occurrence(self,event=None):
40         self.node.parent.append_child(self.node.item.get_nom())
41
42 class MCListTreeItem(Objecttreeitem.SequenceTreeItem):
43     panel = MCLISTPanel
44
45     def get_docu(self):
46         """ Retourne la clé de doc de l'objet pointé par self """
47         return self.object.get_docu()    
48
49     def isMCFact(self):
50         """
51         Retourne 1 si l'objet pointé par self est un MCFact, 0 sinon
52         """
53         return 0
54
55     def isMCList(self):
56         """
57         Retourne 1 si l'objet pointé par self est une MCList, 0 sinon
58         """
59         return 1
60         
61     def additem(self,obj,pos):
62         """
63         Ajoute un objet MCFACT à la MCList (self.object) à la position pos
64         """
65         self.object.init_modif()
66         obj.verif_existence_sd()
67         obj.reparent(self.object.parent)
68         self.object.insert(pos,obj)
69         item = self.make_objecttreeitem(self.appli, obj.nom + ":", obj)
70         return item  
71
72     def suppitem(self,item):
73         """
74         Retire un objet MCFACT de la MCList (self.object) 
75         """
76         self.object.init_modif()
77         self.object.remove(item.object)
78         # la liste peut être retournée vide !
79         message = "Mot-clé " + item.object.nom + " supprimé"
80         self.appli.affiche_infos(message)
81         return 1
82             
83 import Accas
84 treeitem = MCListTreeItem
85 objet = Accas.MCList    
86