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