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 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
|
void
on_Fen_OPS_btn_Pfm_clicked (GtkButton *button,
gpointer user_data)
{
// Déclarations
GtkWidget *vbox;
GtkWidget *Menu20_btn_Haut;
GtkWidget *Menu20_btn_Bas;
GtkWidget *Menu20_btn_Gauche;
GtkWidget *Menu20_btn_Droite;
GtkWidget *Menu20_btn_Axis;
GladeXML *gxml;
GList *list;
// Recupère mon menu
gxml = glade_xml_new ("../ch_menu.glade","Menu_20", NULL);
vbox = glade_xml_get_widget (gxml, "Menu_20");
// Je récupère les boutons du menus
Menu20_btn_Haut = glade_xml_get_widget (gxml, "Menu20_btn_Haut");
Menu20_btn_Bas = glade_xml_get_widget (gxml, "Menu20_btn_Bas");
Menu20_btn_Gauche = glade_xml_get_widget (gxml, "Menu20_btn_Gauche");
Menu20_btn_Droite = glade_xml_get_widget (gxml, "Menu20_btn_Droite");
Menu20_btn_Axis = glade_xml_get_widget (gxml, "Menu20_btn_Axis");
// Je vide le container
list = gtk_container_get_children(GTK_CONTAINER(button));
while(list)
{
gtk_widget_destroy(GTK_WIDGET(list->data));
list = g_list_next(list);
}
g_list_free(list);
gtk_widget_show (vbox);
// J'ajoute mon nouveau menu
gtk_box_pack_start (GTK_BOX (GTK_WIDGET(button)), vbox, TRUE, TRUE, 0);
// Je connecte mes signaux
g_signal_connect_swapped ((gpointer) Menu20_btn_Haut, "clicked",
G_CALLBACK (on_Fen_OPS_Menu20_btn_Haut_clicked),
GTK_OBJECT (Menu20_btn_Bas));
g_signal_connect_swapped ((gpointer) Menu20_btn_Bas, "clicked",
G_CALLBACK (on_Fen_OPS_Menu20_btn_Bas_clicked),
GTK_OBJECT (Menu20_btn_Haut));
g_signal_connect_swapped ((gpointer) Menu20_btn_Gauche, "clicked",
G_CALLBACK (on_Fen_OPS_Menu20_btn_Gauche_clicked),
GTK_OBJECT (Menu20_btn_Droite));
g_signal_connect_swapped ((gpointer) Menu20_btn_Droite, "clicked",
G_CALLBACK (on_Fen_OPS_Menu20_btn_Droite_clicked),
GTK_OBJECT (Menu20_btn_Gauche));
g_signal_connect_swapped ((gpointer) Menu20_btn_Axis, "clicked",
G_CALLBACK (on_Fen_OPS_Menu20_btn_Axis_clicked),
GTK_OBJECT (Menu20_btn_Droite));
g_signal_connect_swapped ((gpointer) Menu20_btn_Axis, "clicked",
G_CALLBACK (on_Fen_OPS_Menu20_btn_Axis_clicked),
GTK_OBJECT (Menu20_btn_Gauche));
g_signal_connect_swapped ((gpointer) Menu20_btn_Axis, "clicked",
G_CALLBACK (on_Fen_OPS_Menu20_btn_Axis_clicked),
GTK_OBJECT (Menu20_btn_Bas));
g_signal_connect_swapped ((gpointer) Menu20_btn_Axis, "clicked",
G_CALLBACK (on_Fen_OPS_Menu20_btn_Axis_clicked),
GTK_OBJECT (Menu20_btn_Haut));
} |