Bonjour à tous,

Je souhaiterai intervertir l'ordre d'affichage de deux widgets :
Dans mon exemple, j'ai une fenêtre qui affiche une liste de bouton [c][b][a].
A l'aide de la fonction swap() je souhaiterai afficher [a][b][c].

Je ne sais pas comment implémenter cette fonction. Avez vous une piste à me proposer ?

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
43
44
45
 
#include <gtk/gtk.h>
 
static void
swap (GtkWidget *container, GtkWidget *child1, GtkWidget *child2)
{
    // TODO ?
}
 
int
main (int argc, char *argv[])
{
    GtkWidget *window;
    GtkWidget *container;
    GtkWidget *label_c;
    GtkWidget *label_b;
    GtkWidget *label_a;
 
    gtk_init (&argc, &argv);
 
    window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
    gtk_signal_connect (GTK_OBJECT (window), "destroy", G_CALLBACK (gtk_main_quit), NULL);
 
    container = gtk_vbox_new (FALSE, 0);
 
    label_a = gtk_button_new_with_label ("a");
    label_b = gtk_button_new_with_label ("b");
    label_c = gtk_button_new_with_label ("c");
 
    gtk_container_add (GTK_CONTAINER (container), label_c);
    gtk_container_add (GTK_CONTAINER (container), label_b);
    gtk_container_add (GTK_CONTAINER (container), label_a);
 
    gtk_container_add (GTK_CONTAINER (window), container);
 
 
//    swap(container, label_a, label_c);
 
 
    gtk_widget_show_all (window);
 
    gtk_main ();
 
    return 0;
}
Cdlt,