From: PASCALE NOYRET Date: Thu, 27 Jan 2022 12:04:40 +0000 (+0100) Subject: bug sur le statut et le repetable dans MCFACT X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=dd45ba5fb167b7269fd152a4dd33f421a3987464;p=tools%2Feficas.git bug sur le statut et le repetable dans MCFACT --- diff --git a/Ihm/I_MCFACT.py b/Ihm/I_MCFACT.py index b42c028c..334d4815 100644 --- a/Ihm/I_MCFACT.py +++ b/Ihm/I_MCFACT.py @@ -62,6 +62,19 @@ class MCFACT(I_MCCOMPO.MCCOMPO): return nomDsXML + def getStatutEtRepetable(self): + """ + Retourne l index du MCFACT ds la MCList + """ + objet = self.parent.getChild(self.nom, restreint='oui') + if len(objet) > 1 : index = objet.getIndex(self)+1 + else : index=1 + if self.definition.max > index : repetable=1 + else : repetable=0 + if self.definition.min < index or self.definition.statut =='f' : statut='f' + else : statut ='o' + return (statut, repetable) + def getLabelText(self): """ Retourne le label de self suivant qu'il s'agit d'un MCFACT @@ -128,3 +141,33 @@ class MCFACT(I_MCCOMPO.MCCOMPO): def supprime(self): self.alt_parent=None Noyau.N_MCFACT.MCFACT.supprime(self) + + + def getDicoForFancy(self): + print ('MCFACT getDicoForFancy ') + monDico={} + leNom = self.nom + + leNom=self.getLabelText() + monDico['statut'] = self.definition.statut + monDico['nomCommande'] =self.nom + if self.state == 'undetermined' : self.isValid() + + monDico['title']=leNom + monDico['key']=self.idUnique + monDico['classeAccas']=self.nature + monDico['validite']=self.getValid() + + (statut, repetable) =self.getStatutEtRepetable() + monDico['statut']=statut + monDico['repetable']=repetable + + listeNodes=[] + for obj in self.mcListe: + lesNodes=obj.getDicoForFancy() + if not (isinstance(lesNodes,list)) : listeNodes.append(lesNodes) + else : + for leNode in lesNodes : listeNodes.append(leNode) + monDico['children']=listeNodes + if self.nature != 'MCSIMP' and self.nature != 'MCLIST': monDico['infoOptionnels']=self.calculOptionnelInclutBlocs() + return monDico