effectivement, la démarche que tu abordes est la bonne: on ne peuple le niveau n+1 de l'arbre que quand on affiche le niveau n (c'est ce que font tous les explorateurs de fichiers). Donc regarde au niveau des signaux existants sur le treeview, tu dois en avoir un qui se déclenche quand tu déplie un pan de l'arbre (doit y avoir un mot clé du genre "expand", je suppose, dans le nom de l'évènement). Ensuite connecte ce signal et utilise le pour fouiller et ajouter les éléments du niveau manquant...
exemple:
le niveau n est replié, son contenu n'est pas affiché.
tu cliques pour le déplier
le niveau n+1 qui a été précédemment calculé est affiché, et tu calcules le niveau n+2 et l'ajoutes à l'aborescence
Comme tu as toujours un niveau d'avance, si tu gères bien ça, ça peut t'éviter des légers temps d'attente quand tu essaies de déplier un niveau.
J'espère que j'ai été assez clair... mais en tout cas tu es sur la bonne voie...
# Bonne démarche
Posté par liberforce (site web personnel, Mastodon) . En réponse au message TreeView dynamique avec GTK2. Évalué à 4.
effectivement, la démarche que tu abordes est la bonne: on ne peuple le niveau n+1 de l'arbre que quand on affiche le niveau n (c'est ce que font tous les explorateurs de fichiers). Donc regarde au niveau des signaux existants sur le treeview, tu dois en avoir un qui se déclenche quand tu déplie un pan de l'arbre (doit y avoir un mot clé du genre "expand", je suppose, dans le nom de l'évènement). Ensuite connecte ce signal et utilise le pour fouiller et ajouter les éléments du niveau manquant...
exemple:
le niveau n est replié, son contenu n'est pas affiché.
tu cliques pour le déplier
le niveau n+1 qui a été précédemment calculé est affiché, et tu calcules le niveau n+2 et l'ajoutes à l'aborescence
Comme tu as toujours un niveau d'avance, si tu gères bien ça, ça peut t'éviter des légers temps d'attente quand tu essaies de déplier un niveau.
J'espère que j'ai été assez clair... mais en tout cas tu es sur la bonne voie...