From 16cf23087873a8df198caaae56724e3387c24400 Mon Sep 17 00:00:00 2001 From: PASCALE NOYRET Date: Tue, 18 Jan 2022 18:10:12 +0100 Subject: [PATCH] 1er pas pour les optionnels --- Ihm/I_MCCOMPO.py | 33 +++++++++++++++++++++++++ Ihm/I_OBJECT.py | 2 +- WebTest/cata_essai.py | 6 +++-- WebTest/web_tres_simple_avec_2Fact.comm | 13 +++++++--- 4 files changed, 47 insertions(+), 7 deletions(-) diff --git a/Ihm/I_MCCOMPO.py b/Ihm/I_MCCOMPO.py index c7cf0d25..98e38745 100644 --- a/Ihm/I_MCCOMPO.py +++ b/Ihm/I_MCCOMPO.py @@ -62,6 +62,7 @@ class MCCOMPO(I_OBJECT.OBJECT): for arg in liste: objet_cata = dico[arg] dico=objet_cata.entites + #print ('objet_cata.entites',dico) l=[] specifique=0 for obj in list(dico.keys()) : @@ -137,6 +138,38 @@ class MCCOMPO(I_OBJECT.OBJECT): liste.append(k) return liste + def calculOptionnel(self): + self.listeMc=[] + self.listeMcRegle=[] + self.dictToolTipMc={} + genea =self.getGenealogie() + # Attention : les mots clefs listes (+sieurs fact ) + # n ont pas toutes ces methodes. a priori pas appele mais + if self.nature != 'MCLIST' : + self.listeMc = self.getListeMcOrdonnee(genea,self.jdc.cata_ordonne_dico) + listeNomsPresents = self.dictMcPresents() + for regle in self.getRegles(): + (monToolTip,regleOk)=regle.verif(listeNomsPresents) + if regleOk : continue + for mc in regle.mcs : + self.listeMcRegle.append(mc) + self.dictToolTipMc[mc]=monToolTip + return (self.listeMc,self.listeMcRegle,self.dictToolTipMc) + + def calculOptionnelInclutBlocs(self): + self.dictMCVenantDesBlocs={} + liste, listeRouge,dictToolTipMc = self.calculOptionnel() + dictNomsPresents = self.dictMcPresents() + for mc in self.listeMcPresents(): + obj=dictNomsPresents[mc] + if obj.nature!='MCBLOC' : continue + (l,lr,d)=obj.calculOptionnelInclutBlocs() + liste = liste+l + listeRouge = listeRouge+lr + for k in d : dicToolTipMC[k]=d[k] + return (liste, listeRouge,dictToolTipMc) + + def listeMcPresents(self): """ Retourne la liste des noms des mots-cles fils de self presents construite diff --git a/Ihm/I_OBJECT.py b/Ihm/I_OBJECT.py index 3e009042..8d993f38 100644 --- a/Ihm/I_OBJECT.py +++ b/Ihm/I_OBJECT.py @@ -235,7 +235,7 @@ class OBJECT: else : for leNode in lesNodes : listeNodes.append(leNode) monDico['children']=listeNodes - #if self.nature != 'MCSIMP' and self.nature != 'MCLIST': monDico['infoOptionnels']=self.calculOptionnelInclutBlocs() + if self.nature != 'MCSIMP' and self.nature != 'MCLIST': monDico['infoOptionnels']=self.calculOptionnelInclutBlocs() return monDico def getNomClassWeb(self): diff --git a/WebTest/cata_essai.py b/WebTest/cata_essai.py index 2146d959..1e235551 100644 --- a/WebTest/cata_essai.py +++ b/WebTest/cata_essai.py @@ -10,7 +10,7 @@ MonProc = PROC(nom='MonProc', ) MonProc2 = PROC(nom='MonProc2', param1 = SIMP(statut='o',typ='R'), - param11 = SIMP(statut='o',typ='R'), + param11 = SIMP(statut='f',typ='R'), param12= SIMP(statut='o',typ='R'), b1 = BLOC (condition = 'param1 == 2', param1_inBloc = SIMP(statut='o',typ='R', defaut = 2), @@ -18,11 +18,13 @@ MonProc2 = PROC(nom='MonProc2', param1_inBlocDeBloc = SIMP(statut='o',typ='R', defaut=3), B111 = BLOC (condition = 'param1_inBlocDeBloc == 2', paramDernier = SIMP(statut='o',typ='R', defaut=2), + paramFacultatifDsB111 = SIMP(typ='R',statut='f'), + paramFacultatifDefaut = SIMP(typ='R',statut='f',defaut=3) ), ), param2_inBloc = SIMP(statut='o',typ='R'), ), - Fact1 = FACT (statut ='o', max=2, + Fact1 = FACT (statut ='o', max=2, paramInFact1 = SIMP(statut='o',typ='R'), ), Fact2 = FACT (statut ='f', diff --git a/WebTest/web_tres_simple_avec_2Fact.comm b/WebTest/web_tres_simple_avec_2Fact.comm index 0acc7ea1..74a5d04a 100644 --- a/WebTest/web_tres_simple_avec_2Fact.comm +++ b/WebTest/web_tres_simple_avec_2Fact.comm @@ -1,5 +1,10 @@ -MonProc2(param1=1.0, - Fact1=(_F(param3=43.0,), - _F(param3=44.0,),),); -#CHECKSUM:d9c8c4a30d485f4a75371c76b16999b6 -:FIN CHECKSUM \ No newline at end of file +MonProc2(param1=2.0, + param12=None, + param1_inBloc=2.0, + param1_inBlocDeBloc=2.0, + paramDernier=2.0, + param2_inBloc=None, + Fact1=(_F(paramInFact1=43.0,), + _F(paramInFact1=44.0,),),); +#CHECKSUM:c778cd63627a4fe1df3110268ee1154a -:FIN CHECKSUM \ No newline at end of file -- 2.39.2