self.init()
# on met le meme id au noeud et a l objet
self.idUnique=uuid1().hex
+
if self._object.nature == 'MCList' and len(self._object.data) == 1 :
self._object.data[0].idUnique=self.idUnique
if hasattr (self._object.data[0],'idUnique') : self._object.data[0].remplaceId = self._object.data[0].idUnique
else : self._object.data[0].remplaceId = None
if hasattr (self._object,'idUnique') : self._object.remplaceId = self._object.idUnique
else : self._object.remplaceId = None
+
self._object.idUnique=self.idUnique
# Ici on teste si Web
if hasattr (self.appliEficas,'dicoIdNode') : self.appliEficas.dicoIdNode[self.idUnique]=self
Cette methode, globale pour les objets de type item, permet de construire et de retourner un objet
de type item associe a l'object passe en argument.
"""
+ if labeltext == 'b1 :' :print ('---------------makeObjecttreeitem', labeltext,object)
return makeObjecttreeitem(appliEficas,labeltext,object,setFunction)
#def __del__(self):
#print ('appel de propageValide pour ', self.item.nom, validite,self.oldValidite)
self.editor.connecteur.toWebApp('propageValide',self.item.idUnique, validite)
- def onAdd(self,ajout):
+ def onAddV0(self,ajout):
#--------------------------
# bien tester avec les blocs
- #print ('on add', '________ object', object)
+ # En fait, on a toujours ajour d 1 seul MC donc on est toujours dans la creation
+ print ('on add', '________ object', object , ' dans ', self.item.nom)
avantChildren=self.children
indexAvant=0
indexApres=0
reconstruitMoi=False
+ if self.item.nom == 'MonProc2' : print ('avant Children ', avantChildren)
+
self.buildChildren()
+ if self.item.nom == 'MonProc2' : print (' Children ', self.children)
if len(ajout) > 1 :
reconstruitMoi=False
elif len(avantChildren)+1 == len(self.children):
for i in range(len(avantChildren)):
- id1=avantChildren[indexAvant].item.idUnique
- id2=self.children[indexApres].item.idUnique
+ print (avantChildren[indexAvant].item)
+ id1=avantChildren[indexAvant].getIdUnique()
+ id2=self.children[indexApres].getIdUnique()
if id1 == id2 :
indexAvant += 1
indexApres += 1
reconstruitMoi=False
if indexAvant == len(avantChildren) : pos = indexApres
while (indexAvant < len(avantChildren)):
- id1=avantChildren[indexAvant].idUnique
- id2=self.children[indexApres].idUnique
+ id1=avantChildren[indexAvant].getIdUnique()
+ id2=self.children[indexApres].getIdUnique()
if id1 == id2 :
indexAvant += 1
indexApres += 1
else : reconstruitMoi=True
if reconstruitMoi :
- print ('Remplace', self.item.idUnique, self.item.remplaceId)
- self.editor.connecteur.toWebApp('RemplacementNode',self.item.remplaceId,self.item.idUnique,self.item.getDicoForFancy()) # faut il ajouter pos
+ print ('-------------- Remplace', self.item.idUnique, self.item.remplaceId)
+ self.editor.connecteur.toWebApp('remplacementNode',self.item.remplaceId,self.item.getIdUnique(),self.item.getDicoForFancy()) # faut il ajouter pos
else :
- print ('Add', self.item.idUnique)
- if (ajout[0] != self.children[pos].item._object ) : print ('souci au add *************************')
- self.editor.connecteur.toWebApp('creationNodeFils',self.item.idUnique,self.children[pos].item.getDicoForFancy(),pos)
+ print ('-------------- Add', self.item.idUnique)
+ self.editor.connecteur.toWebApp('creationNodeFils',self.item.idUnique(),self.children[pos].item.getDicoForFancy(),pos)
+
+ def onAdd(self,ajout):
+ #-----------------------
+ print ('on add', '________ ajout', ajout , ' dans ', self.item.nom)
+ self.buildChildren()
+ # 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
+
+ mcAjoute= ajout[0]
+ pos = 0; trouve=0
+ for c in self.children :
+ if c.item._object == mcAjoute :
+ pos+=1
+ trouve=1
+ break
+ if not trouve : print ('souci au add *************************')
+ self.editor.connecteur.toWebApp('appendChild',self.item.idUnique,self.children[pos].item.getDicoForFancy(),pos)
def onSupp(self,object):
#-----------------------
def onRedessine(self):
#----------------------
print ('on Redessine pour ', self)
-
#---------------------
# self.affichePanneau()
+ def getIdUnique(self):
+ #---------------------
+ # surcharge pour mcliste
+ return self.item.idUnique
def buildChildren(self,posInsertion=10000):
#------------------------------------------
doit-on mettre l ancienne valeur en retour qui serait utile si validité = Non
"""
monNode=self.monEditeur.getNodeById(id)
+ #print (' change Valeur', monNode)
(idUnique, commentaire, validite)=monNode.fauxNoeudGraphique.traiteValeurSaisie(valeur)
- print ('retourChangeValeur',id, commentaire, validite )
- self.toWebApp('retourChangeValeur',id, commentaire, validite )
+ print ('retour ChangeValeur',idUnique, commentaire, validite )
+ return monNode.fauxNoeudGraphique.traiteValeurSaisie(valeur)
+
+ #self.toWebApp('retourChangeValeur',id, commentaire, validite ))
monEficasConnecteur.litFichierComm('../WebTest/web_tres_simple_avec_2Procs.comm')
d=monEficasConnecteur.getDicoForFancy(monEficasConnecteur.monEditeur.tree.racine)
- #pprint.pprint(d)
- print ('\n')
-
- print ('\n')
-
-
+ pprint.pprint(d)
#pprint.pprint (monEficasConnecteur.getDicoObjetsCompletsPourTree(monEficasConnecteur.monEditeur.tree.racine))
idRacine=monEficasConnecteur.monEditeur.tree.racine.item.idUnique
r=monEficasConnecteur.appendChild(idRacine,'MonProc2','last')
d=monEficasConnecteur.getDicoForFancy(monEficasConnecteur.monEditeur.tree.racine)
+ #pprint.pprint(d)
i=d['children'][2]['children'][0]['key']
r=monEficasConnecteur.changeValeur(i,'65')
+ i=d['children'][2]['children'][0]['key']
+ r=monEficasConnecteur.changeValeur(i,'2')
+ #print (r)
d=monEficasConnecteur.getDicoForFancy(monEficasConnecteur.monEditeur.tree.racine)
pprint.pprint(d)