Salome HOME
CCAR: Modification principale : ajout de la possibilité d'afficher les noms de
[tools/eficas.git] / Noyau / N_MCSIMP.py
1 #@ MODIF N_MCSIMP Noyau  DATE 27/03/2002   AUTEUR DURAND C.DURAND 
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.                                 
9 #
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.                            
14 #
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.      
18 #                                                                       
19 #                                                                       
20 # ======================================================================
21 """ 
22     Ce module contient la classe MCSIMP qui sert à controler la valeur
23     d'un mot-clé simple par rapport à sa définition portée par un objet
24     de type ENTITE
25 """
26
27 import N_OBJECT
28
29 class MCSIMP(N_OBJECT.OBJECT):
30    """
31    """
32    nature = 'MCSIMP'
33    def __init__(self,val,definition,nom,parent):
34       """
35          Attributs :
36
37           - val : valeur du mot clé simple
38
39           - definition
40
41           - nom
42
43           - parent
44
45         Autres attributs :
46
47           - valeur : valeur du mot-clé simple en tenant compte de la valeur par défaut
48
49       """
50       self.definition=definition
51       self.nom=nom
52       self.val = val
53       self.parent = parent
54       self.valeur = self.GETVAL(self.val)
55       if parent :
56          self.jdc = self.parent.jdc
57          self.niveau = self.parent.niveau
58          self.etape = self.parent.etape
59       else:
60          # Le mot cle simple a été créé sans parent
61          self.jdc = None
62          self.niveau = None
63          self.etape = None
64          
65    def GETVAL(self,val):
66       """ 
67           Retourne la valeur effective du mot-clé en fonction
68           de la valeur donnée. Defaut si val == None
69       """
70       if (val is None and hasattr(self.definition,'defaut')) :
71         return self.definition.defaut
72       else:
73         return val
74
75    def get_valeur(self):
76       """
77           Retourne la "valeur" d'un mot-clé simple.
78           Cette valeur est utilisée lors de la création d'un contexte 
79           d'évaluation d'expressions à l'aide d'un interpréteur Python
80       """
81       return self.valeur
82
83    def get_val(self):
84       """
85           Une autre méthode qui retourne une "autre" valeur du mot clé simple.
86           Elle est utilisée par la méthode get_mocle
87       """
88       return self.valeur
89
90    def accept(self,visitor):
91       """
92          Cette methode permet de parcourir l'arborescence des objets
93          en utilisant le pattern VISITEUR
94       """
95       visitor.visitMCSIMP(self)
96