#
__version__="$Name: $"
-__Id__="$Id: treewidget.py,v 1.21 2005/05/19 12:18:48 eficas Exp $"
+__Id__="$Id: treewidget.py,v 1.24 2005/06/10 14:59:37 eficas Exp $"
#
Fonte_Standard = fontes.standard
for child in self.children:
child.update()
+ def supprime(self):
+ """ supprime tous les éléments de l'arbre """
+ for child in self.children:
+ child.supprime()
+
def update_valid(self) :
"""Cette methode a pour but de mettre a jour la validite du noeud
et de propager la demande de mise à jour à son parent
else:
self.racine = self.parent.racine
- # etape = noeud d'étape auquel appartient self
- # = self si c'est lui-même
- #if isinstance(self.parent,Tree) :
- # on est sur un noeud de JDC
- #self.etape=None
- #elif isinstance(self.parent.parent,Tree) :
- # on est sur un noeud d'étape
- #self.etape=self
- #else :
- # on est sur un noeud de mot-clé
- #self.etape=self.parent.etape
-
def reconnect(self):
self.disconnect()
self.connect()
def onValid(self):
#print "onValid : l'item a changé de validité ",self.item,self.item.object,self.item.object.isvalid()
self.update_node_valid()
- self.update_label_texte()
- self.update_texte()
+ self.update_node_label()
+ self.update_node_texte()
+ if self.selected and self.command:
+ self.command(self)
def onAdd(self,objet):
#print "onAdd : un objet a été ajouté aux fils de l'item ",self.item.object,objet
self.expand_node()
old_nodes=self.children
self.update_nodes()
- #print "onAdd:nodes",self.children
self.redraw_children(old_nodes)
self.force_select()
self.expand_node()
old_nodes=self.children
self.update_nodes()
- #print "onSupp:nodes",self.children
self.redraw_children(old_nodes)
self.force_select()
inodes=iter(self.children)
sublist=self.item._GetSubList()
iliste=iter(sublist)
- #print "update_nodes",self.children
- #print "update_nodes",sublist
while(1):
old_item=item=None
if node is new_node: # ancien noeud
#print "noeud conserve",node
- node.update_label_texte()
+ node.update_node_label()
y=y+node.lasty-node.y +20
self.racine.update_coords()
tous les autres
"""
#print "SELECT",self
- #traceback.print_stack()
if not self.children : self.build_children()
- #if self.selected and self.tree.node_selected is self: return
self.tree.deselectall()
self.selected = 1
self.tree.node_selected = self
child.update_icone()
def update_label_texte(self):
+ """ Met a jour le label du noeud et celui de tous ses fils ouverts """
+ self.update_node_label()
+ if self.state == 'expanded' :
+ for child in self.children:
+ if child.displayed != 0 : child.update_label_texte()
+
+ def update_texte(self):
+ """ Met à jour les noms des SD et valeurs des mots-clés """
+ self.update_node_texte()
+ if self.state == 'expanded' :
+ for child in self.children:
+ if child.displayed != 0 : child.update_texte()
+
+ def update_node_label(self):
+ """ Met a jour le label du noeud """
+ if self.displayed == 0 : return
# nom,fonte et couleur de l'objet du noeud à afficher
labeltext,fonte,couleur = self.item.GetLabelText()
if labeltext == '' : labeltext = ' '
if fonte == None : fonte = Fonte_Standard
if couleur == None : couleur = 'black'
self.label.configure(text=labeltext,font=fonte)
- if self.state == 'expanded' :
- for child in self.children:
- if child.displayed != 0 : child.update_label_texte()
- def update_texte(self):
+ def update_node_texte(self):
""" Met à jour les noms des SD et valeurs des mots-clés """
+ if self.displayed == 0 : return
text = self.item.GetText()
if text == None : text = ''
self.text.configure(text=text)
- if self.state == 'expanded' :
- for child in self.children:
- if child.displayed != 0 : child.update_texte()
-
+
def update_node_valid(self) :
"""Cette methode remet a jour la validite du noeud (icone)
Elle appelle isvalid
"""
+ if self.displayed == 0 : return
if self.image_id != None :
image = self.geticonimage()
self.canvas.itemconfig(self.image_id,image=image)
self.racine.trace_ligne()
self.racine.update_icone()
self.racine.update_texte()
+ self.racine.update_label_texte()
self.tree.resizescrollregion()
def efface_node(self):
"""
index = self.parent.children.index(self) - 1
if index < 0 : index =0
- #print index
ret=self.parent.item.suppitem(self.item)
if ret == 0:return
Réalise la copie de l'objet passé en argument qui est nécessairement
une commande
"""
- raise "OBSOLETE"
child = self.append_brother(objet_a_copier,retour='oui')
return child