je viens de créer une interface graphique pour une simulation précédemment réalisé en C. Tout marche bien sauf que je vois pas trop comment lancer mon ancienne fonction. Je l'ai incluse dans une librairie que j'ai crée et elle est du type
int bleu(double A, double B, int C,int D,int E)
mon idée était qu'une fois tous les paramétres rentrés grace à l'apllication graphique on appuie sur Ok et le programme en C fait ses calculs dans son coin avant que le programme se ferme.
mais mon problème vient de ma définition de fonction dans GTK, pour le moment j'ai ça
gint traitement(GtkWidget *OK,GtkWidget *Fenetre) /*la fonction qui se lance quand on clique sur le bouton OK*/
{
gtk_widget_hide_all(Fenetre); /* les fenetres sont cachés pour éviter qu'on ne puisse réappuyer sur les boutons */
bleu(A, B, C, D, E); /*le programme que je veux lancer*/
return 0;
}
int main(int argc, char *argv[])
{
.... /*ce qui se passe quand j'appuie sur le bouton*/
gtk_signal_connect(GTK_OBJECT(OK), "clicked", (GtkSignalFunc) traitement, Fenetre);
....
}
Mais ou diable est ce que je dis à traitement de récupérer les valeurs de A, B.... j'ai essayé de le faire comme en C classique
gint traitement(GtkWidget *OK,GtkWidget *Fenetre,double A, double B, int C,int D,int E)
et
gtk_signal_connect(GTK_OBJECT(OK), "clicked", (GtkSignalFunc) traitement(A,B,C,D,E), Fenetre);
mais c'est super moche et ca marche pas du tout d'ailleurs. (Bon je m'en doutais un peu, ça marche rarement quand j'essaye de trouver la syntaxe sur un langage nouveau) donc si vous pouviez me montrer la lumiére ca m'aiderait vachtement à finir tout ça ce programme.