Salome HOME
F.R: - correction bug sur opérateur strictement réentrant (ex:DEFI_GROUP)
[tools/eficas.git] / Ihm / I_OBJECT.py
1 """
2 """
3 import string
4
5 import Noyau
6
7 class OBJECT:
8   from Noyau.N_CO import CO
9   from Noyau.N_ASSD import assd
10
11   def isMCList(self):
12     """ 
13         Retourne 1 si self est une MCList (liste de mots-clés), 
14                  0 sinon (défaut) 
15     """
16     return 0
17
18   def get_regles(self):
19     """ 
20        Retourne les règles de self 
21     """
22     if hasattr(self,'definition'):
23       return self.definition.regles
24     elif hasattr(self,'regles'):
25       return self.regles
26     else :
27       return []
28
29   def init_modif(self):
30     """
31        Met l'état de l'objet à modified et propage au parent
32        qui vaut None s'il n'existe pas
33     """
34     self.state = 'modified'
35     if self.parent:
36       self.parent.init_modif()
37
38   def fin_modif(self):
39       """
40       Méthode appelée après qu'une modification a été faite afin de déclencher
41       d'éventuels traitements post-modification
42       """
43       # pour les objets autres que les commandes, aucun traitement spécifique 
44       # on remonte l'info de fin de modif au parent
45       if self.parent:
46         self.parent.fin_modif()
47
48   def isrepetable(self):
49     """
50          Indique si l'objet est répétable
51     """
52     return 0
53
54   def liste_mc_presents(self):
55     """
56          Retourne la liste des noms des mots clés présents
57     """
58     return []
59
60   def get_docu(self):
61     return self.definition.get_docu()
62
63   def get_liste_mc_inconnus(self):
64      """
65      Retourne la liste des mots-clés inconnus dans self
66      """
67      return []
68
69   def verif_condition_regles(self,liste_presents):
70     """ 
71         Retourne la liste des mots-clés à rajouter pour satisfaire les règles
72         en fonction de la liste des mots-clés présents 
73     """
74     liste=[]
75     for regle in self.definition.regles:
76         liste=regle.verif_condition_regle(liste,liste_presents)
77     return liste
78
79   def verif_condition_bloc(self):
80     """ 
81         Evalue les conditions de tous les blocs fils possibles 
82         (en fonction du catalogue donc de la définition) de self et
83         retourne deux listes :
84         - la première contient les noms des blocs à rajouter
85         - la seconde contient les noms des blocs à supprimer
86     """
87     return [],[]
88
89   def get_genealogie(self):
90     """ 
91         Retourne la liste des noms des ascendants (noms de MCSIMP,MCFACT,MCBLOC
92         ou ETAPE) de self jusqu'au premier objet etape rencontré
93     """
94     if self.parent:
95        l=self.parent.get_genealogie()
96        l.append(string.strip(self.nom))
97        return l
98     else:
99        return [string.strip(self.nom)]
100
101   def reparent(self,parent):
102      """
103          Cette methode sert a reinitialiser la parente de l'objet
104      """
105      self.parent=parent
106      self.jdc=parent.jdc
107
108