Bonjour
Mon interface est surtout généré par glade où les objet ont des id. Voici un extrait d'un fichier glade avec l'id "effacer_1" :
Comment faire pour récupérer cet id lors d'un appel de fonction callback (fonction efface_mag dans le cas précédent) ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 <object class="GtkButton" id="effacer_1"> <signal name="clicked" handler="efface_mag" swapped="no"/>
Dans le cas de l'exemple précédent, je souhaite savoir quel est bouton "effacer" qui appelle. J'ai fait comme ça :
Mais, ça ne me plait pas. Je préférerais avoir une fonction qui trouve son idée.
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 void efface_mag (GtkWidget * appel,FenetrePerso * _perso) { unsigned short niv=10,i; char _nom[32]; GtkWidget * wid_util, * wid; for(i=1;i<=9;i++) { sprintf(_nom,"effacer_%hu",i); wid_util=GTK_WIDGET(gtk_builder_get_object(_perso->modif->builder,_nom)); if (wid_util==appel) { niv=i-1; i=10; } else { /* pas le bon niveau */ } } if (niv!=10)
Édit : je regarde le programme proposé par Le gaulois ici pour les styles ( http://www.developpez.net/forums/d15...estion-styles/ ), j'ai l'impression qu'il évite le problème en rajoutant une donnée au widget avec "g_object_set_data" .
Partager