• [^] # Re: XAML et l'avenir de GNOME

    Posté par . En réponse à la dépêche XAML et l'avenir de GNOME. Évalué à 2.

    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)