Bonjour

Ça fait un moment que je me pose la question, que j'ai des doutes, mais depuis que j'ai intégré l'astuce proposée ici : http://www.developpez.net/forums/d13...blant-tableur/ , il n'y a plus de doute.

Je ne comprends pas les paramètres des fonctions callbacks.
Pourquoi parfois, on de telles différences ? Voici trois exemples de propototype :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
void bord (GtkWidget *ChildWidget, cairo_t *cr);
void GPL (GtkMenuItem *menuitem, struct widgets * _widgets);
void sphere_nouv(GtkWidget *wid, gpointer param);
void print_intelligence(GtkRadioAction *action, GtkRadioAction *current, gpointer param);
Je veux biebn que le premier paramètre soit le paramètre de l'item qu ia généré l'appel. J'aurais dit que le dernier était celui défini par l"utilisateur
En C avec une de ces deux lignes :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
gtk_action_group_add_radio_actions (p_actionGroup, i_radio_entries ,  G_N_ELEMENTS (i_radio_entries), 2, (GCallback)print_intelligence, (gpointer) param);
gtk_builder_connect_signals(widgets.builder, &widgets);
Ou dans le fichier glade avec :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
<signal name="activate" handler="GPL" swapped="no"/>
Le problème, c'est que ce n'est pas le cas avec le premier exemple et que parfois, on a trois paramètres... D'où viennent ces différences ?