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 :

ARBRE : Décaler les lignes filles


Sujet :

GTK+ avec C & C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Inscrit en
    Décembre 2007
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 5
    Par défaut ARBRE : Décaler les lignes filles
    Bonjour,

    Dans le cadre de la création d'arbre, je cherche à décaler les lignes filles de quelques pixels vers la droite par rapport à leur ligne parent.
    En cherchant, j'ai trouvé la commande suivante :
    g_object_set (G_OBJECT(cell), "xalign", 0.3, NULL);

    Cela produit effectivement le décalage souhaité, mais l'enensemble de l'ardre est décalé au centre de la colonne !

    Ai-je raté quelque-chose ?
    Existe-t-il une autre solution pour obtenir le résultat recherché ?

    Merci

    Fakir007

  2. #2
    Membre éprouvé
    Avatar de Shugo78
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    1 119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 1 119
    Par défaut
    Je ne comprends pas bien...
    Mais tu peux décaler une GtkTreeViewColumn si tu veux.

  3. #3
    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
    Bonjour,

    Citation Envoyé par fakir007 Voir le message
    Dans le cadre de la création d'arbre, je cherche à décaler les lignes filles de quelques pixels vers la droite par rapport à leur ligne parent.
    En cherchant, j'ai trouvé la commande suivante :
    g_object_set (G_OBJECT(cell), "xalign", 0.3, NULL);

    Cela produit effectivement le décalage souhaité, mais l'enensemble de l'ardre est décalé au centre de la colonne !
    ça serait plus simple pour t'aider d'avoir un code complet

    Normalement si tu utilise un magasin de type GtkTreeStore, le décalage est géré automatiquement.

  4. #4
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Septembre 2003
    Messages
    506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 506
    Par défaut
    oui, logiquement la ligne devrait être décalée toute seule.
    Par contre si tu as plusieurs colonnes (comme icone, nom fichier, etc...) tu risques d'avoir un décalage bizarre des lignes filles, vu que l'arbre aligne chaque colonne. Dans ce cas une des solutions est de n'utiliser qu'une seule colonne, mais d'y mettre des cellRenderer.

  5. #5
    Membre à l'essai
    Inscrit en
    Décembre 2007
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 5
    Par défaut
    Bonjour, et merci de vos réponses.

    Tout d'abord je n'ai pas mis plus de code cars je ne savais que choisir...
    Je vous livre une fonction qui est censée utiliser g_object_set

    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
    bool edition_ligne 		(GtkCellRendererText *cell,	 gchar               *path_string,   gchar               *new_text,   gpointer             user_data)
    {
     
    	GtkTreeIter iter;
    	GtkTreeModel *p_tree_model = NULL;
    	GtkTreeSelection *selection;
     
    	selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(user_data));
    	gtk_tree_selection_get_selected(selection,&p_tree_model,&iter);
    	if(gtk_tree_model_get_iter_from_string(p_tree_model, &iter,path_string))
    	{
     		g_object_set (G_OBJECT(cell), "xalign", 0.3, NULL);
     
    		gtk_tree_store_set(pTreeStore, &iter, TEXT_COLUMN, new_text, -1);
    	}
    }
    En fait le gros lot revient à drKzs qui a su deviner l'explication : plusieurs colonnes.
    En effet, en retirant les autres colonnes, plus de soucis, le décalage devient automatique.
    Je vais me pencher sur sa proposition de créer des cellrender pour palier à cet inconvénient.

    A moins que d'autres solutions existent ?

    Fakir007

  6. #6
    Membre éprouvé
    Avatar de Shugo78
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    1 119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 1 119
    Par défaut
    Comme ça ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    GList* coList = gtk_tree_view_get_columns (GTK_TREE_VIEW (pTreeView));
    while (coList != NULL)
    {
        gtk_tree_view_column_set_alignment  
    (coList->data, 0.3);
        coList = coList->next;
    }

  7. #7
    Membre à l'essai
    Inscrit en
    Décembre 2007
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 5
    Par défaut
    Merci,
    Je vais explorer ces pistes et vous tiens informés.

    Fakir007

Discussions similaires

  1. Réponses: 2
    Dernier message: 24/03/2014, 11h53
  2. Réponses: 4
    Dernier message: 13/03/2014, 12h18
  3. Supprimer une ligne sans décaler les autres
    Par nomade333 dans le forum Conception
    Réponses: 4
    Dernier message: 18/04/2012, 23h43
  4. [C#] Compter les lignes d'un DataSet
    Par alexischmit dans le forum ASP.NET
    Réponses: 13
    Dernier message: 26/04/2004, 15h17
  5. determiner les ligne visible ds un RichEdit
    Par hhfr dans le forum Composants VCL
    Réponses: 4
    Dernier message: 19/09/2002, 18h15

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