]> SALOME platform Git repositories - tools/eficas.git/commitdiff
Salome HOME
bug sur le statut et le repetable dans MCFACT
authorPASCALE NOYRET <pascale.noyret@edf.fr>
Thu, 27 Jan 2022 12:04:40 +0000 (13:04 +0100)
committerPASCALE NOYRET <pascale.noyret@edf.fr>
Thu, 27 Jan 2022 12:04:40 +0000 (13:04 +0100)
Ihm/I_MCFACT.py

index b42c028c8a0156139e278dfacc5bb8436df7d71d..334d4815cda9c95a5c66516f8978ea3a4bcb7b8f 100644 (file)
@@ -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