Je suis pas sûr de comprendre ?
Je ne vois pas trop ce que tu ne comprends pas ?
libglade (librairie C) utilise libxml pour parser le fichier XML de description de l'interface. Elle construit les widgets au fur et à mesure de leur lecture. libglade est aussi capable de connecter directement les "evenements" sur les widgets aux fonctions callbacks de ton code (tu donnes la fonction à connecter dans Glade, lors du design de ton interface), et cela toujours de manière dynamique. Je ne peux pas m'empêcher de vous montrer ça:
int gui_load( const char *fname )
{
xml = glade_xml_new( fname, NULL, NULL );
if ( ! xml ) {
UTL_ERROR_1( "cannot load %s", fname );
return 1;
}
glade_xml_signal_autoconnect( xml );
return 0;
}
Ce petit bout de code charge tout le fichier glade, l'analyse me construit l'interface, m'affiche la fenêtre principale (par ce que ce widget a été déclaré "visible" dans Glade") et me réalise, automatiquement, la connexion entre les signaux et les fonctions... En bref, je n'ai que les fonctions callbacks à écrire (outre le corps du programme)
Au passage, le coté dynamique de Glade (pour la connexion) est possible grace à l'utilisation de 'dlsym' (man dlsym)
[^] # Re: XAML et l'avenir de GNOME
Posté par dcp . En réponse à la dépêche XAML et l'avenir de GNOME. Évalué à 2.
Je ne vois pas trop ce que tu ne comprends pas ?
libglade (librairie C) utilise libxml pour parser le fichier XML de description de l'interface. Elle construit les widgets au fur et à mesure de leur lecture. libglade est aussi capable de connecter directement les "evenements" sur les widgets aux fonctions callbacks de ton code (tu donnes la fonction à connecter dans Glade, lors du design de ton interface), et cela toujours de manière dynamique. Je ne peux pas m'empêcher de vous montrer ça:
int gui_load( const char *fname )
{
xml = glade_xml_new( fname, NULL, NULL );
if ( ! xml ) {
UTL_ERROR_1( "cannot load %s", fname );
return 1;
}
glade_xml_signal_autoconnect( xml );
return 0;
}
Ce petit bout de code charge tout le fichier glade, l'analyse me construit l'interface, m'affiche la fenêtre principale (par ce que ce widget a été déclaré "visible" dans Glade") et me réalise, automatiquement, la connexion entre les signaux et les fonctions... En bref, je n'ai que les fonctions callbacks à écrire (outre le corps du programme)
Au passage, le coté dynamique de Glade (pour la connexion) est possible grace à l'utilisation de 'dlsym' (man dlsym)