IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

Intégration du fichier XML généré par Glade 3.4.5 ( interface GTK+)


Sujet :

C

  1. #1
    Inactif
    Inscrit en
    Juin 2008
    Messages
    304
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 304
    Points : 96
    Points
    96
    Par défaut Intégration du fichier XML généré par Glade 3.4.5 ( interface GTK+)
    Bonjour,

    voilà j'ai fait un petit programme en C et je veux utiliser le fichier généré par Glade 3 mais il le génèré du XML,
    je me demande si c'est pas possible de le généré un fichier « .c » pour l'utiliser directement.


    Bon si l'y a un moyen d'utiliser le fichier XML en langage C sa m'intéresse


    Merci d'avance.

  2. #2
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 374
    Points : 23 631
    Points
    23 631
    Par défaut
    Extrait de la page d'accueil du projet Glade :

    This version of Glade (Glade-3) is a complete rewrite of the original Glade codebase.

    One of the main differences from glade-2 is that C code generation has been removed from glade-3: this has been done on purpose, since using generated code is deprecated; the preferred way to use glade files is with libglade (if code generation is needed, this can be provided as another tool or plugin, code generation is simply not a part of the glade-3 project).

    C'est typique de Gnome, ça (et pourtant, ça reste ma plateforme de travail et j'aime encore GTK). Je casse tout d'une version à l'autre, je fais disparaître les outils qui commençaient tout juste à être stables et je les remplace en prod des trucs révolutionnaires mais pas finis, etc. Tout ce que l'on reprochait à Microsoft en son temps (y compris la base de registre).

    En l'occurence, donc, il n'y a plus de code auto-généré : à la place, un gros fichier XML directement exploité par la bibliothèque libglade. La possibilité de générer le code correspondant est confiée à un hypothétique plug-in qui, à mon avis, reste à écrire, et ne fera de toute façon pas partie du projet glade officiel.

    C'est pas plus mal en soi : le code généré par l'IDE et/ou le projet, c'est tout-à-fait comparable à une bibliothèque statique. Avoir à la place un fichier XML qui décrit l'interface de manière sémantique n'a que des avantages : elle peut être modifiée sans avoir besoin de recompiler le programme, sans même être programmeur, et peut continuer à fonctionner à condition de respecter les signaux. Elle peut en outre être interprétée et/ou validée par un programme externe.

    C'est génial aussi pour tout ce qui concerne l'internationalisation. Beaucoup d'interfaces ne sont absolument pas faites pour être traduites dans d'autres langues, par exemple.

    Ceci dit, un générateur, c'est quand même bien pratique pour avoir des modèles de code utilisant une API déjà bien compliquée en elle-même. Heureusement, il reste encore GLADE-2 le temps qu'un plug-in soit développé pour la version 3. Sinon, tu prends ton courage à deux mains (et tes exemples de code précédents) et tu te tapes la documention de l'API. Là, au moins, tu seras sûr de faire des choses optimisées pour ton programme et tu ne seras plus dépendant d'un IDE.

  3. #3
    Inactif
    Inscrit en
    Juin 2008
    Messages
    304
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 304
    Points : 96
    Points
    96
    Par défaut
    Bonjour,

    J’ai fait la convection du fichier .glade en .ui avec la commande :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        gtk-builder-convert file.glade file.ui
    Je voudrai bien savoir ce que fait cette convection !?

    Mais sur tout comment faire pour voire mon interface en action dans un langage t’elle C ou c# ou java

    Je suppose que c’est la même méthode pour tous sinon je ne vois pas l’utilité de cette pratique.

    Merci d’avance pour les répance.

  4. #4
    Membre habitué Avatar de doderic
    Homme Profil pro
    Inscrit en
    Mai 2004
    Messages
    215
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 215
    Points : 165
    Points
    165
    Par défaut
    Citation Envoyé par bilred Voir le message
    Bonjour,

    J’ai fait la convection du fichier .glade en .ui avec la commande :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        gtk-builder-convert file.glade file.ui
    Je voudrai bien savoir ce que fait cette convection !?

    Mais sur tout comment faire pour voire mon interface en action dans un langage t’elle C ou c# ou java

    Je suppose que c’est la même méthode pour tous sinon je ne vois pas l’utilité de cette pratique.

    Merci d’avance pour les répance.

    SAlut! D'abord, ce n'est pas le bon forum pour ta question. tu aurais dû la poser sur le forum GTK+. La réponse à ta question se trouve dans ce tutoriel:

    http://franckh.developpez.com/tutoriels/gtk/gtkbuilder/

    A partir de GTK 2.12, une lib (GtkBuilder) est intégré par défaut à gtk pour gérer le fichier .ui que tu as généré avec la ligne de commande que tu as saisi avec gtk-builder-convert. Cette lib te fournit les fonctions dont tu as besoin pour lire le fichier XML et t'afficher l'interface de ton programme. Lis le tuto, tu comprendras mieux.

    Mais si tu tiens à ce que Glade te génère diretement du code C alors tu devras te tourner vers Glade2 parce que la version 3 ne le fait pas.


    Je voudrai bien savoir ce que fait cette convection !?
    cette conversion ré-écrit le contenu du fichier .glade dans un autre fichier en changeant certaines balises en d'autres que comprend la lib gtkbuilder. Tu pourras utiliser aussi directement le .glade si tu le désires mais là tu devras utiliser les fonctions de la libglade (aussi intégré par déaut à gtk à partir du 2.12) et non plus de gtkbuilder.

    Bonne suite à toi

  5. #5
    Inactif
    Inscrit en
    Juin 2008
    Messages
    304
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 304
    Points : 96
    Points
    96
    Par défaut
    Merci

    Je vais voire sa de plus prés

Discussions similaires

  1. Réponses: 4
    Dernier message: 23/03/2009, 21h10
  2. Intégration du fichier XML génère par Glade 3.4.5 ( interface GTK+)
    Par bilred dans le forum Développement 2D, 3D et Jeux
    Réponses: 0
    Dernier message: 22/03/2009, 09h53
  3. Réponses: 0
    Dernier message: 21/03/2009, 14h41
  4. [Castor] Echappement des caractères <> dans un fichier XML généré par Castor XML
    Par mbinte dans le forum Format d'échange (XML, JSON...)
    Réponses: 2
    Dernier message: 22/10/2008, 14h33
  5. [JDOM] Fichier xml généré par jdom
    Par vero59 dans le forum Format d'échange (XML, JSON...)
    Réponses: 2
    Dernier message: 05/08/2005, 16h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo