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 :

Utilisation de g_list_foreach avec une selection graphique


Sujet :

GTK+ avec C & C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur PHP5
    Inscrit en
    Novembre 2006
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur PHP5

    Informations forums :
    Inscription : Novembre 2006
    Messages : 63
    Par défaut Utilisation de g_list_foreach avec une selection graphique
    les développeurs!

    Bon alors, je vous explique mon souci...

    J'ai créé une liste déroulante dans laquelle les lignes correspondent à differentes informations sur les machines d'un Reseau (IP, type de machines, etc...) et je souhaite recuperer l'IP des machines selectionnées pour effectuer un traitement.
    Je pensais donc utiliser les fonctions :
    gtk_tree_selection_get_selected_rows : qui retourne la liste des lignes selecitionnées
    g_list_foreach : pour effectuer le traitement (par une fonction passée en argument)
    et la fameuse fonction passée en argument : void func(gpointer data, gpointer user_data)
    et c'est cette dernière fonction qui me pose un souci.

    En fait j'ai tres bien reussi a regler le souci avec une selection simple car on recupère un GtkTreeIter duquel on peut facilement recuperer la valeur de la colonne souhaitée, mais là la variable "data" je ne vois pas du tout à quoi elle correspond ni comment la traiter dans le cas d'une sélection graphique où les élements de la liste sont les lignes selectionnées à l'écran.

    J'espère m'être exprimer clairement et que l'on pourra m'aider.

    Merci d'avance.

  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
    Par défaut
    Bonjour,

    Le premier argument de la fonction func sera le pointeur data de l'élément courant de la glist, c'est à dire un GtkTreePath et le second, une donné de ton choix passée à la fonction g_list_foreach

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur PHP5
    Inscrit en
    Novembre 2006
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur PHP5

    Informations forums :
    Inscription : Novembre 2006
    Messages : 63
    Par défaut
    J'ai fait quelques recherches et j'ai fini par trouver faire quelque chose de se style et ca marche

    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
     
    /*Methode de CALLBACK*/
    void affiche_ip(GtkWidget* widget, gpointer data){
         GList* list = NULL;
         GtkTreeModel* model;
         gchar* ip;
         GtkTreeSelection* selected = gtk_tree_view_get_selection(GTK_TREE_VIEW(pLV)); //pLV est une variable globale de mon programme
     
         list = gtk_tree_selection_get_selected_rows(selected,&model);
     
         for(;list != NULL; list = g_list_next(list)){
               gtk_tree_model_get_iter(model,&iter,(GtkTreePath*)list->data);
               gtk_tree_model_get(model, &iter, IP_COLUMN,&ip,-1);
               cout << ip << endl; //je compte faire autre chose que de l'affichage c'est juste pour exemple
         }
     
    }
    Ca marche au poil!

    Je l'ai trouvé ICI et je l'ai un peu adapté et simplifié.
    Ca va te rappeler des souvenir c'est toi qui avait répondu

    Donc

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

Discussions similaires

  1. [JTABLE] Peut-on utiliser des autoFilters avec une JTable
    Par Nico+10) dans le forum Composants
    Réponses: 3
    Dernier message: 18/09/2006, 19h53
  2. Réponses: 1
    Dernier message: 19/07/2006, 15h40
  3. Réponses: 1
    Dernier message: 04/05/2006, 10h45
  4. [XSL] utilisation du mode avec une variable
    Par luta dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 20/04/2006, 10h12
  5. Utiliser "window.status" avec une fenêtre modale
    Par Giill dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 28/11/2005, 14h23

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