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):
else :
liste=(mcSupprime.idUnique,)
self.buildChildren()
+ self.updateOptionnels()
self.editor.connecteur.toWebApp('deleteChildren',liste)
#print (' appel deleteChildren',liste)
#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
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)
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)
def suppNode(self,id):
#-------------------
+
monNode=self.monEditeur.getNodeById(id)
+ print ('monNode', monNode)
retour=monNode.fauxNoeudGraphique.delete()
return retour
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
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 :
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()