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 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
| enum {
TEXT_COLUMN,
N_COLUMN
};
void *liste_fichiers(GtkWidget *table)
{
/// Variables
GDir *repertoire;
GtkListStore *liste;
GtkWidget *vue;
GtkTreeViewColumn *colonne;
GtkCellRenderer *type_colonne;
GtkWidget *barre_defil;
const gchar *nom=NULL;
/// Instructions
liste = gtk_list_store_new(1, G_TYPE_STRING);
repertoire = g_dir_open(Selection_repertoire(),0,NULL);
if(repertoire)
{
while (nom = g_dir_read_name(repertoire))
{
const gchar * nom2 = g_malloc (strlen (nom) + 1);
if (nom2 != NULL)
{
GtkTreeIter iteration;
strcpy (nom2, nom);
gtk_list_store_append(liste,&iteration);
gtk_list_store_set(liste,&iteration,TEXT_COLUMN, nom2,-1);
}
}
g_free(nom);
g_dir_close(repertoire);
vue = gtk_tree_view_new_with_model(GTK_TREE_MODEL(liste));
/// Creation de la colonne
type_colonne = gtk_cell_renderer_text_new();
colonne = gtk_tree_view_column_new_with_attributes("Chansons",type_colonne,"text",TEXT_COLUMN,NULL);
/// Ajout de la colonne à la vue
gtk_tree_view_append_column(GTK_TREE_VIEW(vue),colonne);
/// Ajout de la vue a la fenetre
barre_defil = gtk_scrolled_window_new(NULL, NULL);
gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(barre_defil),GTK_POLICY_AUTOMATIC,GTK_POLICY_AUTOMATIC);
gtk_container_add(GTK_CONTAINER(barre_defil), vue);
gtk_table_attach_defaults(GTK_TABLE(table), barre_defil, 20,35,2,22);
}
} // fin de la fonction liste_fichiers |
Partager