Salome HOME
F.R: -modifs procédure d'installation et suppression de code_aster.gif
[tools/eficas.git] / Noyau / N_MCSIMP.py
1 """ 
2     Ce module contient la classe MCSIMP qui sert à controler la valeur
3     d'un mot-clé simple par rapport à sa définition portée par un objet
4     de type ENTITE
5 """
6
7 import N_OBJECT
8
9 class MCSIMP(N_OBJECT.OBJECT):
10    """
11    """
12    nature = 'MCSIMP'
13    def __init__(self,val,definition,nom,parent):
14       """
15          Attributs :
16
17           - val : valeur du mot clé simple
18
19           - definition
20
21           - nom
22
23           - parent
24
25         Autres attributs :
26
27           - valeur : valeur du mot-clé simple en tenant compte de la valeur par défaut
28
29       """
30       self.definition=definition
31       self.nom=nom
32       self.val = val
33       self.parent = parent
34       self.valeur = self.GETVAL(self.val)
35       if parent :
36          self.jdc = self.parent.jdc
37          self.niveau = self.parent.niveau
38          self.etape = self.parent.etape
39       else:
40          # Le mot cle simple a été créé sans parent
41          self.jdc = None
42          self.niveau = None
43          self.etape = None
44          
45    def GETVAL(self,val):
46       """ 
47           Retourne la valeur effective du mot-clé en fonction
48           de la valeur donnée. Defaut si val == None
49       """
50       if (val is None and hasattr(self.definition,'defaut')) :
51         return self.definition.defaut
52       else:
53         return val
54
55    def get_valeur(self):
56       """
57           Retourne la "valeur" d'un mot-clé simple.
58           Cette valeur est utilisée lors de la création d'un contexte 
59           d'évaluation d'expressions à l'aide d'un interpréteur Python
60       """
61       return self.valeur
62
63    def get_val(self):
64       """
65           Une autre méthode qui retourne une "autre" valeur du mot clé simple.
66           Elle est utilisée par la méthode get_mocle
67       """
68       return self.valeur
69
70    def accept(self,visitor):
71       """
72          Cette methode permet de parcourir l'arborescence des objets
73          en utilisant le pattern VISITEUR
74       """
75       visitor.visitMCSIMP(self)
76