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 :

Affichage décalé d'une serie de fenêtres


Sujet :

GTK+ avec C & C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédacteur/Modérateur
    Avatar de troumad
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2003
    Messages
    5 607
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 5 607
    Par défaut Affichage décalé d'une serie de fenêtres
    Bonjour

    J'ouvre un série de fenêtres avec une boucle :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
        for (rep=0;rep<node1->fils;rep++)
        {
            sprintf(ch,"%s.pers",node1->child[rep].content->texte);
            gr_tmp=ouvrir_perso_groupe(ch,debut,GTK_WINDOW(param),param_t);
            if (gr_tmp!=NULL)
            {
                debut=gr_tmp;
                param_t[4]=(gpointer)debut;
            }
        }
    Les fenêtres ainsi crées sont bien ouvertes lors de l'appel de la fonction ouvrir_perso_groupe par un gtk_widget_show_all (win);.
    Je voudrais les placer décalées les une parrapport aux autres pour toutes les voir. J'ai donc penser par la suite les décaller avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
            gtk_window_move(GTK_WINDOW(gr_tmp->fils),x,y);
            gtk_window_get_size(GTK_WINDOW(gr_tmp->fils),&l,&h);
            x+=(3*l)/5;y+=h/5;
            if ((x+l/2)>gdk_screen_width()) x-=(gdk_screen_width()-30);
            if ((y+h/2)>gdk_screen_height()) y-=(gdk_screen_height()-30);
    Mais, le problème est que gtk_windows_get_size renvoie toujours 16 et 16 comme taille sûrement parce que la fenêtre n'est pas encore ouverte ( voir http://library.gnome.org/devel/gtk/2...indow-get-size )
    J'ai remplacé momentanément l'incrémentation de la position parÇa marche, mais ça me convient guère...

    Que faire ? Je ne veux pas bouger l'ensemble des fenêtres si je bouge la première.

    nb : en écrivant ce mesage, je me suis dit qu'il faurait peut-être attendre que la fenêtre soit présente. Je vais chercher !
    J'ai fait un essai bloquant (les fenêtres sont ouvertes => taille différentes de 16 alors, mais, elles ne sont pas remplies) en prenant en compte que les dimensions sont par défaut de 16 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
            /*do
            {
                gtk_window_get_size(GTK_WINDOW(gr_tmp->fils),&l,&h);
            }
            while (l==16 && h==16);
            x+=(3*l)/5;y+=h/5;*/
    Modérateur Mageia/Mandriva Linux
    Amicalement VOOotre
    Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org
    Mes tutoriels : xrandr, algorigramme et C, xml et gtk...

  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 window manager est libre de faire un peu ce qu'il veut quant au placement des fenêtres, donc si tu codes quelque chose qui marche, ça a des chances de dépendre du window manager que tu utilises. A ta place je ne me casserais pas trop la tête...

  3. #3
    Rédacteur/Modérateur
    Avatar de troumad
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2003
    Messages
    5 607
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 5 607
    Par défaut
    POur le WM ; j'ai déjà cru voir une différence entre KDE et xfce4 quand je ne donne aucune place par défaut. Mon but est de les décaler un peu pour toutes les voir.
    Modérateur Mageia/Mandriva Linux
    Amicalement VOOotre
    Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org
    Mes tutoriels : xrandr, algorigramme et C, xml et gtk...

  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
    Situ veux juste les décaler "un peu", tu n'as pas besoin de connaître la largeur/hauteur de ta fenêtre, tu peux juste décider de décaler la fenêtre de N pixels par rapport à la précédente, auquel cas il te suffit d'appeler gtk_window_move sans faire de calculs compliqués, juste un N * n° de la fenêtre

  5. #5
    Rédacteur/Modérateur
    Avatar de troumad
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2003
    Messages
    5 607
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 5 607
    Par défaut
    C'est ce que je fais par défaut.
    Modérateur Mageia/Mandriva Linux
    Amicalement VOOotre
    Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org
    Mes tutoriels : xrandr, algorigramme et C, xml et gtk...

Discussions similaires

  1. Combo avec affichage tableau dans une même fenêtre
    Par Caroline38 dans le forum WinDev
    Réponses: 23
    Dernier message: 30/04/2012, 08h55
  2. affichage de valeurs d'une serie dans un graphique
    Par anaylane dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 13/04/2010, 10h53
  3. Affichage d'une series d'image en GTK
    Par majed_la7 dans le forum GTK+ avec C & C++
    Réponses: 3
    Dernier message: 13/11/2007, 17h10
  4. Affichage PDF dans une fenêtre HTML
    Par gbarbier dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 28/08/2007, 15h20
  5. Affichage variable dans une fenêtre d'alerte
    Par undercrash dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 08/03/2006, 21h35

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