class ObjectTreeItem(TreeItem,Delegate):
def __init__(self, appliEficas, labeltext, object, setFunction=None):
- #print (object,'__init__ ObjectTreeItem',labeltext,setFunction)
- #if object.nature == 'MCList' or object.nature == 'MCFact' :
- # print ('object.nature', object.nature)
+ # print (object,'__init__ ObjectTreeItem',labeltext,setFunction)
# import traceback
# traceback.print_stack()
self.labeltext = labeltext
self.sublist=[]
self.init()
# on met le meme id au noeud et a l objet
- self.idUnique=uuid1().hex
+ if hasattr (object, 'idUnique') : self.idUnique=object.idUnique
+ else : self.idUnique=uuid1().hex
if self._object.nature == 'MCList' and len(self._object.data) == 1 :
- #print ('cas d un mclist de longueur1')
- #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
- self._object.data[0].idUnique=uuid1().hex
+ #pour les suppressions on met le meme id a l objet et a la lis
+ self._object.data[0].idUnique=self.idUnique
+ self._object.idUnique=self._object.data[0].idUnique
if hasattr (self.appliEficas,'dicoIdNode') : self.appliEficas.dicoIdNode[self._object.data[0].idUnique]=self
self.idUnique=0
-
- if hasattr (self._object,'idUnique') : self._object.remplaceId = self._object.idUnique
- else : self._object.remplaceId = None
+ return
self._object.idUnique=self.idUnique
if hasattr (self.appliEficas,'dicoIdNode') and self.idUnique : self.appliEficas.dicoIdNode[self.idUnique]=self
"""
Methode externe pour la destruction de l'objet associe au noeud
"""
- print ('browser :_appel de delete _______', self, self.vraiParent, self.item.nature)
+ #print ('browser :_appel de delete _______', self, self.vraiParent, self.item.nature)
- if self.item.nature=='MCFACT' :
- if len(self.vraiParent.item._object) == 1 :
- print ('je passe la')
- treeParent=self.vraiParent.treeParent
- ret,commentaire=self.vraiParent.treeParent.item.suppItem(self.vraiParent.item)
- if ret!=0 : treeParent.buildChildren()
- return (ret,commentaire)
-
ret,commentaire=self.vraiParent.item.suppItem(self.item)
if ret!=0 : self.treeParent.buildChildren()
return (ret,commentaire)
class Node(browser.JDCNode,typeNode.PopUpMenuNodePartiel):
- def getPanelGroupe(self,parentQt,commande):
- # ----------------------------------------
- maDefinition=self.item.get_definition()
- monObjet=self.item.object
- monNom=self.item.nom
- maCommande=commande
- if hasattr(parentQt,'niveau'): self.niveau=parentQt.niveau+1
- else : self.niveau=1
- #if hasattr(self,'plie') and self.plie==True :
- # from InterfaceQT4.monWidgetFactPlie import MonWidgetFactPlie
- # widget=MonWidgetFactPlie(self,self.editor,parentQt,maDefinition,monObjet,self.niveau,maCommande)
- #elif self.editor.maConfiguration.afficheFirstPlies and self.firstAffiche:
- # self.firstAffiche = False
- # self.setPlie()
- # from InterfaceQT4.monWidgetFactPlie import MonWidgetFactPlie
- # widget=MonWidgetFactPlie(self,self.editor,parentQt,maDefinition,monObjet,self.niveau,maCommande)
- #else:
- # from InterfaceQT4.monWidgetFact import MonWidgetFact
- # widget=MonWidgetFact(self,self.editor,parentQt,maDefinition,monObjet,self.niveau,maCommande)
- #return widget
+
+ def delete(self):
+ #----------------
+ """
+ Methode externe pour la destruction de l'objet associe au noeud
+ """
+ print ('******* mcfact :_appel de delete _______', self, self.vraiParent, self.item.nature)
+ if len(self.vraiParent.item._object) == 1 :
+ print ('JE PASSE LA !!!!!!!!!!!!!!!!!!!!!!!')
+ treeParent=self.vraiParent.treeParent
+ print (self.vraiParent.treeParent, self.vraiParent)
+ ret,commentaire=self.vraiParent.treeParent.item.suppItem(self.vraiParent.item)
+ if ret!=0 : treeParent.buildChildren()
+ return (ret,commentaire)
+
+ ret,commentaire=self.vraiParent.item.suppItem(self.item)
+ if ret!=0 : self.treeParent.buildChildren()
+ return (ret,commentaire)
+
def createPopUpMenu(self):