salut,
j'aimerais bien afficher des fenêtres dans une fenêtre...
çàd avoir des "surfaces" à l'intérieur d'une fenêtre principale, qui peuvent à leur tour contenir des widgets...
j'avais essayé comme ça:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
 
GtkWidget *MainWindow, *ScWindow1, *ScWindow2;
 
GtkWidget *ScTable;
 
GtkWidget *label_scw1, *label_scw2;
gchar *texte_scw1="texte de la première fenêtre";
gchar *texte_scw2="texte de la deuxième fenêtre";
 
//création de la fenêtre principale
MainWindow = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_set_title(GTK_WINDOW(MainWindow), "fenetre gtk+");
gtk_window_set_default_size(GTK_WINDOW(MainWindow), 300, 300);
gtk_window_set_position(GTK_WINDOW(MainWindow), GTK_WIN_POS_CENTER);
 
//création de la table
ScTable=gtk_table_new (4, 1, FALSE);
gtk_container_add (GTK_CONTAINER (MainWindow), ScTable);
 
//création des fenêtres secondaires
ScWindow1 = gtk_window_new(GTK_WINDOW_POPUP);
gtk_window_set_title(GTK_WINDOW(ScWindow1), "fenetre gtk+ principale");
gtk_window_set_default_size(GTK_WINDOW(ScWindow1), 300, 50);
gtk_table_attach(GTK_TABLE(ScTable), GTK_WIDGET(ScWindow1), 0, 1, 0, 2, GTK_FILL | GTK_EXPAND, GTK_FILL, 2, 2);
 
ScWindow2 = gtk_window_new(GTK_WINDOW_POPUP);
gtk_window_set_title(GTK_WINDOW(ScWindow2), "fenetre gtk+ secondaire");
gtk_window_set_default_size(GTK_WINDOW(ScWindow1), 300, 50);
gtk_table_attach(GTK_TABLE(ScTable), GTK_WIDGET(ScWindow2), 1, 0, 2, 4, GTK_FILL | GTK_EXPAND, GTK_FILL, 2, 2);
 
//affichache des textes
texte_scw1 = g_locale_to_utf8(texte_scw1, -1, NULL, NULL, NULL);
label_scw1=gtk_label_new (texte_scw1);
gtk_container_add (GTK_CONTAINER(ScWindow1), label_scw1);
 
texte_scw2 = g_locale_to_utf8(texte_scw2, -1, NULL, NULL, NULL);
label_scw2=gtk_label_new (texte_scw2);
gtk_container_add (GTK_CONTAINER(ScWindow2), label_scw2);
 
gtk_widget_show(MainWindow);
gtk_widget_show_all(ScWindow1);
gtk_widget_show_all(ScWindow2);
mais ça ne marche pas, les 2 fenêtres popup se mettent n'importe ou sur l'écran...

une idée?