]> SALOME platform Git repositories - modules/eficas.git/commitdiff
Salome HOME
PN pour probleme ouverture d un .comm avec EVAL
authoreficas <>
Mon, 4 Apr 2005 07:35:43 +0000 (07:35 +0000)
committereficas <>
Mon, 4 Apr 2005 07:35:43 +0000 (07:35 +0000)
Ihm/I_MCSIMP.py

index c18fa5e260305e9292e287897ea4f44c4c97d96f..5cb84cbe8478089756e8c38cf6d859af44c1401c 100644 (file)
@@ -46,18 +46,39 @@ from Extensions import parametre
 import I_OBJECT
 
 class MCSIMP(I_OBJECT.OBJECT):
+
+  def GetNomConcept(self):
+      p=self
+      while p.parent :
+         try :
+            nomconcept=p.get_sdname()
+            return nomconcept
+         except:
+            try :
+               nomconcept= p.object.get_sdname()
+               return nomconcept
+            except :
+               pass
+         p=p.parent
+      return ""
+
   def GetText(self):
     """
         Retourne le texte à afficher dans l'arbre représentant la valeur de l'objet
         pointé par self
     """
+
     if self.valeur == None : 
       return None
     elif type(self.valeur) == types.FloatType : 
       # Traitement d'un flottant isolé
-      #txt = repr_float(self.valeur)
+      # txt = repr_float(self.valeur)
       # Normalement str fait un travail correct
       txt = str(self.valeur)
+      clefobj=self.GetNomConcept()
+      if self.jdc.appli.dict_reels.has_key(clefobj):
+        if self.jdc.appli.dict_reels[clefobj].has_key(self.valeur):
+           txt=self.jdc.appli.dict_reels[clefobj][self.valeur]
     elif type(self.valeur) in (types.ListType,types.TupleType) :
       # Traitement des listes
       txt='('
@@ -66,7 +87,14 @@ class MCSIMP(I_OBJECT.OBJECT):
         if type(val) == types.FloatType : 
            # CCAR : Normalement str fait un travail correct
            #txt=txt + i*',' + repr_float(val)
-           txt=txt + i*',' + str(val)
+           clefobj=self.GetNomConcept()
+           if self.jdc.appli.dict_reels.has_key(clefobj):
+              if self.jdc.appli.dict_reels[clefobj].has_key(val):
+                 txt=txt + i*',' +self.jdc.appli.dict_reels[clefobj][val]
+              else :
+                 txt=txt + i*',' + str(val)
+           else :
+              txt=txt + i*',' + str(val)
         elif isinstance(val,ASSD): 
            txt = txt + i*',' + val.get_name()
     #PN
@@ -99,6 +127,11 @@ class MCSIMP(I_OBJECT.OBJECT):
        Retourne une chaîne de caractère représentant la valeur de self 
     """
     val=self.valeur
+    if type(val) == types.FloatType : 
+      clefobj=self.GetNomConcept()
+      if self.jdc.appli.dict_reels.has_key(clefobj):
+        if self.jdc.appli.dict_reels[clefobj].has_key(val):
+           return self.jdc.appli.dict_reels[clefobj][val]
     if type(val) != types.TupleType :
       try:
         return val.get_name()
@@ -427,7 +460,7 @@ class MCSIMP(I_OBJECT.OBJECT):
               self.cr.fatal("None n'est pas une valeur autorisée")
         else:
            # type,into ...
-          if v.__class__.__name__=='PARAMETRE' or v.__class__.__name__ == 'ITEM_PARAMETRE':
+          if v.__class__.__name__ in ('PARAMETRE' , 'EVAL', 'ITEM_PARAMETRE','PARAMETRE_EVAL'):
              verif_type=1
           else:
              verif_type=self.verif_type(val=v,cr=None)
@@ -436,16 +469,15 @@ class MCSIMP(I_OBJECT.OBJECT):
                  if type(v) == types.TupleType :
                   new_val=[]
                   for i in v:
-                    if i.__class__.__name__ != 'PARAMETRE': 
-                       if i.__class__.__name__ != 'ITEM_PARAMETRE': 
-                          new_val.append(i)
+                    if i.__class__.__name__  not in ('PARAMETRE','EVAL', 'ITEM_PARAMETRE','PARAMETRE_EVAL'): 
+                         new_val.append(i)
                   if new_val != [] :
                     verif_type=self.verif_type(val=new_val,cr=cr)
                   else :
                     # Cas d une liste de paramétre
                     verif_type= 1
                 else:
-                    verif_type=self.verif_type(val=v,cr=None)
+                    verif_type=self.verif_type(val=v,cr=cr)
            valid = verif_type*self.verif_into(cr=cr)*self.verif_card(cr=cr)
            #
            # On verifie les validateurs s'il y en a et si necessaire (valid == 1)