Bonjour à tous !!!!!
J'aimerais, comme le dit le titre, savoir comment on peut récuperer la ligne d'un GtkTreeView. J'ai cherché partout mais je ne trouve rien...
Mon cas est que j'ai un TreeView qui affiche la liste des chansons que la personne a choisi. Cette liste est stocké dans une GSlist. J'ai un bouton "Remove" et celle ci doit enlever la chanson sélectionné du GtkTreeView et de la GSlist.
Voila j'espere que vous pouvez m'aider ^^. Voici mon code pour ceux qui en aurait besoin :
Le GtkTreeView :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 /* Configuration des variables de GtkTreeView */ TreeStore = gtk_tree_store_new(1, G_TYPE_STRING); TreeView = gtk_tree_view_new_with_model(GTK_TREE_MODEL(TreeStore)); gtk_tree_view_set_reorderable (GTK_TREE_VIEW(TreeView), TRUE); CellRenderer = gtk_cell_renderer_text_new(); Column = gtk_tree_view_column_new_with_attributes("Nom de la musique", CellRenderer, "text", 0, NULL); gtk_tree_view_append_column(GTK_TREE_VIEW(TreeView), Column); Box_tree_1 = gtk_vbox_new(FALSE, 0); Box_tree_2 = gtk_hbox_new(FALSE, 0); Bouton_1 = gtk_button_new_from_stock(GTK_STOCK_ADD); Bouton_2 = gtk_button_new_from_stock(GTK_STOCK_REMOVE); g_signal_connect(G_OBJECT(Bouton_2), "clicked", G_CALLBACK(Supprime_musique), TreeView); ScrollBarre = gtk_scrolled_window_new(NULL, NULL); gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(ScrollBarre), TreeView); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(ScrollBarre), GTK_POLICY_ALWAYS, GTK_POLICY_ALWAYS);
Son remplissage (il lit les information dans un fichier. Lorsqu'il ferme la fenetre du GtkTreeView, le fichier se rmeplira avec la GSList) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 /* Remplissage du GtkTreeView */ FILE *Fichier; char Message[2000] = ""; Fichier = fopen(Path_Musique, "r"); if(Fichier != NULL) { while(fgets(Message, 2000, Fichier) != NULL) { Liste_musique = g_list_append(Liste_musique, Message); gtk_tree_store_append(TreeStore, &Iter_tree, NULL); gtk_tree_store_set(TreeStore, &Iter_tree, 0, g_strdup_printf("%s", g_locale_to_utf8(Message, -1, NULL, NULL, NULL)), -1); } fclose(Fichier); }
Et la fonction Supprime_musique (à partir de cette fonction je ne sais plus quoi faire) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 void Supprime_musique(GtkWidget *widget, gpointer data) { /* Creation des variables */ GtkTreeModel *Model; GtkTreeIter Iter; GtkTreePath *Path; int id; /* Caracterisation des variables */ Path = gtk_tree_path_new(); Model = gtk_tree_view_get_model (data); }
Merci d'avance de votre aide.
Ou bien vous pouvez peut-être me donner d'autres idées pour permettre la personne de choisir ses chansons qui s'affiche. Avoir la possiblité de les supprimer et d'en ajouter![]()
Partager