Bonjour
J'ouvre un série de fenêtres avec une boucle :
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);.
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; } }
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
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 )
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);
J'ai remplacé momentanément l'incrémentation de la position parÇa marche, mais ça me convient guère...
Code : Sélectionner tout - Visualiser dans une fenêtre à part x+=100;y+=50;
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;*/
Partager