]> SALOME platform Git repositories - tools/eficas.git/commitdiff
Salome HOME
suppression/ajout pas bien testes pour les MCLISTs origin/web
authorpascale.noyret <pascale.noyret@edf.fr>
Wed, 27 Oct 2021 15:31:50 +0000 (17:31 +0200)
committerpascale.noyret <pascale.noyret@edf.fr>
Wed, 27 Oct 2021 15:31:50 +0000 (17:31 +0200)
Ihm/I_MCSIMP.py
InterfaceWeb/browser.py
Noyau/N_MCBLOC.py
WebTest/cata_essai.py
testFlask/connectEficas.py

index 20366e5a8d5dcafc5a8b636873932358c3be307b..efb3e9ad3ae9c9ad0465509f161270dae93f359f 100644 (file)
@@ -80,13 +80,13 @@ class MCSIMP(I_OBJECT.OBJECT):
     def getDicoForFancy(self):
         #print ('MCSIMP getDicoForFancy ', self)
         monDico={}
-        #leTexte="<span class='" + self.getNomClassWeb() + "' id='" +self.idUnique+ "'>" + self.nom + '  ' + str(self.val) + "</span>"
         monDico['title']=self.nom
         monDico['key']=self.idUnique
-        if self.val != None : monDico['wValue']=str(self.val)
+        if self.valeur != None : monDico['wValue']=str(self.valeur)
         else : monDico['wValue']=''
         monDico['classeAccas']=self.nature
         monDico['validite']=self.getValid()
+        if monDico['validite']== None : monDico['validite']=self.isValid()
         monDico['max']=self.definition.max
         monDico['min']=self.definition.min
         monDico['into']=self.definition.into
index a47972bd40b8f594d4ee966b6b9e213b520bd58e..ca9a8c9e99f82b857859d863c5014faeb606ee07 100644 (file)
@@ -110,15 +110,12 @@ class JDCNode():
         #if ancien and not itemExpand : self.plie = True
         #if (isinstance(self.item,composimp.SIMPTreeItem)) : self.plie=False
 
-        #from . import compomclist
 
         #ajoutAuParentduNoeud=0
-        # PN a revoir
-        #from . import compobloc
-        #while (isinstance(self.treeParent,compobloc.Node) or ( isinstance(self.treeParent,compomclist.Node) and self.treeParent.item.isMCList())) :
-        #    self.treeParent.childrenComplete.append(self)
-        #    self.treeParent=self.treeParent.vraiParent
-        #self.treeParent.childrenComplete.append(self)
+        from . import compobloc
+        from . import compomclist
+        while (isinstance(self.treeParent,compobloc.Node) or ( isinstance(self.treeParent,compomclist.Node) and self.treeParent.item.isMCList())) :
+            self.treeParent=self.treeParent.vraiParent
 
 
         #if (isinstance(self,compobloc.Node) or (isinstance(self,compomclist.Node) and self.item.isMCList()) or ( hasattr(self.item.parent,'inhibeValidator') and isinstance(self,compomclist.Node) and self.item.parent.inhibeValidator)) :
@@ -166,10 +163,10 @@ class JDCNode():
 
     def onAdd(self,ajout):
     #-----------------------
-        print ('on add', '________ ajout', ajout , ' dans ', self.item.nom)
+        #print ('on add', '________ ajout', ajout , ' dans ', self.item.nom)
         self.buildChildren()
-        # si on a un copie multiple
 
+        # si on a un copie multiple
         if len(ajout) > 1 : 
             self.editor.connecteur.toWebApp('remplacementNode',self.item.remplaceId,self.item.idUnique(),self.item.getDicoForFancy()) 
             return
@@ -178,18 +175,31 @@ class JDCNode():
         pos = 0; trouve=0
         for c in self.children :
             if c.item._object == mcAjoute : 
-                 pos+=1
                  trouve=1
                  break
+            pos+=1
         if not trouve : print ('souci au add *************************')
-        if self.children[pos].item == 'MCBLOC' : laListe=self.children[pos].item.getDicoForFancy()
-        else : laListe=(self.children[pos].item.getDicoForFancy())
-        print (' appel appendChild',self.item.idUnique,laListe,pos)
-        self.editor.connecteur.toWebApp('appendChild',self.item.idUnique,laListe,pos)
-
-    def onSupp(self,object):
-    #-----------------------
-        self.editor.connecteur.toWebApp('Add',self.item.idUnique, 1)
+        if self.children[pos].item.nature == 'MCBLOC' : laListe=self.children[pos].item.getDicoForFancy()
+        else : laListe=(self.children[pos].item.getDicoForFancy(),)
+        self.editor.connecteur.toWebApp('appendChildren',self.getIdUnique(),laListe,pos)
+        #print (' appel appendChild',self.item.idUnique,laListe,pos)
+
+    def onSupp(self,suppression):
+    #---------------------------
+        print ('on Supp', suppression)
+        if len(suppression) > 1 : 
+            self.buildChildren()
+            self.editor.connecteur.toWebApp('remplacementNode',self.item.remplaceId,self.item.idUnique(),self.item.getDicoForFancy()) 
+            return
+        mcSupprime= suppression[0]  
+        if mcSupprime.nature != 'MCBLOC' : liste=self.item.idUnique
+        else : 
+           liste=[]
+           listeMC=mcSupprime.getAllChildInBloc()
+           for mc in listeMC : liste.append(mc.idUnique)
+        self.buildChildren()
+        self.editor.connecteur.toWebApp('deleteChildren',liste)
+        print (' appel deleteChildren',liste)
 
     def onRedessine(self):
     #----------------------
@@ -202,6 +212,7 @@ class JDCNode():
     # surcharge pour mcliste
        return self.item.idUnique
 
+
     def buildChildren(self,posInsertion=10000):
     #------------------------------------------
         """ Construit la liste des enfants de self """
@@ -259,7 +270,7 @@ class JDCNode():
            ou en position intermediaire.
            Si pos vaut None, on le place a la position du catalogue.
         """
-        print ("************** appendChild ",self.item.getLabelText(), pos )
+        #print ("************** appendChild ",self.item.getLabelText(), pos )
         #import traceback
         #traceback.print_stack()
 
@@ -288,6 +299,15 @@ class JDCNode():
         print ("-------------- fin append child", child, child.item)
         return True
 
+    def delete(self):
+    #----------------
+        """
+            Methode externe pour la destruction de l'objet associe au noeud
+        """
+        index = self.vraiParent.children.index(self) - 1
+        ret,commentaire=self.vraiParent.item.suppItem(self.item)
+        if ret!=0 : self.treeParent.buildChildren()
+        return (ret,commentaire) 
 
 
     #def chercheNoeudCorrespondant(self,objSimp):
@@ -323,8 +343,6 @@ class JDCNode():
     #----------------------------------------------------
     #def deplace(self):
     #-----------------
-    #def delete(self):
-    #----------------
     #def deleteMultiple(self,liste=()):
     #--------------------------------
 
index 212d7e2611236f37ffda79b7e6acb5cdb18b84b1..67eefcb214bd3f397e742862e80a41bd1d61ae41 100644 (file)
@@ -121,6 +121,16 @@ class MCBLOC(N_MCCOMPO.MCCOMPO):
 
         return dico
 
+    def getAllChildInBloc(self):
+    # contrairement a getValeur ne retourne que les enfants de mcListe
+        liste=[]
+        for mc in self.mcListe:
+            if mc.isBLOC():
+                for petitfils in mc.getAllChildInBloc() : liste.append(petitfils)
+            else:
+                liste.append(mc)
+        return liste
+
     def isBLOC(self):
         """
             Indique si l'objet est un BLOC
index cb93dc120d1ba5c80c16b64c98949dc84d8302a3..57f23ade8aac23ded49830e728d7b9912707a510 100644 (file)
@@ -10,12 +10,24 @@ MonProc = PROC(nom='MonProc',
 )
 MonProc2 = PROC(nom='MonProc2',
     param1 = SIMP(statut='o',typ='R'),
+    param11 = SIMP(statut='o',typ='R'),
+    param12= SIMP(statut='o',typ='R'),
     b1     = BLOC (condition = 'param1 == 2',
-        param1_inBloc = SIMP(statut='o',typ='R'),
+        param1_inBloc = SIMP(statut='o',typ='R', defaut = 2),
+        B11 = BLOC (condition = 'param1_inBloc == 2',
+              param_inBlocDeBloc = SIMP(statut='o',typ='R', defaut=2),
+                B111 = BLOC (condition = 'param1_inBlocDeBloc == 2',
+                    paramDernier = SIMP(statut='o',typ='R', defaut=2),
+                ),
+        ),
         param2_inBloc = SIMP(statut='o',typ='R'),
     ),
     Fact1  = FACT (statut ='o', max=2,
-        param3 = SIMP(statut='o',typ='R'),
+        paramInFact1 = SIMP(statut='o',typ='R'),
+    ),
+    Fact2  = FACT (statut ='f',
+        param3InFact2 = SIMP(statut='o',typ='R'),
+        paramFacultatif = SIMP(statut='f',typ='R'),
     ),
 )
 
index 45bf104ea3f5e1782c6084d83e565e49c97aa71c..8cc28a55f100c19d8d3aa0b395274199e847cd1a 100644 (file)
@@ -115,8 +115,14 @@ class accasConnecteur :
 
       
 
-    def appendChild(self,id,name,pos):
-    #--------------------------------
+    def suppNode(self,id):
+    #-------------------
+        monNode=self.monEditeur.getNodeById(id)
+        retour=monNode.fauxNoeudGraphique.delete()
+        return retour
+
+    def appendChild(self,id,name,pos=None):
+    #-------------------------------------
         """
         Methode pour ajouter un objet fils name a l objet associe au noeud id.
         On peut l'ajouter en debut de liste (pos='first'), en fin (pos='last')
@@ -125,6 +131,7 @@ class accasConnecteur :
         """
         monNode=self.monEditeur.getNodeById(id)
         retour=monNode.fauxNoeudGraphique.appendChild(name,pos)
+        return retour
 
     def saveFile(self,fileName):
     #--------------------------------
@@ -159,42 +166,60 @@ if __name__ == "__main__":
     __import__(name)
     code=prefs.code
     monEficasConnecteur=accasConnecteur(code, langue='ang')
+    #monEficasConnecteur.litFichierComm('/tmp/ajoutProcEtBloc.comm')
+    #d=monEficasConnecteur.getDicoForFancy(monEficasConnecteur.monEditeur.tree.racine)
+    #pprint.pprint(d)
+
     monEficasConnecteur.litFichierComm('../WebTest/web_tres_simple_avec_2Procs.comm')
     idRacine=monEficasConnecteur.monEditeur.tree.racine.item.idUnique
     r=monEficasConnecteur.appendChild(idRacine,'MonProc2','last')
 
-    d=monEficasConnecteur.getDicoForFancy(monEficasConnecteur.monEditeur.tree.racine)
-    i=d['children'][2]['children'][0]['key']
+    #d=monEficasConnecteur.getDicoForFancy(monEficasConnecteur.monEditeur.tree.racine)
+    #i=d['children'][2]['children'][0]['key']
     #r=monEficasConnecteur.changeValeur(i,'65')
     #d=monEficasConnecteur.getDicoForFancy(monEficasConnecteur.monEditeur.tree.racine)
     #(ok,newFile)=monEficasConnecteur.saveFile('/tmp/ajoutProc.comm')
     #pprint.pprint(d)
 
     # creation du bloc
-    r=monEficasConnecteur.changeValeur(i,'2')
-    d=monEficasConnecteur.getDicoForFancy(monEficasConnecteur.monEditeur.tree.racine)
-    (ok,newFile)=monEficasConnecteur.saveFile('/tmp/ajoutProcEtBloc.comm')
+    #r=monEficasConnecteur.changeValeur(i,'2')
+    #d=monEficasConnecteur.getDicoForFancy(monEficasConnecteur.monEditeur.tree.racine)
+    #(ok,newFile)=monEficasConnecteur.saveFile('/tmp/ajoutProcEtBloc.comm')
     #pprint.pprint(d)
 
-    exit()
     # suppression du bloc
-    r=monEficasConnecteur.changeValeur(i,'1')
-    d=monEficasConnecteur.getDicoForFancy(monEficasConnecteur.monEditeur.tree.racine)
-    (ok,newFile)=monEficasConnecteur.saveFile('/tmp/suppressionBloc.comm')
-    pprint.pprint(d)
-    
-
-    #monEficasConnecteur.litFichierComm('../WebTest/web_tres_simple_incomplet.comm')
+    #r=monEficasConnecteur.changeValeur(i,'1')
     #d=monEficasConnecteur.getDicoForFancy(monEficasConnecteur.monEditeur.tree.racine)
-    #pprint.pprint (monEficasConnecteur.getDicoObjetsCompletsPourTree(monEficasConnecteur.monEditeur.tree.racine))
-    d=monEficasConnecteur.getDicoObjetsCompletsPourTree(monEficasConnecteur.monEditeur.tree.racine)
+    #(ok,newFile)=monEficasConnecteur.saveFile('/tmp/suppressionBloc.comm')
     #pprint.pprint(d)
-    r=monEficasConnecteur.changeValeur(i,'toto')
-    r=monEficasConnecteur.changeValeur(i,'65')
+
+    # ajout du Fact2
+    d=monEficasConnecteur.getDicoForFancy(monEficasConnecteur.monEditeur.tree.racine)
+    e=d['children'][2]['key']
+    r=monEficasConnecteur.appendChild(e,'Fact2')
+    (ok,newFile)=monEficasConnecteur.saveFile('/tmp/ajoutFact2.comm')
+    d=monEficasConnecteur.getDicoForFancy(monEficasConnecteur.monEditeur.tree.racine)
+    mf=d['children'][2]['children'][4]['key']
+    print (mf)
+    r=monEficasConnecteur.appendChild(mf,'paramFacultatif')
+    (ok,newFile)=monEficasConnecteur.saveFile('/tmp/ajoutFacultatif.comm')
+    d=monEficasConnecteur.getDicoForFancy(monEficasConnecteur.monEditeur.tree.racine)
+    mf=d['children'][2]['children'][4]['children'][1]['key']
+    r=monEficasConnecteur.suppNode(mf)
     print (r)
-    d=monEficasConnecteur.getDicoObjetsCompletsPourTree(monEficasConnecteur.monEditeur.tree.racine)
-    pprint.pprint(d)
-    print ('\n')
+    (ok,newFile)=monEficasConnecteur.saveFile('/tmp/ajoutFacultatifEtSuppresse.comm')
+    # essai enlever un mot clef qu on ne peut pas enlever
+    d=monEficasConnecteur.getDicoForFancy(monEficasConnecteur.monEditeur.tree.racine)
+    mf=d['children'][2]['children'][1]['key']
+    r=monEficasConnecteur.suppNode(mf)
+    print (r)
+    #(ok,newFile)=monEficasConnecteur.saveFile('/tmp/ajoutPuisSuppresFact2.comm')
+    #d=monEficasConnecteur.getDicoForFancy(monEficasConnecteur.monEditeur.tree.racine)
+    #pprint.pprint(d)
+    #print ('_________', r)
+    
+    exit()
+
 
     #print ( '\n Fichier /home/A96028/QT5GitEficasTravail/Web/eficas/WebTest/web_tres_simple_avec_2Procs.comm')
     #monEficasConnecteur.litFichierComm('../WebTest/web_tres_simple_avec_2Procs.comm')