]> SALOME platform Git repositories - tools/eficas.git/commitdiff
Salome HOME
partage eric correction ajout/supp + facultatifs
authorPASCALE NOYRET <pascale.noyret@edf.fr>
Tue, 15 Mar 2022 08:29:46 +0000 (09:29 +0100)
committerPASCALE NOYRET <pascale.noyret@edf.fr>
Tue, 15 Mar 2022 08:29:46 +0000 (09:29 +0100)
Ihm/I_MCLIST.py
Ihm/I_MCSIMP.py
Ihm/I_OBJECT.py
InterfaceSsIhm/eficas_go.py
InterfaceWeb/browser.py
testFlask/connectEficas.py

index 429949bbd9026d35b8336fd1510062ac1d3e0a77..0c9aa02133e003d6189e07f136c027a8161ed942 100644 (file)
@@ -147,6 +147,10 @@ class MCList:
         for child in self.data :
             child.updateConcept(sd)
 
+    def demandeUpdateOptionnels(self):
+        for child in self.data :
+            child.demandeUpdateOptionnels()
+
     def deleteRef(self):
         for child in self.data :
             child.deleteRef()
index 12db3549c6c2ebadbe3c8a473e85aa19f9946407..c3f3b5d512dbf87fead861bc85f4f337ef93269b 100644 (file)
@@ -388,8 +388,8 @@ class MCSIMP(I_OBJECT.OBJECT):
         """
         if self.definition.position == 'global' :
             self.etape.deepUpdateConditionBloc()
+            self.etape.demandeUpdateOptionnels()
         elif self.definition.position == 'reCalculeEtape' :
-            print ('je passe par la pour ', self.nom)
             self.etape.deepUpdateConditionBloc()
             self.etape.demandeRedessine()
         elif self.definition.position == 'global_jdc' :
@@ -400,6 +400,9 @@ class MCSIMP(I_OBJECT.OBJECT):
         else:
             self.parent.updateConditionBloc()
 
+    def demandeUpdateOptionnels(self):
+        pass
+
     def setValeur(self,new_valeur,evaluation='oui'):
         self.initModif()
         self.valeur = new_valeur
index cc9baec82f1e1d0fb4a89dd1a63bb02e77b59317..5c81a2948b7288c288f66ca40c076631e2591c22 100644 (file)
@@ -245,7 +245,10 @@ class OBJECT:
         else : laClasse+='NonValide'
         return laClasse
 
-
+    def demandeUpdateOptionnels(self):
+        CONNECTOR.Emit(self,"demandeUpdateOptionnels")
+        for mc in self.mcListe :
+            mc.demandeUpdateOptionnels()
 
     def demandeRedessine(self):
         #print ('demandeRedessine pour', self.nom, self, tout)
index d86013001bb6841c957a7a8351316b8f3c2ceeee..cfe8c7b4c7c2ee31b4c1c7130cfccd45cc0e9afd 100755 (executable)
@@ -58,7 +58,7 @@ def lanceEficasQt6(code=None, multi=False, langue='en', labelCode=None):
     options = session.parse(sys.argv)
     if options.code          != None : code=options.code
 
-    from InterfaceQT4.editorSsIhm import Appli
+    from InterfaceQT6.qt6 import Appli
     app = QApplication(sys.argv)
 
     Eficas=Appli(code=code,salome=0,multi=multi,langue=langue,labelCode=labelCode)
index cc72c82fbacefeedcf284cd17f460f1ad0831be1..4665aec639b3524ad9c2f6f3be39e3e09a1f63ab 100644 (file)
@@ -100,7 +100,7 @@ class JDCNode():
         self.item.connect("valid",self.onValid,())
         self.item.connect("supp" ,self.onSupp,())
         self.item.connect("add"  ,self.onAdd,())
-        self.item.connect("redessine"  ,self.onRedessine,())
+        self.item.connect("demandeUpdateOptionnels"  ,self.updateOptionnels,())
 
 
     def onValid(self):
@@ -176,6 +176,7 @@ class JDCNode():
         else :
             liste=(mcSupprime.idUnique,)
         self.buildChildren()
+        self.updateOptionnels()
         self.editor.connecteur.toWebApp('deleteChildren',liste)
         #print (' appel deleteChildren',liste)
 
@@ -259,27 +260,41 @@ class JDCNode():
         #import traceback
         #traceback.print_stack()
 
-        if name in self.item.mcListe  : mcPere = self.item
-        else                          : mcPere = self.item.object.dictMCVenantDesBlocs[name]
-
-        try :
-            if   pos == 'first'       : index = 0
-            elif pos == 'last'        : index = len(self.children)
-            elif type(pos)   == int   : index = pos  # position fixee
-            elif type(pos)  == object : index = mcPere.getIndex(pos) +1 # pos est un item. Il faut inserer name apres pos
-            elif type(name) == object : index = mcPere.getIndexChild(name.nom)
-            elif self.item.nature != 'JDC' : index = mcPere.getIndexChild(name)
-            else : return None
-        except :
-            txt=' Impossible d ajouter {} en position {}'.format(name, pos)
-            self.editor.afficheInfos(txt,'rouge')
-            return None
+      
+        if self.item.nature != 'JDC' : dictMCVenantDesBlocs=self.item.object.dictMCVenantDesBlocs
+        else : dictMCVenantDesBlocs={}
+
+        if name in dictMCVenantDesBlocs  :
+        # cas d un MC sous un bloc
+            mcPere = self.item.object.dictMCVenantDesBlocs[name]
+            try :
+                if   pos == 'first'       : index = 0
+                elif pos == 'last'        : index = len(self.children)
+                elif type(pos)   == int   : index = pos  # position fixee
+                elif type(pos)  == object : index = mcPere.getIndex(pos) +1 # pos est un item. Il faut inserer name apres pos
+                elif type(name) == object : index = mcPere.getIndexChild(name.nom)
+                elif self.item.nature != 'JDC' : index = mcPere.getIndexChild(name)
+                else : return None
+            except :
+                txt=' Impossible d ajouter {} en position {}'.format(name, pos)
+                self.editor.afficheInfos(txt,'rouge')
+                return None
+            obj = mcPere.addEntite(name,pos)
+        else : 
+            try :
+                if   pos == 'first'       : index = 0
+                elif pos == 'last'        : index = len(self.children)
+                elif type(pos)   == int   : index = pos  # position fixee
+                elif type(pos)  == object : index = self.item.getIndex(pos) +1 # pos est un item. Il faut inserer name apres pos
+                elif type(name) == object : index = self.item.getIndexChild(name.nom)
+                elif self.item.nature != 'JDC' : index = self.item.getIndexChild(name)
+                else : return None
+            except :
+                txt=' Impossible d ajouter {} en position {}'.format(name, pos)
+                self.editor.afficheInfos(txt,'rouge')
+                return None
+            obj = self.item.addItem(name,index) # emet le signal 'add'
         
-        if name in self.item.mcListe  :
-           obj = self.item.addItem(name,index) # emet le signal 'add'
-        else :
-           obj = mcPere.addEntite(name,pos)
-
         if not obj : return None
         self.updateOptionnels()
         return True
@@ -324,7 +339,7 @@ class JDCNode():
 
     def updateOptionnels(self):
     #---------------------------
-        if self.item.nature == 'MCList' or self.item.nature == 'JDC' : return
+        if self.item.nature == 'MCList' or self.item.nature == 'JDC' or self.item.nature=='MCSIMP' : return
         monDictPartiel={} 
         monDictPartiel['infoOptionnels'] = self.item.calculOptionnelInclutBlocs()
         self.editor.connecteur.toWebApp('updateNodeInfo',self.getIdUnique(), monDictPartiel)
index 2065f3d48897b446b004ec2cdb9967e0ff2c3e32..272e5a45515f79e7f86a89d20fdfaa087dd6ec60 100644 (file)
@@ -51,9 +51,11 @@ class accasConnecteur :
         self.appWeb=appWeb
 
     def toWebApp(self,fction,*args, **kwargs):
-        if self.appWeb == None : # test
-           print ('self.appWeb.fromConnecteur', fction, *args, **kwargs)
-           if fction =='propageValide' : print ('self.appWeb.fromConnecteur', self.monEditeur.getNodeById(args[0]).nom)
+        #if fction =='propageValide' :
+        debug=0
+        if debug  : print ('PNPNPN : self.appWeb.fromConnecteur', fction, *args, **kwargs)
+        if self.appWeb == None  : 
+           #if fction =='propageValide' : print ('self.appWeb.fromConnecteur propageValide', self.monEditeur.getNodeById(args[0]).nom)
            return
         self.appWeb.fromConnecteur(fction, *args, **kwargs)
         
@@ -121,7 +123,9 @@ class accasConnecteur :
 
     def suppNode(self,id):
     #-------------------
+        
         monNode=self.monEditeur.getNodeById(id)
+        print ('monNode', monNode)
         retour=monNode.fauxNoeudGraphique.delete()
         return retour
 
@@ -134,6 +138,9 @@ class accasConnecteur :
         retour = nouvelIdUnique ou None 
         """
         monNode=self.monEditeur.getNodeById(id)
+        if monNode.fauxNoeudGraphique == None :
+           print ('PNPN pas de noeud Graphique associe a l id')
+           return
         retour=monNode.fauxNoeudGraphique.appendChild(name,pos)
         return retour
 
@@ -192,50 +199,69 @@ if __name__ == "__main__":
         print (r)
         (ok,newFile)=monEficasConnecteur.saveFile('/tmp/ajoutProc.comm')
     
+    lllll = 1
     testAjoutSuppFact=1
     if testAjoutSuppFact : 
         monEficasConnecteur.litFichierComm('../WebTest/web_tres_simple_avec_2Fact.comm')
         idRacine=monEficasConnecteur.monEditeur.tree.racine.item.idUnique
         d=monEficasConnecteur.getDicoForFancy(monEficasConnecteur.monEditeur.tree.racine)
-        pprint.pprint(d)
         monProc2=d['children'][0]['key']
         print ('id monProc2 : ', monProc2)
         #r=monEficasConnecteur.appendChild(monProc2,'Fact2')
         #print ('ajout de Fact2 dans monProc2 reussi', r)
         #r=monEficasConnecteur.appendChild(monProc2,'Fact2')
         #print ('ajout de  Fact2 dans monProc2 inadequat', r)
-        #d=monEficasConnecteur.getDicoForFancy(monEficasConnecteur.monEditeur.tree.racine)
+        d=monEficasConnecteur.getDicoForFancy(monEficasConnecteur.monEditeur.tree.racine)
+        fact11=d['children'][0]['children'][2]['key']
+        fact12=d['children'][0]['children'][3]['key']
+        fact13=d['children'][0]['children'][4]['key']
+        fact14=d['children'][0]['children'][5]['key']
+        pprint.pprint(d)
+        #print (d)
         #monFact2=d['children'][0]['children'][3]['key']
         #print (monFact2)
         #r=monEficasConnecteur.suppNode(monFact2)
         #print (r)
         #fact11=d['children'][0]['children'][2]['key']
-        #print(d['children'][0]['children'][2]['title'])
-        #r=monEficasConnecteur.suppNode(fact11)
-        #print (r)
-        print ('******************************************************')
-        print ('******************************************************')
-        r=monEficasConnecteur.appendChild(monProc2,'Fact1')
-        r=monEficasConnecteur.appendChild(monProc2,'Fact1')
-        r=monEficasConnecteur.appendChild(monProc2,'Fact1')
-        r=monEficasConnecteur.appendChild(monProc2,'Fact2')
-        r=monEficasConnecteur.appendChild(monProc2,'Fact1')
-        print ('******************************************************')
-        print ('******************************************************')
+        #monNode=monEficasConnecteur.monEditeur.getNodeById(fact11)
+        #print ('monNode', monNode)
+        r=monEficasConnecteur.suppNode(fact11)
+        r=monEficasConnecteur.suppNode(fact12)
+        r=monEficasConnecteur.suppNode(fact13)
+        print ('________________________________________________')
+        print ('________________________________________________')
+        print ('________________________________________________')
+        print ('________________________________________________')
+        print ('________________________________________________')
+        r=monEficasConnecteur.suppNode(fact14)
         print (r)
         #r=monEficasConnecteur.appendChild(monProc2,'Fact1')
+        #r=monEficasConnecteur.appendChild(monProc2,'Fact1')
+        #r=monEficasConnecteur.appendChild(monProc2,'Fact1')
+        #r=monEficasConnecteur.appendChild(monProc2,'Fact2')
+        #r=monEficasConnecteur.appendChild(monProc2,'Fact1')
+        #print (d)
+        #d=monEficasConnecteur.getDicoForFancy(monEficasConnecteur.monEditeur.tree.racine)
+        #pprint.pprint(d)
+        #r=monEficasConnecteur.appendChild(monProc2,'Fact1')
         #print (r)
-        d=monEficasConnecteur.getDicoForFancy(monEficasConnecteur.monEditeur.tree.racine)
+        #d=monEficasConnecteur.getDicoForFancy(monEficasConnecteur.monEditeur.tree.racine)
         #fact12=d['children'][0]['children'][3]['key']
         #print(d['children'][0]['children'][3]['title'])
         #r=monEficasConnecteur.appendChild(fact12,'paramInFact1')
+        #fact1=d['children'][0]['children'][2]
+        #print (fact1)
         #fact11=d['children'][0]['children'][2]['key']
+        #print (fact11)
+        #print ('******************************************************')
+        #r=monEficasConnecteur.suppNode(fact11)
         #r=monEficasConnecteur.appendChild(fact11,'paramInFact1')
         #d=monEficasConnecteur.getDicoForFancy(monEficasConnecteur.monEditeur.tree.racine)
         #paramInFact12=d['children'][0]['children'][2]['children'][0]['key']
         #r=monEficasConnecteur.suppNode(paramInFact12)
         #print (r)
         (ok,newFile)=monEficasConnecteur.saveFile('/tmp/ajoutFact.comm')
+        exit()
 
     testChangeValeur=0
     if testChangeValeur :
@@ -324,13 +350,28 @@ if __name__ == "__main__":
         r=monEficasConnecteur.appendChild(idRacine,'MonProc','last')
         d=monEficasConnecteur.getDicoForFancy(monEficasConnecteur.monEditeur.tree.racine)
         param1PLast = d['children'][1]['children'][0]['key']
-        print ('_________________________________________________')
-        print ('_________________________________________________')
-        print ('_________________________________________________')
-        print ('_________________________________________________')
         r=monEficasConnecteur.changeValeur(param1PLast,'1')
         (ok,newFile)=monEficasConnecteur.saveFile('/tmp/propageValide.comm')
         print ('ajout de MonProc2 en postion last', r)
+
+    testUpdateInfo = 0
+    if testUpdateInfo : 
+        print ('________________________ testUpdateInfo ___________________________')
+        monEficasConnecteur.litFichierComm('../WebTest/web_tres_simple_avec_2Fact.comm')
+        idRacine=monEficasConnecteur.monEditeur.tree.racine.item.idUnique
+        print ('idRacine', idRacine)
+        d=monEficasConnecteur.getDicoForFancy(monEficasConnecteur.monEditeur.tree.racine)
+        badMonProc2 = d['children'][0]['children'][0]['key']
+        r=monEficasConnecteur.appendChild(badMonProc2,'Fact1')
+        monProc2 = d['children'][0]['key']
+        #print ('idProc2', monProc2)
+        #print (d)
+        r=monEficasConnecteur.appendChild(monProc2,'Fact1')
+        r=monEficasConnecteur.appendChild(monProc2,'Fact1')
+        r=monEficasConnecteur.appendChild(monProc2,'Fact1')
+        r=monEficasConnecteur.appendChild(monProc2,'Fact1')
+        d=monEficasConnecteur.getDicoForFancy(monEficasConnecteur.monEditeur.tree.racine)
+        print (['children'][0])
     exit()