Salome HOME
sauveVP
[tools/eficas.git] / Noyau / N_SIMP.py
index 9858af0b5637ecde4359c6fd431a6f1310e7b0a2..4eff2a724a8d81f19dfd4e3695312801e5842776 100644 (file)
     qui permet de spécifier les caractéristiques des mots clés simples
 """
 
+from __future__ import absolute_import
 import types
 
-import N_ENTITE
-import N_MCSIMP
-from strfunc import ufmt
+from . import N_ENTITE
+from . import N_MCSIMP
 
 
 class SIMP(N_ENTITE.ENTITE):
@@ -46,9 +46,9 @@ class SIMP(N_ENTITE.ENTITE):
     class_instance = N_MCSIMP.MCSIMP
     label = 'SIMP'
 
-    def __init__(self, typ,ang="", fr="", statut='f', into=None, defaut=None,
+    def __init__(self, typ,ang="", fr="", statut='f', into=None, intoSug = None,siValide = None, defaut=None,
                  min=1, max=1, homo=1, position='local',
-                 val_min='**', val_max='**', docu="", validators=None,
+                 val_min=float('-inf'), val_max=float('inf'), docu="", validators=None,
                  sug=None):
         """
             Un mot-clé simple est caractérisé par les attributs suivants :
@@ -56,26 +56,29 @@ class SIMP(N_ENTITE.ENTITE):
             - fr : chaîne documentaire en français
             - statut : obligatoire ou facultatif ou caché
             - into : valeurs autorisées
+            - intoSug : valeurs possibles mais des valeurs autres du bon type peuvent etre entrees par l utilsateur
             - defaut : valeur par défaut
             - min : nombre minimal de valeurs
             - max : nombre maximal de valeurs
-            - homo : homogene (toutes les valeurs d une liste sont de meme type)
+            - homo : ?
             - ang : doc
             - position : si global, le mot-clé peut-être lu n'importe où dans la commande
             - val_min : valeur minimale autorisée
             - val_max : valeur maximale autorisée
             - docu : ?
-            - sug : suggere
+            - sug : ?
         """
         N_ENTITE.ENTITE.__init__(self, validators)
         # Initialisation des attributs
-        if type(typ) == types.TupleType:
+        if type(typ) == tuple:
             self.type = typ
         else:
             self.type = (typ,)
         self.fr = fr
         self.statut = statut
         self.into = into
+        self.intoSug = intoSug
+        self.siValide = siValide
         self.defaut = defaut
         self.min = min
         self.max = max
@@ -86,6 +89,10 @@ class SIMP(N_ENTITE.ENTITE):
         self.docu = docu
         self.sug = sug
         self.ang=ang
+        if self.max     == '**' : self.max     = float('inf')
+        if self.val_max == '**' : self.val_max = float('inf')
+        if self.min     == '**' : self.min     = float('-inf')
+        if self.val_min == '**' : self.val_min = float('-inf')
 
     def verif_cata(self):
         """