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 :

La fonction gdk_window_new


Sujet :

GTK+ avec C & C++

  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 La fonction gdk_window_new
    Salut,
    Lorsque l'on passe un GdkWindowAttr avec le membre window_type à GDK_WINDOW_ROOT ou GDK_WINDOW_TOPLEVEL, doit-on passer NULL en paramètre "parent" à la fonction gdk_window_new ?

    D'ailleurs, j'ai du mal à saisir la différence entre GDK_WINDOW_ROOT et GDK_WINDOW_TOPLEVEL

    Donc, ben si quelqu'un a des éléments de réponse, ça serait sympa
    Merci

  2. #2
    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
    La root window, si je ne m'abuse, c'est celle qui sert de fenêtre de plus haut niveau aux applications. C'est l'arrière plan de ton bureau en gros. D'après la doc, tu as besoin de spécifier un parent si tu veux que ton application fonctionne en multi-écrans (c'est ce que je comprends de la doc).

    Juste par curiosité, pourquoi donc tapes tu directement dans GDK ?

  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
    En fait, pour un programme, je crée un widget YaogcWindow qui hérite (directemment) de GtkWindow.

    Et là, je code la fonction yaogc_window_realize, qui permet de créer la fenetre de mon widget

    Du coup, je me demande que passer en parametre "parent" à gdk_window_new, vu que c'est la fenetre principale de mon programme

  4. #4
    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
    Juste par curiosité, pourquoi donc tapes tu directement dans GDK ?
    C'est bizarre mais je sent comme une pointe d'ironie dans cette question...

  5. #5
    Expert confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    Février 2008
    Messages
    2 308
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Conducteur de train
    Secteur : Transports

    Informations forums :
    Inscription : Février 2008
    Messages : 2 308
    Billets dans le blog
    5
    Par défaut
    Citation Envoyé par artificier59 Voir le message
    C'est bizarre mais je sent comme une pointe d'ironie dans cette question...
    Non je ne crois pas. Liberforce répondra pour lui-même bien sûr. Mais lorsqu'on utilise gtk_window_new(); tout est implicitement géré. Je crois que la question vient de là.

  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
    Ah, en fait, je répond partiellement à ma question:
    Lorsque l'on passe un GdkWindowAttr avec le membre wclass à GDK_WINDOW_ROOT ou GDK_WINDOW_TOPLEVEL, doit-on passer NULL en paramètre "parent" à la fonction gdk_window_new ?
    D'après ce lien:
    [...] the parent argument to gdk_window_new() should be NULL in this case. GDK automatically uses the root window as the window's parent.

  7. #7
    Expert confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    Février 2008
    Messages
    2 308
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Conducteur de train
    Secteur : Transports

    Informations forums :
    Inscription : Février 2008
    Messages : 2 308
    Billets dans le blog
    5
    Par défaut
    En effet ca répond pleinement à la question

  8. #8
    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
    Citation Envoyé par gerald3d Voir le message
    Non je ne crois pas. Liberforce répondra pour lui-même bien sûr. Mais lorsqu'on utilise gtk_window_new(); tout est implicitement géré. Je crois que la question vient de là.
    Tout à fait, aucune ironie là dedans.

    Je n'ai jamais fait mes propres widgets mais il me semble que c'est un des rares cas où tu peux être amené à appeler gdk_window_new (et encore).
    D'ailleurs, cet exemple de widget personnalisé n'y fait même pas référence.

    Créer sa GdkWindow soi même risque d'amener à devoir gérer soi même le double buffering, etc. et en gros te retrouver à réimplémenter une bonne partie des mécanismes de GDK. Donc artificier59 devrait vérifier qu'il ne s'est pas fourvoyé dans son héritage... Bon, faut garder en tête que je suis loin d'être un expert en la matière, hein...

  9. #9
    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
    Citation Envoyé par artificier59 Voir le message
    Ah, en fait, je répond partiellement à ma question:


    D'après ce lien:
    Evite de te rapporter à developer.gnome.org. Pas mal de choses doivent encore être vrai, mais c'est l'ancien entrepôt pour toutes les doc. Il devrait être mis hors ligne dès que tout le contenu pertinent aura été transféré sur library.gnome.org:

    http://live.gnome.org/Developer.Gnome.Org%20Must%20Die
    http://live.gnome.org/GnomeWeb/developer.gnome.org

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 12/02/2013, 01h08
  2. Fonction API
    Par margilb dans le forum C++Builder
    Réponses: 2
    Dernier message: 08/07/2002, 11h11
  3. Implémentation des fonctions mathématiques
    Par mat.M dans le forum Mathématiques
    Réponses: 9
    Dernier message: 17/06/2002, 16h19
  4. fonction printf
    Par ydeleage dans le forum C
    Réponses: 7
    Dernier message: 30/05/2002, 11h24
  5. FOnction api specifiant la position de la souris
    Par florent dans le forum C++Builder
    Réponses: 4
    Dernier message: 15/05/2002, 20h07

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