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 :

Recherche de texte dans un TreeView


Sujet :

GTK+ avec C & C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 19
    Par défaut Recherche de texte dans un TreeView
    Bonjour @ tous!

    Je débute en GTK et je cherche un moyen de chercher du texte dans un TreeView.

    Mon TreeView possède deux colonnes et le texte à rechercher est dans la première.

    J'ai déjà essayé d'utiliser les fonctions
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    gboolean    gtk_text_iter_forward_search    (const GtkTextIter *iter, 
                                                 const gchar *str, 
                                                 GtkTextSearchFlags flags, 
                                                 GtkTextIter *match_start, 
                                                 GtkTextIter *match_end, 
                                                 const GtkTextIter *limit);
    mais je ne sais pas trop comment renseigner tous les champs et donc ça plante à l'execution.
    voici ce que j'ai fait:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    GtkListStore *model; 
    GtkTreeIter   iter; 
    GtkTreeIter   iterLast; 
    GtkTreeIter   iterFirst; 
     
       // recupere le model 
       model = gtk_tree_view_get_model (GTK_TREE_VIEW(MonTreeView)); 
      [...] 
      // cherche le permier iter 
      gtk_tree_model_get_iter_first(GTK_LIST_STORE (model), &iterFirst); 
     
      // cherche mon text 
      gtk_text_iter_forward_search(&iterFirst, "MaChaine", GTK_TEXT_SEARCH_TEXT_ONLY, &iter, &iterLast, NULL ))
    Pour iterLast, je ne sais pas trop comment l'initialiser, ni comment récupérer le dernier iter.
    (au passage, iter ça veut dire quoi exactement?)

    Merci!
    Damien.

  2. #2
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    Tu veux rechercher un texte mais par rapport à quoi ? Par rapport à l'élément sélectionné ou retrouver chaque texte sur la totalité des éléments affiché dans le GtkTreeView ?

    Pour le premier cas je pourrais sans doute t'aider mais pour le second c'est moins sûr mais le principe en resterais le même je pense ... à voir !

    Citation Envoyé par Damien
    (au passage, iter ça veut dire quoi exactement?)
    Bin le mot iter viens en fait de iterator (itérateur) ... je pense que le nom en dit assez !
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 19
    Par défaut Recherche de texte dans un TreeView
    Bon alors je me suis mélangé les pinceaux entre les GtkTextView et les GtkTreeView, c'est donc normal que ça plante.
    Comme j'ai pas trouvé de fonction pour rechercher un text dans mon TreeView, j'ai fait une recherche à la mano et voici le code:
    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
     
    enum { 
       ID_COLUMN, 
       INFO_COLUMN, 
       NB_COLUMNS 
    }; 
     
       gboolean      ValidList, TextFound; 
       GtkListStore *model; 
       GtkTreeIter   iter; 
       gchar        *sName; 
     
       model = gtk_tree_view_get_model (MonTreeView); 
     
       ValidList = gtk_tree_model_get_iter_first(GTK_LIST_STORE (model), &iter); 
       TextFound = FALSE; 
       while (ValidList && (!TextFound)) 
       { 
          gtk_tree_model_get (GTK_LIST_STORE (model), &iter, 
                              ID_COLUMN, &sTemp, 
                              -1); 
          if (strcmp(FontNumber, sTemp) == NULL) 
             TextFound = TRUE; 
          else 
          { 
             TextFound = FALSE; 
             ValidList = gtk_tree_model_iter_next (GTK_LIST_STORE (model), &iter); 
          } 
          g_free(sTemp); 
       }
    Merci @ tous!
    Damien.

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

Discussions similaires

  1. Recherche de texte dans chaine de caractère
    Par Requin15 dans le forum Oracle
    Réponses: 13
    Dernier message: 14/09/2006, 12h10
  2. [WinXP] rechercher du texte dans les fichiers
    Par arcane dans le forum Windows XP
    Réponses: 3
    Dernier message: 05/05/2006, 12h10
  3. Faire une recherche de texte dans un tableau de variable
    Par alexxx69 dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 19/02/2006, 13h12
  4. [Configuration] recherche de texte dans un fichier
    Par carlos20 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 10
    Dernier message: 17/10/2005, 17h25
  5. Recherche de texte dans un blob sous oracle
    Par Invité dans le forum Bases de données
    Réponses: 5
    Dernier message: 25/05/2004, 11h11

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