X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=Ihm%2FI_MCFACT.py;h=a5b9df3e5887317c0115b74b5399dee8c3c61619;hb=7e72a676f0cd6fcb60eb9515ba411fdc6dfabc1a;hp=396703642f722d078096035332ced5c5612fe9a6;hpb=9fedb490389cab173c8ecb6e1af88fb53e3a54f5;p=tools%2Feficas.git diff --git a/Ihm/I_MCFACT.py b/Ihm/I_MCFACT.py index 39670364..a5b9df3e 100644 --- a/Ihm/I_MCFACT.py +++ b/Ihm/I_MCFACT.py @@ -1,3 +1,4 @@ +# -*- coding: utf-8 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== # COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG @@ -17,7 +18,10 @@ # # # ====================================================================== +import CONNECTOR import I_MCCOMPO +import Noyau + class MCFACT(I_MCCOMPO.MCCOMPO): def isrepetable(self): """ @@ -31,6 +35,61 @@ class MCFACT(I_MCCOMPO.MCCOMPO): else : return 0 - def makeobjet(self): - return self.definition(val = None, nom = self.nom,parent = self.parent) + def isoblig(self): + return self.definition.statut=='o' + + def getlabeltext(self): + """ + Retourne le label de self suivant qu'il s'agit d'un MCFACT + isolé ou d'un MCFACT appartenant à une MCList : + utilisée pour l'affichage dans l'arbre + """ + objet = self.parent.get_child(self.nom) + # objet peut-être self ou une MCList qui contient self ... + if objet is None or objet is self: + return "Erreur - mclist inexistante: "+self.nom + + try: + if len(objet) > 1 : + index = objet.get_index(self)+1 # + 1 à cause de la numérotation qui commence à 0 + return self.nom +'_'+`index`+':' + else: + return self.nom + except: + return "Erreur - mot clé facteur de nom: "+self.nom + + def init_modif(self): + """ + Met l'état de l'objet à modified et propage au parent + qui vaut None s'il n'existe pas + """ + self.state = 'modified' + parent= hasattr(self,"alt_parent") and self.alt_parent or self.parent + if parent: + parent.init_modif() + + def fin_modif(self): + """ + Méthode appelée après qu'une modification a été faite afin de déclencher + d'éventuels traitements post-modification + """ + #print "fin_modif",self + # pour les objets autres que les commandes, aucun traitement spécifique + # on remonte l'info de fin de modif au parent + CONNECTOR.Emit(self,"valid") + parent= hasattr(self,"alt_parent") and self.alt_parent or self.parent + if parent: + parent.fin_modif() + + def normalize(self): + """ Retourne le MCFACT normalisé. Pour un MCFACT isolé, l'objet normalisé + est une MCLIST de longueur 1 qui contient ce MCFACT + """ + new_obj = self.definition.list_instance() + new_obj.init(nom=self.nom,parent=None) + new_obj.append(self) + return new_obj + def supprime(self): + self.alt_parent=None + Noyau.N_MCFACT.MCFACT.supprime(self)