Bonjour,
je developpe une application en C avec GTK. Je créé une liste avec des checkbox et je voudrais savoir comment faire pour récupérer uniquement les lignes qui sont cochées ?

voici une partie de mon code :
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
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
 
  // la GtkListStore liste_store (le modèle) pour les opérations au crédit contient le nombre et les types des colonnes
    liste_store = gtk_list_store_new (N_COLUMNS, // nombre total de colonnes
                                          G_TYPE_BOOLEAN, // case a cocher
                                          G_TYPE_STRING, // titre 
                                          G_TYPE_STRING); // url 
 
    // élement pointant vers la list_store
    appli->list_store = (void *) liste_store;
 
    // création du GtkTreeView liste_view_débit (la vue)
    liste_view = gtk_tree_view_new ();
    // élement pointant vers la list_view du débit
    gtk_tree_view_set_model (GTK_TREE_VIEW (appli->list_view), GTK_TREE_MODEL (appli->list_store));
    gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (appli->list_view), TRUE);
    gtk_tree_view_set_headers_clickable (GTK_TREE_VIEW (appli->list_view), TRUE);
    appli->list_view = liste_view;
    //g_signal_connect (G_OBJECT (appli->tree_view), "row-activated", G_CALLBACK (selection_liste), appli);
 
    /* Creation de la première colonne */
    renderer = gtk_cell_renderer_toggle_new();		     
    colonne = gtk_tree_view_column_new_with_attributes("Check",renderer,"active",TOGGLE_COLONNE,NULL);
    //g_object_set(renderer,"activatable", TRUE,NULL);
    gtk_tree_view_column_set_sizing (colonne, GTK_TREE_VIEW_COLUMN_AUTOSIZE);
    g_signal_connect(G_OBJECT(renderer), "toggled", G_CALLBACK(OnToggle), appli);
    gtk_tree_view_append_column(GTK_TREE_VIEW(liste_view), colonne);/* Ajout de la colonne à la vue */
 
    // création du renderer (cellule de texte)
    renderer = gtk_cell_renderer_text_new ();
 
    colonne_tgp = gtk_tree_view_column_new_with_attributes ("Titre", renderer, "text", NAME_COLONNE, NULL);
    gtk_tree_view_column_set_sizing (colonne, GTK_TREE_VIEW_COLUMN_AUTOSIZE);
    gtk_tree_view_append_column (GTK_TREE_VIEW (liste_view), colonne);/* Ajout de la colonne à la vue */
 
    colonne = gtk_tree_view_column_new_with_attributes ("Url", renderer, "text", URL_COLONNE, NULL);
    gtk_tree_view_column_set_sizing (colonne, GTK_TREE_VIEW_COLUMN_AUTOSIZE);
    gtk_tree_view_append_column (GTK_TREE_VIEW (liste_view), colonne);/* Ajout de la colonne à la vue */
Je stocke les éléments graphique principaux dans une structure, pour pouvoir la passer en argument à mes callbacks.

Pour résumer, je voudrais juste savoir comment faire une fonction "int *recupe_ligne_coche(appli)" qui me renvoi un tableau avec seulement les lignes cochées ?

Merci d'avance