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

GTK+ avec C & C++ Discussion :

Type de donnée d'un arbre


Sujet :

GTK+ avec C & C++

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 87
    Par défaut Type de donnée d'un arbre
    Bonjour,

    je débute et j'ai un petit problème,
    je crée un label et j'utilise ensuite les balises de la librairie pango, quand je veux afficher ce label dans un container, pas de problèmes mais je voudrais que le type de donnée d'une colonne d'un arbre soit un label.

    En faite pouvoir faire quelque chose du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    GtkWidget *pLabel;
    ...
    ...
    pTreeStore = gtk_tree_store_new(N_COLUMN, GDK_TYPE_PIXBUF, G_TYPE_STRING);
     
    pLabel = create_label("<span size=\"12\">ddd</span>");
    gtk_tree_store_set(pTreeStore, &pIter,BMP_COLUMN, pPixBufA,TEXT_COLUMN, pLabel,-1);
    Merci

  2. #2
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 87
    Par défaut
    Merci

    ca n'a résolu qu'une partie de mon problème,
    En utilisant "markup" comme attribut de la colonne,
    j'arrive bien à utiliser les balises pango pour la ligne père de l'arbre mais pas pour ses enfants, les balises n'ont aucuns effets.

    par contre avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    PangoFontDescription *pfd = pango_font_description_from_string ("mono");
    pango_font_description_set_size (pfd, 10*PANGO_SCALE);
    gtk_widget_modify_font (pTreeView, pfd);
    ca marche pour toutes les lignes, père et enfants.

    Maintenant j'aimerai changer le style du titre des colonnes.

    Comment faire ceci ?

  4. #4
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Par défaut
    Citation Envoyé par flo_k Voir le message
    ca n'a résolu qu'une partie de mon problème,
    En utilisant "markup" comme attribut de la colonne,
    j'arrive bien à utiliser les balises pango pour la ligne père de l'arbre mais pas pour ses enfants, les balises n'ont aucuns effets.
    Chez moi cela fonctionne parfaitement :
    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    #include <gtk/gtk.h>
     
    int main (int argc, char** argv)
    {
      GtkWidget* window = NULL;
     
      gtk_init (&argc, &argv);
      window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
      g_signal_connect (G_OBJECT (window), "destroy", gtk_main_quit, NULL);
      {
        GtkWidget* tree_view;
        GtkTreeStore* tree_store = NULL;
        GtkCellRenderer *renderer = NULL;
        GtkTreeViewColumn* column = NULL;
     
        tree_store = gtk_tree_store_new (1, G_TYPE_STRING);
        tree_view = gtk_tree_view_new_with_model (GTK_TREE_MODEL (tree_store));
        renderer = gtk_cell_renderer_text_new ();
        column = gtk_tree_view_column_new_with_attributes ("Title", renderer, "markup", 0, NULL);
        gtk_tree_view_append_column (GTK_TREE_VIEW (tree_view), column);
     
        {
          GtkTreeIter iter;
          GtkTreeIter parent;
     
          gtk_tree_store_append (tree_store, &parent, NULL);
          gtk_tree_store_set (tree_store, &parent, 0, "<span size=\"12\">parent</span>", -1);
     
          gtk_tree_store_append (tree_store, &iter, &parent);
          gtk_tree_store_set (tree_store, &iter, 0, "<span size=\"12\">child</span>", -1);
        }
     
        gtk_container_add (GTK_CONTAINER (window), tree_view);
      }
      gtk_widget_show_all (window);
      gtk_main ();
      return 0;
    }
    Citation Envoyé par flo_k Voir le message
    ca marche pour toutes les lignes, père et enfants.
    Normal tu modifie le style de police pour l'ensemble du widget.

    Citation Envoyé par flo_k Voir le message
    Maintenant j'aimerai changer le style du titre des colonnes.
    Je n'ai pas simple, le mieux est de passer par un fichier ressource, dans l'exemple précédent, j'ajoute ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    #include <gtk/gtk.h>
     
    static const char* app_style = "style \"test-default\" { \                                                     \
      fg[NORMAL]=         \"#FF0000\"                        \
    }                                                        \
                                                             \
    class \"GtkWidget\" style \"test-default\"";
     
    int main (int argc, char** argv)
    {
      GtkWidget* window = NULL;
     
      gtk_rc_parse_string (app_style);
    gtk_rc_parse_string doit être appelé avant gtk_main.

    Seul problème tous les textes affichés seront rouge, il est sûrement possible d'améliorer la chose.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 87
    Par défaut
    C'est bon je m'en suis sortit avec un simple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    gtk_tree_view_column_set_widget(pColumn,pLabel);
    Merci encore pour ton aide.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. interbase : types de donnés : AutoIncrement et Date ???
    Par delphien dans le forum Bases de données
    Réponses: 2
    Dernier message: 12/04/2004, 17h29
  2. Type pour données de type email avec @
    Par jeff37 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 26/01/2004, 14h50
  3. Types de données interbase
    Par Clotilde dans le forum InterBase
    Réponses: 2
    Dernier message: 18/11/2003, 14h10
  4. Réponses: 2
    Dernier message: 22/09/2003, 11h23
  5. Convertir un type de donnée sous SQL Server
    Par Fleep dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 19/08/2003, 15h15

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