From: pascale.noyret Date: Thu, 25 Feb 2021 10:42:27 +0000 (+0100) Subject: modif IHM X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=c15eab3a4b14a60798c53c3899098a1f56d2ba31;p=tools%2Feficas.git modif IHM --- diff --git a/Ihm/I_MCCOMPO.py b/Ihm/I_MCCOMPO.py index 96cf2fcd..c983667a 100644 --- a/Ihm/I_MCCOMPO.py +++ b/Ihm/I_MCCOMPO.py @@ -408,7 +408,6 @@ class MCCOMPO(I_OBJECT.OBJECT): Parcourt l'arborescence des mcobject et realise l'update des blocs conditionnels par appel de la methode updateConditionBloc """ - #print ('js suis dans deepUpdateConditionBloc', self.nom) self._updateConditionBloc() for mcobj in self.mcListe: if hasattr(mcobj,"deepUpdateConditionBloc"): @@ -432,6 +431,7 @@ class MCCOMPO(I_OBJECT.OBJECT): Realise l'update des blocs conditionnels fils de self """ dict = self.creeDictCondition(self.mcListe,condition=1) + doitEtreReecrit=False for k,v in self.definition.entites.items(): if v.label != 'BLOC' :continue globs= self.jdc and self.jdc.condition_context or {} @@ -448,9 +448,11 @@ class MCCOMPO(I_OBJECT.OBJECT): # le bloc est present : il faut l'enlever #print ("SUPPRESSION BLOC",k,bloc) self.suppEntite(bloc) + doitEtreReecrit=True def verifConditionBloc(self): """ + 2021 : obsolete ? Evalue les conditions de tous les blocs fils possibles (en fonction du catalogue donc de la definition) de self et retourne deux listes : diff --git a/Ihm/I_MCSIMP.py b/Ihm/I_MCSIMP.py index 492d12f8..b63616ea 100644 --- a/Ihm/I_MCSIMP.py +++ b/Ihm/I_MCSIMP.py @@ -343,27 +343,29 @@ class MCSIMP(I_OBJECT.OBJECT): self.etape.deepUpdateConditionBloc() elif self.definition.position == 'reCalculeEtape' : self.etape.deepUpdateConditionBloc() + self.etape.demandeRedessine() elif self.definition.position == 'global_jdc' : self.jdc.deepUpdateConditionBloc(self) + self.etape.demandeRedessine() elif self.definition.position == 'inGetAttribut' : self.jdc.deepUpdateConditionBloc(self) else: self.parent.updateConditionBloc() def setValeur(self,new_valeur,evaluation='oui'): - self.initModif() - self.valeur = new_valeur - self.val = new_valeur - if self.valeur and self.waitUserAssd() and not(self.waitUserAssdOrAssdMultipleEnCreation()) : - if type(self.valeur) in (list,tuple): - for v in self.valeur : v.ajoutUtilisePar(self) - else : self.valeur.ajoutUtilisePar(self) - if self.isValid():self.setValeurObjPyxb(new_valeur) - self.updateConditionBloc() - if self.definition.metAJour != None : self.updateAutresMotsClefs() - self.etape.modified() - self.finModif() - return 1 + self.initModif() + self.valeur = new_valeur + self.val = new_valeur + if self.valeur and self.waitUserAssd() and not(self.waitUserAssdOrAssdMultipleEnCreation()) : + if type(self.valeur) in (list,tuple): + for v in self.valeur : v.ajoutUtilisePar(self) + else : self.valeur.ajoutUtilisePar(self) + if self.isValid():self.setValeurObjPyxb(new_valeur) + self.updateConditionBloc() + if self.definition.metAJour != None : self.updateAutresMotsClefs() + self.etape.modified() + self.finModif() + return 1 def evalValeur(self,new_valeur): """ @@ -606,13 +608,13 @@ class MCSIMP(I_OBJECT.OBJECT): self.finModif() def renommeSdCree(self,nouveauNom): - #print ( 'dans renommeSdCree', self.jdc.sdsDict, self.valeur) if nouveauNom in self.jdc.sdsDict : return (0, 'concept deja existant') if self.valeur == None : return (0, 'pb sur la valeur') else : self.valeur.renomme(nouveauNom) return (1, 'concept renomme') def renommeSdCreeDsListe(self,objASSD, nouveauNom): + #print ( 'dans renommeSdCree', self.jdc.sdsDict, self.valeur, nouveauNom) if nouveauNom in self.jdc.sdsDict : return (0, 'concept deja existant') objASSD.renomme(nouveauNom) return (1, 'concept renomme') diff --git a/Noyau/N_MCSIMP.py b/Noyau/N_MCSIMP.py index 069b76b2..64f54b99 100644 --- a/Noyau/N_MCSIMP.py +++ b/Noyau/N_MCSIMP.py @@ -315,8 +315,8 @@ class MCSIMP(N_OBJECT.OBJECT): if Xpath == None : dicoValeurs[nomMC] = getattr(self,nomMC) else : - #try: - if 1 : + try: + #if 1 : pereMC=eval(Xpath) if pereMC : exp=Xpath+'.getChild("'+nomMC+'")' @@ -330,8 +330,8 @@ class MCSIMP(N_OBJECT.OBJECT): #PN PN est-ce sur ? sinon quoi None ou [] # je pense que les 2 valeurs doivent être renseignees si le filtre depend de 2 valeurs return l - #except: - # return l + except: + return l for k,v in self.parent.jdc.sdsDict.items():