Salome HOME
TypeInstance and basestring
[tools/eficas.git] / Ihm / I_OBJECT.py
index dea18249367d7a3010cbd1d75ed048a81d7191d7..1013aaf3c39b7d1eba1474fd79a51b57f8704b42 100644 (file)
@@ -1,23 +1,42 @@
+# -*- coding: utf-8 -*-
+# Copyright (C) 2007-2017   EDF R&D
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
 """
 """
-import string
-
+from __future__ import absolute_import
 import Noyau
 
+from . import CONNECTOR
+
 class OBJECT:
   from Noyau.N_CO import CO
   from Noyau.N_ASSD import assd
 
   def isMCList(self):
     """ 
-        Retourne 1 si self est une MCList (liste de mots-clés), 
-                 0 sinon (défaut) 
+        Retourne 1 si self est une MCList (liste de mots-cles), 0 sinon (defaut) 
     """
     return 0
 
-  def get_regles(self):
+  def getRegles(self):
     """ 
-       Retourne les règles de self 
+       Retourne les regles de self 
     """
     if hasattr(self,'definition'):
       return self.definition.regles
@@ -26,83 +45,123 @@ class OBJECT:
     else :
       return []
 
-  def init_modif(self):
+  def initModif(self):
     """
-       Met l'état de l'objet à modified et propage au parent
+       Met l'etat de l'objet a modified et propage au parent
        qui vaut None s'il n'existe pas
     """
     self.state = 'modified'
     if self.parent:
-      self.parent.init_modif()
+      self.parent.initModif()
 
-  def fin_modif(self):
+  def finModif(self):
       """
-      Méthode appelée après qu'une modification a été faite afin de déclencher
-      d'éventuels traitements post-modification
+      Methode appelee apres qu'une modification a ete faite afin de declencher
+      d'eventuels traitements post-modification
       """
-      # pour les objets autres que les commandes, aucun traitement spécifique 
+      #print "finModif",self
+      # pour les objets autres que les commandes, aucun traitement specifique 
       # on remonte l'info de fin de modif au parent
+      CONNECTOR.Emit(self,"valid")
       if self.parent:
-        self.parent.fin_modif()
+        self.parent.finModif()
 
-  def isrepetable(self):
+  def isRepetable(self):
     """
-         Indique si l'objet est répétable
+         Indique si l'objet est repetable
     """
     return 0
 
-  def liste_mc_presents(self):
+  def listeMcPresents(self):
     """
-         Retourne la liste des noms des mots clés présents
+         Retourne la liste des noms des mots cles presents
     """
     return []
 
-  def get_docu(self):
-    return self.definition.get_docu()
+  def getDocu(self):
+    return self.definition.getDocu()
 
-  def get_liste_mc_inconnus(self):
+  def getListeMcInconnus(self):
      """
-     Retourne la liste des mots-clés inconnus dans self
+     Retourne la liste des mots-cles inconnus dans self
      """
      return []
 
-  def verif_condition_regles(self,liste_presents):
+  def verifConditionRegles(self,liste_presents):
     """ 
-        Retourne la liste des mots-clés à rajouter pour satisfaire les règles
-        en fonction de la liste des mots-clés présents 
+        Retourne la liste des mots-cles a rajouter pour satisfaire les regles
+        en fonction de la liste des mots-cles presents 
     """
     liste=[]
     for regle in self.definition.regles:
-        liste=regle.verif_condition_regle(liste,liste_presents)
+        liste=regle.verifConditionRegle(liste,liste_presents)
     return liste
 
-  def verif_condition_bloc(self):
+  def verifConditionBloc(self):
     """ 
         Evalue les conditions de tous les blocs fils possibles 
-        (en fonction du catalogue donc de la définition) de self et
+        (en fonction du catalogue donc de la definition) de self et
         retourne deux listes :
-        - la première contient les noms des blocs à rajouter
-        - la seconde contient les noms des blocs à supprimer
+          - la premiere contient les noms des blocs a rajouter
+          - la seconde contient les noms des blocs a supprimer
     """
     return [],[]
 
-  def get_genealogie(self):
+  def getGenealogiePrecise(self):
+    if self.parent:
+       l=self.parent.getGenealogiePrecise()
+       l.append(self.nom.strip())
+       return l
+    else:
+       return [self.nom.strip()]
+
+  def getGenealogie(self):
     """ 
         Retourne la liste des noms des ascendants (noms de MCSIMP,MCFACT,MCBLOC
-        ou ETAPE) de self jusqu'au premier objet etape rencontré
+        ou ETAPE) de self jusqu'au premier objet etape rencontre
     """
     if self.parent:
-       l=self.parent.get_genealogie()
-       l.append(string.strip(self.nom))
+       l=self.parent.getGenealogie()
+       l.append(self.nom.strip())
        return l
     else:
-       return [string.strip(self.nom)]
+       return [self.nom.strip()]
 
-  def reparent(self,parent):
+  def getFr(self):
+     """
+         Retourne la chaine d'aide contenue dans le catalogue
+         en tenant compte de la langue
      """
-         Cette methode sert a reinitialiser la parente de l'objet
+     try:
+     #if 1 :
+        c=getattr(self.definition,self.jdc.lang)
+        return c
+     except:
+     #else:
+        try :
+            c=getattr(self.definition,"fr")
+            return c
+        except :
+            return ''
+
+  def updateConcept(self,sd):
+     pass
+
+  def normalize(self):
+     """ Retourne l'objet normalise. En general self sauf si
+         pour etre insere dans l'objet pere il doit etre 
+         wrappe dans un autre objet (voir mot cle facteur).
      """
-     self.parent=parent
-     self.jdc=parent.jdc
+     return self
+
+  def deleteMcGlobal(self):
+     return
+
+  def updateMcGlobal(self):
+     return
+
+  #def __del__(self):
+  #   print "__del__",self
 
+class ErrorObj(OBJECT):pass