Bonjour,
et oui, j'ai encore un petit problème ! Je n'arrive pas à récupérer un pointeur qui fait parti d'un tableau de pointeurs après l'avoir passé en paramètre dans une fonction g_signal_connect. Pour être plus clair, voici le tableau que je déclare dans une de mes fonctions :
et voici ma fonction g_signal_connect :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 GtkWidget* entry_musician_fname; GtkWidget* entry_musician_name; GtkWidget* entry_musician_style; ... GtkWidget* pointers[9] = {entry_musician_fname, entry_musician_name, entry_musician_style, entry_album_title, entry_album_producer, entry_album_date, entry_album_owned, entry_continent, entry_country};
J'essaye de récupérer mes pointeurs avec :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 g_signal_connect(G_OBJECT(button_init), "clicked", G_CALLBACK(search_init), pointers);
Ceci ne marche pas car j'ai le message : Gtk-CRITICAL **: gtk_editable_delete_selection: assertion `GTK_IS_EDITABLE (editable)' failed.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 static void search_init(GtkWidget *widget, gpointer pointers) { gtk_editable_delete_selection(((GtkEditable **)pointers)[0]); }
Donc je pense que je me suis trompé dans la façon de récupérer les pointeurs. Est-ce que quelqu'un pourrait me donner un coup de main ? D'autre part, est-ce qu'il serait possible de me dire si cette technique de passage de pointeurs par tableau (qui reste relativement propre) est efficace ou s'il y a mieux (puisque, à ma connaissance, il n'y a pas de fonction de recherche d'un widget parmi un widget de niveau plus élevé).
Merci.
Partager