Bonjour,
Je debute sous GTK+ et je ne comprends pas vraiment l'utilisation de la fonction g_signal_connect.
En effet, j'ai cree un bouton et j'appelle
ou pInput est un tableau de GtkEntry. En fait j'aimerai charger un fichier texte et mettre chaque valeur dans chaque case de mon tableau.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 g_signal_connect (G_OBJECT (p_button), "clicked", G_CALLBACK(cb_open), pInput);
Dans cb_open j'ai :
ou load_file_gtk prend le nom du fichier, mon type grille et mon tableau de GtkEntry.
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 void cb_open (GtkWidget *p_widget, Grid g, gpointer user_data) { GtkWidget *p_dialog = NULL; p_dialog = gtk_file_chooser_dialog_new ("Ouvrir un fichier", NULL, GTK_FILE_CHOOSER_ACTION_OPEN, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT, NULL); if (gtk_dialog_run (GTK_DIALOG (p_dialog)) == GTK_RESPONSE_ACCEPT) { gchar *file_name = NULL; file_name = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (p_dialog)); load_file_gtk(file_name,&g,user_data); g_free (file_name), file_name = NULL; } gtk_widget_destroy (p_dialog); /* Parametre inutilise */ (void)p_widget; }
Ou est-ce que je fais une erreur ? Je n'ai pas vraiment compris le dernier parametre de la fonction g_signal_connect et comment les parametres etaient passes au handler cb_open...
Merci pour votre aide !
Partager