1 # -*- coding: iso-8859-1 -*-
2 # Copyright (C) 2007-2013 EDF R&D
4 # This library is free software; you can redistribute it and/or
5 # modify it under the terms of the GNU Lesser General Public
6 # License as published by the Free Software Foundation; either
7 # version 2.1 of the License.
9 # This library is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 # Lesser General Public License for more details.
14 # You should have received a copy of the GNU Lesser General Public
15 # License along with this library; if not, write to the Free Software
16 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
23 Ce module contient la classe OBJECT classe mère de tous les objets
24 servant à controler les valeurs par rapport aux définitions
27 from strfunc import ufmt
31 Classe OBJECT : cette classe est virtuelle et sert de classe mère
32 aux classes de type ETAPE et MOCLES.
33 Elle ne peut etre instanciée.
34 Une sous classe doit obligatoirement implémenter les méthodes :
42 Retourne l'étape à laquelle appartient self
43 Un objet de la catégorie etape doit retourner self pour indiquer que
45 XXX double emploi avec self.etape ???
47 if self.parent == None: return None
48 return self.parent.get_etape()
52 Méthode qui supprime les références arrières suffisantes pour
53 que l'objet puisse etre correctement détruit par le
63 Retourne la valeur de l'objet. Cette méthode fournit
64 une valeur par defaut. Elle doit etre dérivée pour chaque
71 Indique si l'objet est un BLOC
75 def get_jdc_root(self):
77 Cette méthode doit retourner l'objet racine c'est à dire celui qui
81 return self.parent.get_jdc_root()
87 Retourne la valeur effective du mot-clé en fonction
88 de la valeur donnée. Defaut si val == None
90 if (val is None and hasattr(self.definition,'defaut')) :
91 return self.definition.defaut
95 def reparent(self,parent):
97 Cette methode sert a reinitialiser la parente de l'objet
102 class ErrorObj(OBJECT):
103 """Classe pour objets errones : emule le comportement d'un objet tel mcsimp ou mcfact
105 def __init__(self,definition,valeur,parent,nom="err"):
107 self.definition=definition
112 self.jdc = self.parent.jdc
113 #self.niveau = self.parent.niveau
114 #self.etape = self.parent.etape
120 def isvalid(self,cr='non'):
124 """ génère le rapport de validation de self """
126 self.cr.debut = u"Mot-clé invalide : "+self.nom
127 self.cr.fin = u"Fin Mot-clé invalide : "+self.nom
128 self.cr.fatal(_(u"Type non autorisé pour le mot-clé %s : '%s'"),
129 self.nom, self.valeur)