From: pascale.noyret Date: Tue, 12 Oct 2021 10:00:16 +0000 (+0200) Subject: chgt orderedDict X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=e151c386d0dfc7f8b2dc8815082f41ee67adcc2d;p=tools%2Feficas.git chgt orderedDict --- diff --git a/Editeur/Objecttreeitem.py b/Editeur/Objecttreeitem.py index 458dbc4f..95aea07b 100644 --- a/Editeur/Objecttreeitem.py +++ b/Editeur/Objecttreeitem.py @@ -146,7 +146,7 @@ class Delegate(object): class ObjectTreeItem(TreeItem,Delegate): def __init__(self, appliEficas, labeltext, object, setFunction=None): - print (object,'__init__ ObjectTreeItem',labeltext,) + #print (object,'__init__ ObjectTreeItem',labeltext,) self.labeltext = labeltext self.appliEficas = appliEficas # Attention appliEficas n est pas appliEficas c est le JDCEditor @@ -169,6 +169,8 @@ class ObjectTreeItem(TreeItem,Delegate): # on met le meme id au noeud et a l objet self.idUnique=uuid.uuid1().hex self._object.idUnique=self.idUnique + if self._object.nature == 'MCList' and len(self._object.data) == 1 : + self._object.data[0].idUnique=self.idUnique # Ici on teste si Web if hasattr (self.appliEficas,'dicoIdNode') : self.appliEficas.dicoIdNode[self.idUnique]=self diff --git a/Ihm/I_JDC.py b/Ihm/I_JDC.py index f7b09f72..dcee6bb3 100644 --- a/Ihm/I_JDC.py +++ b/Ihm/I_JDC.py @@ -972,6 +972,20 @@ class JDC(I_OBJECT.OBJECT): for child in self.etapes[index:]: child.deleteConcept(sd) + + + def getDicoObjetsCompletsPourTree(self): + #print ('I_JDC getDicoObjetsCompletsPourTree ', self) + monDico={} + monDico['text']=self.code + # self.editor.fichier ? + listNodes=[] + for e in self.etapes : + listNodes.append(e.getDicoObjetsCompletsPourTree()) + monDico['nodes']=listNodes + return monDico + + #ATTENTION SURCHARGE : les methodes ci-dessus surchargent des methodes de Noyau et Validation : a reintegrer def getFile(self,unite=None,fic_origine=''): diff --git a/Ihm/I_MCLIST.py b/Ihm/I_MCLIST.py index ea399fee..be074ba0 100644 --- a/Ihm/I_MCLIST.py +++ b/Ihm/I_MCLIST.py @@ -64,8 +64,8 @@ class MCList: return 0 def getDicoObjetsCompletsPourTree(self): + #print ('MCList getDicoObjetsCompletsPourTree pour ', self) listeDict=[] - from collections import OrderedDict for i in self.data: listeDict.append(i.getDicoObjetsCompletsPourTree()) return listeDict diff --git a/Ihm/I_MCSIMP.py b/Ihm/I_MCSIMP.py index f2063b34..a853ac54 100644 --- a/Ihm/I_MCSIMP.py +++ b/Ihm/I_MCSIMP.py @@ -69,9 +69,10 @@ class MCSIMP(I_OBJECT.OBJECT): return validite def getDicoObjetsCompletsPourTree(self): + #print ('MCSIMP getDicoObjetsCompletsPourTree ', self) monDico={} - # leTexte="" + self.nom + ' ' + str(self.val) + "" - leTexte= self.nom + " " + str(self.val) + leTexte="" + self.nom + ' ' + str(self.val) + "" + #leTexte= self.nom + " " + str(self.val) monDico['text']=leTexte return monDico diff --git a/Ihm/I_OBJECT.py b/Ihm/I_OBJECT.py index cf0f6bc9..690bd0a0 100644 --- a/Ihm/I_OBJECT.py +++ b/Ihm/I_OBJECT.py @@ -189,15 +189,20 @@ class OBJECT: pass def getDicoObjetsCompletsPourTree(self): - from collections import OrderedDict - # monDico=OrderedDict() + #print ('OBJECT getDicoObjetsCompletsPourTree ',self) monDico={} -# leTexte="" + self.nom +"" - leTexte=self.nom + leNom = self.nom + if self.nature == 'MCFACT' : leNom=self.getLabelText() + if self.nature == 'OPERATEUR' and self.sdnom != "sansnom" : leNom = self.nom+'__'+self.sdnom + leTexte="" + leNom +"" + leTexte=leNom monDico['text']=leTexte listeNodes=[] for obj in self.mcListe: - listeNodes.append(obj.getDicoObjetsCompletsPourTree()) + lesNodes=obj.getDicoObjetsCompletsPourTree() + if not (isinstance(lesNodes,list)) : listeNodes.append(lesNodes) + else : + for leNode in lesNodes : listeNodes.append(leNode) monDico['nodes']=listeNodes return monDico diff --git a/InterfaceWeb/browser.py b/InterfaceWeb/browser.py index e98ee3c0..6cda5bd1 100644 --- a/InterfaceWeb/browser.py +++ b/InterfaceWeb/browser.py @@ -41,14 +41,13 @@ class JDCTree(): def __init__( self, jdc_item, editor): #---------------------------------------- - print ('__init__ JDCTree') + #print ('__init__ JDCTree') self.editor = editor self.plie=False self.item = jdc_item self.tree = self self.appliEficas = self.editor.appliEficas self.racine=self.item.itemNode(self,self.item) - print ('self.racine',self.racine) self.itemCourant=None self.node_selected = self.racine self.inhibeExpand = True @@ -194,6 +193,7 @@ class JDCNode(): return self.item.getDicoObjetsPourWeb() def getDicoObjetsCompletsPourTree(self): + #print ('browser getDicoObjetsCompletsPourTree', self, ' ', self.item) return self.item.getDicoObjetsCompletsPourTree() #def chercheNoeudCorrespondant(self,objSimp): diff --git a/InterfaceWeb/compojdc.py b/InterfaceWeb/compojdc.py index 5bab4481..d6c0d62c 100644 --- a/InterfaceWeb/compojdc.py +++ b/InterfaceWeb/compojdc.py @@ -136,21 +136,22 @@ class JDCTreeItem(Objecttreeitem.ObjectTreeItem): monDico[e.idUnique]=nodeEtape.getDicoObjetsPourWeb() return monDico - def getDicoObjetsCompletsPourTree(self): - from collections import OrderedDict - # monDico=OrderedDict() - monDico={} - monDico['text']="Racine à Programmer" - listNodes=[] - for e in self.object.etapes : + #def getDicoObjetsCompletsPourTreeUU(self): + # Pour N importe quel objet + # du coup, on appelle sur objet y compris pour le jdc + # print ('compojdc getDicoObjetsCompletsPourTree ',self, self.object) + # return self.object.getDicoObjetsCompletsPourTree() + + #monDico={} + #monDico['text']="Racine à Programmer" + #listNodes=[] + #for e in self.object.etapes : # sdNom = '' # if e.nature == 'OPERATEUR' and e.sdnom != "sansnom" : sdNom = e.sdnom # # leTexte="" + e.nom + sdNom + "" # leTexte=e.nom + sdNom - listNodes.append(e.getDicoObjetsCompletsPourTree()) - monDico['nodes']=listNodes - - return monDico + #listNodes.append(e.getDicoObjetsCompletsPourTree()) + #monDico['nodes']=listNodes diff --git a/InterfaceWeb/editor.py b/InterfaceWeb/editor.py index dd8674f8..a9024a10 100755 --- a/InterfaceWeb/editor.py +++ b/InterfaceWeb/editor.py @@ -65,6 +65,7 @@ class JDCWebEditor(JDCEditorSsIhm): def getDicoObjetsCompletsPourTree(self,obj) : #----------------------------------- + #print ('editor getDicoObjetsCompletsPourTree pour ' ,self, obj) if self.tree == None : return {} return obj.getDicoObjetsCompletsPourTree() diff --git a/testFlask/connectEficas.py b/testFlask/connectEficas.py index 7a2188ba..429231ab 100755 --- a/testFlask/connectEficas.py +++ b/testFlask/connectEficas.py @@ -29,6 +29,7 @@ import os, sys sys.path.append(os.path.join(os.path.abspath(os.path.dirname(__file__)),'..')) sys.path.append(os.path.join(os.path.abspath(os.path.dirname(__file__)),'../Editeur')) from collections import OrderedDict +import pprint if sys.version_info[0] < 3: @@ -92,32 +93,37 @@ if __name__ == "__main__": __import__(name) code=prefs.code monEficasConnecteur=accasConnecteur(code, langue='ang') - print ( 'voici le connecteur', monEficasConnecteur) - print ( 'et les commandes', monEficasConnecteur.getListeCommandes(),'\n') + #print ( 'voici le connecteur', monEficasConnecteur) + #print ( 'et les commandes', monEficasConnecteur.getListeCommandes(),'\n') print ( '\n Fichier /home/A96028/QT5GitEficasTravail/Web/eficas/WebTest/web_tres_simple.comm') - monEficasConnecteur.litFichierComm('/home/A96028/QT5GitEficasTravail/Web/eficas/WebTest/web_tres_simple.comm') + monEficasConnecteur.litFichierComm('../WebTest/web_tres_simple.comm') #print (monEficasConnecteur.generDicoPourWeb()) #print (monEficasConnecteur.getDicoObjetsPourWeb(monEficasConnecteur.monEditeur.tree.racine)) - print (monEficasConnecteur.getDicoObjetsCompletsPourTree(monEficasConnecteur.monEditeur.tree.racine)) - print ('\n') + pprint.pprint (monEficasConnecteur.getDicoObjetsCompletsPourTree(monEficasConnecteur.monEditeur.tree.racine)) + #print ('\n') + + print ( '\n Fichier /home/A96028/QT5GitEficasTravail/Web/eficas/WebTest/web_tres_simple_avec_2Procs.comm') + monEficasConnecteur.litFichierComm('../WebTest/web_tres_simple_avec_2Procs.comm') + pprint.pprint (monEficasConnecteur.getDicoObjetsCompletsPourTree(monEficasConnecteur.monEditeur.tree.racine)) - exit() - #print ( '\n Fichier /home/A96028/QT5GitEficasTravail/Web/eficas/WebTest/web_tres_simple_avec_Bloc.comm') - #monEficasConnecteur.litFichierComm('/home/A96028/QT5GitEficasTravail/Web/eficas/WebTest/web_tres_simple_avec_Bloc.comm') + print ( '\n Fichier /home/A96028/QT5GitEficasTravail/Web/eficas/WebTest/web_tres_simple_avec_Bloc.comm') + monEficasConnecteur.litFichierComm('../WebTest/web_tres_simple_avec_Bloc.comm') #print (monEficasConnecteur.generDicoPourWeb()) #print (monEficasConnecteur.getDicoObjetsPourWeb(monEficasConnecteur.monEditeur.tree.racine)) - #print (monEficasConnecteur.getDicoObjetsCompletsPourTree(monEficasConnecteur.monEditeur.tree.racine)) + pprint.pprint (monEficasConnecteur.getDicoObjetsCompletsPourTree(monEficasConnecteur.monEditeur.tree.racine)) #print ('\n') - monEficasConnecteur.litFichierComm('/home/A96028/QT5GitEficasTravail/Web/eficas/WebTest/web_tres_simple_avec_2Fact.comm') + print ( '\n Fichier /home/A96028/QT5GitEficasTravail/Web/eficas/WebTest/web_tres_simple_avec_2Fact.comm') + monEficasConnecteur.litFichierComm('../WebTest/web_tres_simple_avec_2Fact.comm') #print (monEficasConnecteur.generDicoPourWeb()) #monDicoAAfficher = (monEficasConnecteur.getDicoObjetsPourWeb(monEficasConnecteur.monEditeur.tree.racine)) #monEficasConnecteur.traiteDico(monDicoAAfficher) - print (monEficasConnecteur.getDicoObjetsCompletsPourTree(monEficasConnecteur.monEditeur.tree.racine)) + pprint.pprint (monEficasConnecteur.getDicoObjetsCompletsPourTree(monEficasConnecteur.monEditeur.tree.racine)) - #monEficasConnecteur.litFichierComm('/home/A96028/QT5GitEficasTravail/Web/eficas/WebTest/web_tres_simple_avec_Fact.comm') + print ('/home/A96028/QT5GitEficasTravail/Web/eficas/WebTest/web_tres_simple_avec_Fact.comm') + monEficasConnecteur.litFichierComm('../WebTest/web_tres_simple_avec_Fact.comm') #print (monEficasConnecteur.generDicoPourWeb()) - #print (monEficasConnecteur.getDicoObjetsPourWeb(monEficasConnecteur.monEditeur.tree.racine)) + pprint.pprint (monEficasConnecteur.getDicoObjetsCompletsPourTree(monEficasConnecteur.monEditeur.tree.racine)) #print ('\n')