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 :

gtk+, glade, gestion des évènements


Sujet :

GTK+ avec C & C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Gamall
    Profil pro
    Étudiant ENSEA
    Inscrit en
    Août 2009
    Messages
    252
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant ENSEA

    Informations forums :
    Inscription : Août 2009
    Messages : 252
    Par défaut gtk+, glade, gestion des évènements
    Bonjour,
    J'aimerais savoir, si l'on veut gerer les evennements, avec glade, comment envoyer une callback, et des données en parametre, ou, meme, si c'est faisable.

    Par exemple, sans glade, j'aurais fait:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    g_signal_connect(G_OBJECT(pButtonAbout),
                    "clicked",
                    G_CALLBACK(OnAbout),
                    (gpointer) pWindow
                    );
    Mais avec glade, il faut faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    gtk_builder_connect_signals(p_builder, NULL);
    Mais dans ce cas, comment transmettre mes paramettres à ma callback

    Dans l'attente d'une réponse...
    Merci

  2. #2
    Membre Expert
    Homme Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 259
    Par défaut
    Le 2ème paramètre qui est à NULL peut servir à ça.

  3. #3
    Membre confirmé Avatar de Gamall
    Profil pro
    Étudiant ENSEA
    Inscrit en
    Août 2009
    Messages
    252
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant ENSEA

    Informations forums :
    Inscription : Août 2009
    Messages : 252
    Par défaut
    Merci,
    Par contre, comment lui dire quel données envoyer à quelles fonctions

    J'ai fais quelques essais, mais sans grande reussite, a part obtenir des warnings de la part de glib

  4. #4
    Membre Expert
    Homme Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 259
    Par défaut
    Ca envoie la même donnée à tous les signaux qu'il connecte comme la doc l'indique...

  5. #5
    Modérateur

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    1 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 395
    Par défaut
    C'est donc l'invitation à passer l'adresse d'une structure qui contiendra tout ce sont tes callbacks auront besoin...

  6. #6
    Membre confirmé Avatar de Gamall
    Profil pro
    Étudiant ENSEA
    Inscrit en
    Août 2009
    Messages
    252
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant ENSEA

    Informations forums :
    Inscription : Août 2009
    Messages : 252
    Par défaut
    Ok, merci, ça marche impec

    Mais, il y a encore une chose que je me demande, c'est dans glade, dans l'onglet signaux, à côté de la colonne ou l'on passe la callback, il y a une colonne "Données utilisateur".

    A quoi sert donc cette colonne?


    [EDIT] Par contre, j'ai un curieux probleme, c'est que quand j'alloue de la memoire, avec g_malloc, ça marche, mais quand je veux liberer cette memoire, le compliateur n'est pas d'accord:

    main.c:67: attention : passing argument 1 of ‘g_free’ discards qualifiers from pointer target type

    voici mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    typedef struct _MainWindow
    {
    	GtkWidget *pWindow;
    	GtkWidget *pEntry;
    	GtkWidget *pLabel;
    } MainWindow;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
           gtk_init(&argc, &argv);
           fenetre = g_malloc(sizeof(MainWindow));
     
    /* Plein de code */
     
            g_free(fenetre);
    	return EXIT_SUCCESS;
    }

Discussions similaires

  1. [XML] [EXPAT] xml_parse et la gestion des événements...
    Par Herode dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 05/02/2006, 20h59
  2. Gestion des évènements Netscape 7.0
    Par RATHQUEBER dans le forum Autres langages pour le Web
    Réponses: 6
    Dernier message: 19/12/2005, 16h26
  3. Problème avec la gestion des événements
    Par CynO dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 17/10/2005, 10h07
  4. [JTable] gestion des événements
    Par soulhouf dans le forum Composants
    Réponses: 4
    Dernier message: 19/08/2005, 13h21
  5. Gestion des évènements lors d'un clique sur une image.
    Par yoghisan dans le forum Débuter
    Réponses: 7
    Dernier message: 23/06/2005, 19h04

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