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+ Discussion :

gtkliste signale d une selection


Sujet :

GTK+

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Avatar de yvesall
    Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Novembre 2006
    Messages
    208
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 208
    Par défaut gtkliste signale d une selection
    salut, je debute en gtk et j aimerais faire une liste, ce que je voudrais c est que quand je clique sur une des ligne de la liste ca appel un fonction, donc comment connaitre le signal (si il y en a un) lorsque je clique sur une ligne
    ca serai un truc du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    g_signal_connect(G_OBJECT(ligne_a _cliquer), "clicked", G_CALLBACK(ma_fonction), autre);
    merci

  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
    Salut !


    Attention à une chose pour commencer, si tu utilise vraiment un GtkList autant te dire que ca fait un bail que ce type de widget est déprécié et il ne faut donc plus l'utiliser, sauf si tu utilise encore GTK+ 1.2

    Pour le nouveau widget, c'est GtkTreeView, tu peux trouver un tutoriel ici !

    Sinon le signal par rapport à ce widget est http://developer.gnome.org/doc/API/2...-row-activated
    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 éclairé
    Avatar de yvesall
    Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Novembre 2006
    Messages
    208
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 208
    Par défaut
    non en effet je suis sous gtk+2.0

    mon code c est tres simpliste parce que pour le moment je fais des teste
    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
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    enum {
        TEXT_COLUMN,
        TOGGLE_COLUMN,
        N_COLUMN
    };
     
    void	popup(const char *str)
    {
      GtkWidget	*pAbout;
     
      pAbout = gtk_message_dialog_new (GTK_WINDOW(0), GTK_DIALOG_MODAL,
    				   GTK_MESSAGE_ERROR, GTK_BUTTONS_OK,
    				   str);
      gtk_dialog_run(GTK_DIALOG(pAbout));
      gtk_widget_destroy(pAbout);
    }
     
    int	main(int argc, char **argv)
    {
      GtkWidget	*pWindow;
      GtkWidget	*pListView;
      GtkWidget	*pScrollbar;
      GtkListStore	*pListStore;
      GtkTreeViewColumn	*pColumn;
      GtkCellRenderer	*pCellRenderer;
      char	*objet = "sphere";
      gchar	*sTexte;
      gint	i;
     
      gtk_init(&argc, &argv);
      pWindow = gtk_window_new(GTK_WINDOW_TOPLEVEL);
      gtk_window_set_default_size(GTK_WINDOW(pWindow), 320, 500);
      gtk_window_set_title(GTK_WINDOW(pWindow), "GtkListStore");
      g_signal_connect(G_OBJECT(pWindow), "destroy", G_CALLBACK(gtk_main_quit),
    		   NULL);
      sTexte = g_malloc(12);
      pListStore = gtk_list_store_new(N_COLUMN, G_TYPE_STRING, G_TYPE_BOOLEAN);
     
      for (i = 0 ; i < 5 ; i++)
        {
          GtkTreeIter pIter;
          g_sprintf(sTexte, objet);
          gtk_list_store_append(pListStore, &pIter);
          gtk_list_store_set(pListStore, &pIter, TEXT_COLUMN, sTexte,
    			 TOGGLE_COLUMN, TRUE, -1);
        }
      g_free(sTexte);
     
      pListView = gtk_tree_view_new_with_model(GTK_TREE_MODEL(pListStore));
      pCellRenderer = gtk_cell_renderer_text_new();
      pColumn = gtk_tree_view_column_new_with_attributes
        ("Objet", pCellRenderer, "text", TEXT_COLUMN, NULL);
      gtk_tree_view_append_column(GTK_TREE_VIEW(pListView), pColumn);
      pScrollbar = gtk_scrolled_window_new(NULL, NULL);
      gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(pScrollbar),
    				 GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
      gtk_container_add(GTK_CONTAINER(pScrollbar), pListView);
      gtk_container_add(GTK_CONTAINER(pWindow), pScrollbar);
     
      gtk_widget_show_all(pWindow);
      gtk_main();
      return EXIT_SUCCESS;
    }
    donc le but c est que le popup s' ouvre des que une row est selectionnee

  4. #4
    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
    Bin regarde pour utiliser le signal dont je t'ai donné le lien plus haut mais respecte la signature de la fonction callback qui est précisée dans le lien... je le précise tout de suite car j'en ai déjà vu des vertes et des pas mures
    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 !

  5. #5
    Membre éclairé
    Avatar de yvesall
    Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Novembre 2006
    Messages
    208
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 208
    Par défaut
    tu entends par la que ma fonction popup doit etre prototypee de cette maniere ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    void	popup(GtkTreeView *tree_view, GtkTreeIter *iter,
    	       GtkTreePath *path, gpointer user_data)

  6. #6
    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
    Oui, si elle est prévue pour le signal que tu cherchais
    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 !

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

Discussions similaires

  1. Impression d'une selection multicriteres
    Par captainamerica75 dans le forum Access
    Réponses: 10
    Dernier message: 13/01/2006, 19h33
  2. récuperer une selection dans une iframe
    Par dib258 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 03/11/2005, 15h05
  3. ajout de colonnes sur une selection
    Par DaxTaz dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 05/08/2004, 17h44
  4. [C#]Sauvegarde d'une selection multiple d'une listbox?
    Par onouiri dans le forum ASP.NET
    Réponses: 7
    Dernier message: 29/04/2004, 17h16
  5. [Sybase] Select dans une select loop en C
    Par Claudio dans le forum Sybase
    Réponses: 2
    Dernier message: 29/04/2003, 18h06

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