From ebc2b0f588a2cbb89a69c4c24542076dac8e24da Mon Sep 17 00:00:00 2001 From: eficas <> Date: Mon, 4 Apr 2005 07:35:43 +0000 Subject: [PATCH] PN pour probleme ouverture d un .comm avec EVAL --- Ihm/I_MCSIMP.py | 46 +++++++++++++++++++++++++++++++++++++++------- 1 file changed, 39 insertions(+), 7 deletions(-) diff --git a/Ihm/I_MCSIMP.py b/Ihm/I_MCSIMP.py index c18fa5e2..5cb84cbe 100644 --- a/Ihm/I_MCSIMP.py +++ b/Ihm/I_MCSIMP.py @@ -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) -- 2.39.2