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 :

[c++] Mettre un callback dans un espace de nommage ou une class


Sujet :

GTK+ avec C & C++

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    180
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 180
    Points : 90
    Points
    90
    Par défaut [c++] Mettre un callback dans un espace de nommage ou une class
    Bonjour à tous,

    J'aimerais, avec GTK+ mettre une fonction de callback dans le même objet (class) que celui qui crée ma fenêtre.

    J'ai un objet CLASSIC (le nom de la fenêtre) qui à sa construction, initialise GTK+, construit la fenêtre et lance la boucle principale.
    J'ai mis mes callbacks dans l'objet comme ceci :

    class CLASSIC
    {
    //...
    private:
    //Callbacks
    void gtk_callback(GtkWidget* widget, gpointer data);
    }

    Mon objet est lui même dans l'espace de nommage GM.

    Mais lorsque je compile, j'ai une erreur sur la fonction g_signal connect() :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    g_signal_connect (G_OBJECT (settings_window), "destroy", G_CALLBACK (gtk_callback), NULL);
    Erreur :
    Citation Envoyé par gcc
    argument of type 'void (GM::CLASSIC:()()' does not match any 'void (*)()
    Pourquoi faire simple quand on peut faire compliqué!

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    180
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 180
    Points : 90
    Points
    90
    Par défaut
    Ah attendez, je crois que j'ai trouvé la solution!
    Je dois mettre ma fonction de callback en static (de toute façon je m'en fiche vu que mon objet est un singleton, au pire je lui aurait envoyé l'instance de CLASSIC en paramètre et j'aurai appellé la fonction callback de cette instance à partir d'une callback statique conforme à GTK+.

    Maintenant que j'y repense j'avais du faire une manip' similaire en Win32.

    Cepandant je reste malgré tout ouvert à toute proposition d'une autre solution.

    Bonne programmation!

    Sp@rtan03
    Pourquoi faire simple quand on peut faire compliqué!

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

Discussions similaires

  1. Mettre un icône dans la barre de titre d'une fenetre
    Par xunil2003 dans le forum Tkinter
    Réponses: 7
    Dernier message: 19/01/2015, 23h09
  2. Réponses: 21
    Dernier message: 11/04/2012, 09h32
  3. Réponses: 5
    Dernier message: 13/05/2009, 18h22
  4. [PHP 5.0] appel d'une variable global dans un autre fichier à partir d'une classe
    Par andry.aime dans le forum Langage
    Réponses: 1
    Dernier message: 13/01/2009, 09h31

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