Fonction callback avec arguments ?
Bonjour,
J'aimerais savoir comment passer plusieurs arguments � une fonction callback (servant par exemple au clic sur un bouton).
J'ai essay� �a :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
void clic_bouton(GtkWidget* pBouton,gpointer date,int test)
{
printf("%d\n",test);
}
/*....*/
int main(int argc,char *argv[])
{
/*....*/
g_signal_connect(G_OBJECT(pBouton),"clicked",G_CALLBACK(clic_bouton),NULL,5);
return 0;
} |
Mais c'est pas �a.. :(
Merci pour votre aide
Sorry
Edit : pour �tre plus pr�cis, j'aimerais que lors du clic sur le bouton, le contenu de deux zones de saisie soit r�cuperer..il faudrait donc que ma fonction clic_bouton re�oive les 2 Widget zone de saisie en param�tres.. :?
Ajout de la r�daction :
Comment passer plusieurs param�tres � une fonction callback ?
Re: [GTK] Fonction callback avec arguments ?
Citation:
Envoy� par sorry60
J'aimerais savoir comment passer plusieurs arguments � une fonction callback (servant par exemple au clic sur un bouton).
Je pense qu'on a d�j� expliqu� �a.
En g�n�ral, une fonction callback est munie d'un param�tre 'utilisateur' de type void *. C'est donc une adresse 'anonyme'. celle-ci est transmise, soit au moment de l'appel de la fonction principale, soit lors de la configuration de l'objet.
Il suffit que l'adresse pass�e soit celle d'une structure, pour 'passer' autant de param�tres que l'on veut...
Code:
1 2 3 4
|
T data;
f (callback, &data); |
avec
Code:
1 2 3 4 5
|
callback(void *p_user)
{
T *p_data = p_user;
} |
Ca peut �tre aussi l'adresse de d�but d'une liste chain�e, d'un tableau...