[Résolu][Perl/Gtk2] Récupérer les éléments d'un Gtk2::TreeView

Récupérer les éléments d'un Gtk2::TreeView [Résolu][Perl/Gtk2] - Perl - Programmation

Marsh Posté le 20-02-2005 à 20:20:52    

Bonjour  :hello:  
 
Je suis en train de programmer une gui pour l'un de mes projets. Le programme est en perl, et j'utilise la librairie graphique Gtk2.
 
Pour les besoins du programme, j'utilise un objet de type Gtk2::TreeView avec une seule colonne, dont le nom est caché.
Cet objet me sert à stocker "graphiquement parlant" les éléments d'un liste. À l'aide d'un bouton et d'un champ texte, l'utilisateur peut ajouter un élément à l'objet Gtk2::TreeView. Jusqu'ici, je n'ai rencontré aucun problème.
 
Seulement voilà, à un moment donné, j'ai besoin de récupérer les éléments contenus dans le Gtk2::TreeView, et c'est la panique  :(  
Je n'ai pas trouvé le moyen d'accéder à ces élément.
 
Après plusieurs recherches infructueuses sur google, http://gtk2-perl.sourceforge.net/doc/pod/index.html et http://www.gtk-fr.org/, je n'ai rien trouvé. Peut-être ai-je mal cherché  :pfff:  
 
Si quelqu'un pouvait m'expliquer (ou me donner un lien avec une explication ou un exemple) comment récupérer les éléments contenus dans un Gtk2::TreeView, je lui en serai reconnaissant  :)


Message édité par Elghinn42 le 22-02-2005 à 16:26:41

---------------
"le logiciel libre est une question de liberté, pas de prix" - Richard M. Stallman - (http://www.gnu.org/philosophy/why-free.fr.html)
Reply

Marsh Posté le 20-02-2005 à 20:20:52   

Reply

Marsh Posté le 20-02-2005 à 20:35:17    

cela fait très longtemps que je n'ai pas fait de GTK (mais jamais avec Perl :p) mais si tu veux visionner une "variable" tu peux utiliser des Data::Dump ou Data::Dumper pour voir la tronche de ta variable

Reply

Marsh Posté le 20-02-2005 à 22:32:02    

Citation :

cela fait très longtemps que je n'ai pas fait de GTK (mais jamais avec Perl :p)


Je ne pense pas que le fait que je fasse du perl change grand chose à mon problème. J'aurai eu le même si j'avais fait du C ou du python je pense.
 

Citation :

mais si tu veux visionner une "variable" tu peux utiliser des Data::Dump ou Data::Dumper pour voir la tronche de ta variable


Bah, je me suis déjà servi plusieurs fois de Dumper, et c'est vrai que c'est bien pratique, surtout quand on se lance dans des structures complexes (genre table de hachage de tableau de tableau de table de hachage ^^).
 
Seulement, pour ce coup-ci, elle ne m'a pas été de grande aide :/
Voici ce qu'elle me retourne:
$VAR1 = bless( {}, 'Gtk2::TreeView' );
 
Merci quand même  :)


---------------
"le logiciel libre est une question de liberté, pas de prix" - Richard M. Stallman - (http://www.gnu.org/philosophy/why-free.fr.html)
Reply

Marsh Posté le 22-02-2005 à 16:25:04    

Bon, finalement, j'ai fini par trouver tout seul  :o  
 
Pour celà, je me suis aidé de la page http://scentric.net/tutorial/sec-t [...] ieval.html
 
Je donne la solution pour le cas où ca intêresserai quelqu'un.
 
Pour résumer, il faut faire quelque chose du genre: $treeview->get_model()->foreach(\&foreach_func, undef);
 
et dans la fonction foreach_func, on récupère les arguments:
  my ($model,$path,$iter,$user_data) = @_;
 
ensuite, pour récupérer la valeur de la premiere colonne de la ligne courante, il faut faire:  my ($valeur) = $model->get($iter,0);
 
Pour récupèrer les valeurs des colonnes 2 et 4 (à condition d'en avoir assez ;):
  my ($valeur2,$valeur4) = $model->get($iter,2,4);
 
Et pour finir, si l'ont veut récupérer le numéro de la ligne courante sous forme de chaine de caractère:
  my $tree_path_str = $path->to_string();
 
Si je n'ai pas été assez clair, n'hésitez pas à me demander ce que vous n'avez pas compris.
 
Sur ce, je retourne bosser sur mon projet  :hello:


---------------
"le logiciel libre est une question de liberté, pas de prix" - Richard M. Stallman - (http://www.gnu.org/philosophy/why-free.fr.html)
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed