Bonjour, voici mon probléme
je cré une ComboBox simple avec quelques elements que j'insére avec un bouton dans une table
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 /*** Creation de GtkComboBox ***/ mainWindow->pComboBox = gtk_combo_box_new_text(); /* Ajout de GtkComboBox */ gtk_table_attach_defaults(GTK_TABLE(mainWindow->tablePrincipale),mainWindow->pComboBox,21, 29, 4, 5); gtk_table_attach(GTK_TABLE(mainWindow->tablePrincipale),mainWindow->personnageButton[0],21, 29, 5, 6,GTK_EXPAND, GTK_EXPAND | GTK_FILL,0, 0); /* Ajout des elements */ gtk_combo_box_append_text(GTK_COMBO_BOX(mainWindow->pComboBox), "Selection1"); gtk_combo_box_append_text(GTK_COMBO_BOX(mainWindow->pComboBox), "Selection2"); gtk_combo_box_append_text(GTK_COMBO_BOX(mainWindow->pComboBox), "Selection3");
J'ai créé une fonction de callback qui fait que quand on clic sur le bouton, un message diferent aparait dans al console en fonction de l'element "actif" de la GTK ComboBox (je sais pas si je suis clair)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 //fonction callback g_signal_connect (G_OBJECT (mainWindow->personnageButton[0]), "clicked", G_CALLBACK (FonctionBestiaireComboBox), mainWindow->pComboBox);
et voici ma fonction appelé par le bouton
La comboBox et le bouton se trouve dans une structure "Window"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 static void FonctionBestiaireComboBox(GtkWidget * widget, gpointer data) { Window* mainWindow; mainWindow = ( Window*) data; gint index = -1; index = gtk_combo_box_get_active (GTK_COMBO_BOX (mainWindow->pComboBox)); switch (index) { case 0: printf("selection1!"); break; case 1: printf("selection2!"); break; default: printf("Je n'ai aucune phrase de prete pour cette selection "); break; (void) widget; } }
Le code fonctionne, aucun warning, aucune erreur pourtant quand je clic sur le bouton, c'est toujours selection1 qui s'affiche dans la console, peut importe l'element séléctioné de la combobox
selection1
même si j'active par defaut la selection2
Code : Sélectionner tout - Visualiser dans une fenêtre à part gtk_combo_box_set_active (GTK_COMBO_BOX (mainWindow->pComboBox), 1);
Tout ça m'améne à penser que le probléme se situe au niveau de la fonction static void FonctionBestiaireComboBox ou à ma fonction callback voila, je peut fournir tout le code si vous voulez, je voulais aps surcharger le post
Partager