-_-
Je sais pas pourquoi, mais j'ai remarqué que je trouvais toujours la solution à un problème juste après avoir posé la question sur un forum.
Enfin bref.
Au gré des vents, je suis finalement tombé sur l'aide de Libglade ( 1 ou 2 ? ) qui est relativement bien faite et sur un espèce de micro-tutorial. Et on n'a en fait pas particulièrement besoin de l'aide de Glade une fois qu'on a compris comment créer une fenêtre.
Aide de Libglade : http://developer.gnome.org/doc/API [...] ade-basics
Micro-tutorial : http://www.jamesh.id.au/software/libglade/
Je me suis rendu compte que les fichiers .c et .h sont en fait relativement inutiles, ça fait juste un peu plus de boulot pour rajouter les différentes fonctions callbacks à la main.
Donc en gros, et pour ceux qui se poseraient des questions ( corrigez moi si je me trompe ) :
Il suffit de créer le .glade à partir de Glade3, rédiger son ptit main en initialisant Glade :
Code :
- int main(int argc, char **argv)
- {
- gtk_init(&argc, &argv);
- glade_init();
- xml = glade_xml_new(FILENAME,NULL,NULL);
- glade_xml_signal_autoconnect(xml);
- gtk_main();
- return 0;
- }
|
Ensuite on traite les différents callbacks un par un
Code :
- void on_button1_clicked(GtkWidget *widget,gpointer data)
- {
- /*Blabla de traitement*/
- }
|
Dernière chose, j'ai remarqué que mon programme refusait de se lancer avec cette erreur :
Code :
- (test:18751): libglade-WARNING **: could not find signal handler 'on_button1_clicked'.
|
La solution étant de compiler en rajoutant l'option "-rdynamic".
Apparement il s'agirait d'un problème de déclaration de la fonction callback, donc si quelqu'un sait comment régler ce problème sans bidouiller avec le -rdynamic, je suis preneur.
Message édité par Sebxoii le 22-01-2007 à 15:58:07