14.6.1. Gérer les colonnes
On peut récupérer un TreeViewColumn dans un
TreeView soit isolément, soit comme une liste :
treeviewcolumn = treeview.get_column(n)
columnlist = treeview.get_columns()
... où n est l'index (à partir de zéro) de la colonne à récupérer. Une
colonne peut être effacée par la méthode :
treeview.remove_column(column)
... où column est un TreeViewColumn
du treeview.
Les lignes qui possédent des ligne enfants sont affichées avec une flèche
de développement (voir Figure 14.3, « Fonction d'affichage des données cellulaires ») sur laquelle
l'utilisateur peut cliquer pour masquer ou afficher les lignes enfants. On peut
choisir la colonne qui possède la flèche de développement par
cette méthode :
treeview.set_expander_column(column)
... où column est un TreeViewColumn
du treeview. Cette méthode est utile lorsqu'on ne souhaite pas que la première colonne soit
indentée. Par exemple, Figure 14.7, « Flèche de développement dans la seconde colonne » montre la flèche
de développement dans la seconde colonne :
14.6.2. Afficher ou masquer les enfants d'une ligne
Toutes les lignes enfants d'un TreeView peuvent
être affichées ou masquées grâce aux méthodes suivantes :
treeview.expand_all()
treeview.collapse_all()
Ces méthodes sont pratiques pour initialiser l'affichage du
TreeView dans un état donné. Chaque ligne peut avoir ses
lignes enfants affichées ou masquées de manière indépendante par :
treeview.expand_row(path, open_all)
treeview.collapse_row(path)
... où path est le chemin arborescent vers une ligne du
treeview ; si open_all vaut TRUE,
toute la descendance de la ligne est affichée, sinon, seuls ses enfants directs
sont affichés.
On peut savoir si une ligne a ses enfants affichés par cette méthode :
is_expanded = treeview.row_expanded(path)