Salut à tous
Bon voilà, je suis débutant en GTK et suite au click sur un bouton, j'ai besoin de faire un test sur le contenu d'un "text entry", afficher un message_dialog s'il y a erreur, si ça se passe correctement, je récupère le contenu d'un "file chooser" et je continue mon traitement.
Le problème qui se présente, c'est qu'une fois j'ai fait:
J'arrive à récupérer le texte de l'entry:
Code : Sélectionner tout - Visualiser dans une fenêtre à part g_signal_connect(G_OBJECT (app.pButton), "clicked", G_CALLBACK (onClick), app.pEntry[1]);
Mais après pour récupérer ce qui se trouve dans le "file_chooser", je peux même pas y accéder puisque g_connect ne reçoit qu'un pointeur à la fois. J'ai besoin de faire passer deux pointeurs sur deux widgets suite à l'émission d'un même signal d'un même bouton.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 void onClick(GtkWidget *pBtn, gpointer data) { GtkEntry *pEntry = data; gchar *sText =gtk_entry_get_text(pEntry); GtkWidget *pWindow = gtk_widget_get_toplevel(GTK_WIDGET(data)); // ici j'appelle le gtk_message_dialog }
Est ce que cette manière est correcte à utiliser??
Ou est ce qu'il y a une bonne manière pour y arriver ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 g_signal_connect(G_OBJECT (app.pButton), "clicked", G_CALLBACK (onClick1), app.pEntry[1]); g_signal_connect(G_OBJECT (app.pButton), "clicked", G_CALLBACK (onClick2), app.fileChooser);
A savoir que j'utilise une structure pour rassembler mes widgets:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 struct _fenetre{ GtkWidget *pWindow; GtkWidget *pVBox; GtkWidget *pVtree; GtkWidget *pHBox[3]; GtkWidget *pButton; GtkWidget *pEntry[4]; GtkWidget *pLabel[4]; GtkWidget *fileChooser; };
Merci d'avance pour toutes les réponses
Partager