Salome HOME
eb00f2a970116dcec99b27fbdbf29ae6f5cc0269
[tools/eficas.git] / Ihm / I_OBJECT.py
1 # -*- coding: utf-8 -*-
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 """
23 import string
24
25 import Noyau
26
27 try:
28   import prefs
29   lang=prefs.lang
30 except:
31   lang='fr'
32   
33
34 class OBJECT:
35   from Noyau.N_CO import CO
36   from Noyau.N_ASSD import assd
37
38   def isMCList(self):
39     """ 
40         Retourne 1 si self est une MCList (liste de mots-clés), 0 sinon (défaut) 
41     """
42     return 0
43
44   def get_regles(self):
45     """ 
46        Retourne les règles de self 
47     """
48     if hasattr(self,'definition'):
49       return self.definition.regles
50     elif hasattr(self,'regles'):
51       return self.regles
52     else :
53       return []
54
55   def init_modif(self):
56     """
57        Met l'état de l'objet à modified et propage au parent
58        qui vaut None s'il n'existe pas
59     """
60     self.state = 'modified'
61     if self.parent:
62       self.parent.init_modif()
63
64   def fin_modif(self):
65       """
66       Méthode appelée après qu'une modification a été faite afin de déclencher
67       d'éventuels traitements post-modification
68       """
69       # pour les objets autres que les commandes, aucun traitement spécifique 
70       # on remonte l'info de fin de modif au parent
71       if self.parent:
72         self.parent.fin_modif()
73
74   def isrepetable(self):
75     """
76          Indique si l'objet est répétable
77     """
78     return 0
79
80   def liste_mc_presents(self):
81     """
82          Retourne la liste des noms des mots clés présents
83     """
84     return []
85
86   def get_docu(self):
87     return self.definition.get_docu()
88
89   def get_liste_mc_inconnus(self):
90      """
91      Retourne la liste des mots-clés inconnus dans self
92      """
93      return []
94
95   def verif_condition_regles(self,liste_presents):
96     """ 
97         Retourne la liste des mots-clés à rajouter pour satisfaire les règles
98         en fonction de la liste des mots-clés présents 
99     """
100     liste=[]
101     for regle in self.definition.regles:
102         liste=regle.verif_condition_regle(liste,liste_presents)
103     return liste
104
105   def verif_condition_bloc(self):
106     """ 
107         Evalue les conditions de tous les blocs fils possibles 
108         (en fonction du catalogue donc de la définition) de self et
109         retourne deux listes :
110           - la première contient les noms des blocs à rajouter
111           - la seconde contient les noms des blocs à supprimer
112     """
113     return [],[]
114
115   def get_genealogie(self):
116     """ 
117         Retourne la liste des noms des ascendants (noms de MCSIMP,MCFACT,MCBLOC
118         ou ETAPE) de self jusqu'au premier objet etape rencontré
119     """
120     if self.parent:
121        l=self.parent.get_genealogie()
122        l.append(string.strip(self.nom))
123        return l
124     else:
125        return [string.strip(self.nom)]
126
127   def get_fr(self):
128      """
129          Retourne la chaine d'aide contenue dans le catalogue
130          en tenant compte de la langue
131      """
132      try :
133         return getattr(self.definition,lang)
134      except:
135         return ''
136