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
|
// On récupère le fichier Xml contenant les différents menus possible pour le bandeau de gauche
gxml = glade_xml_new ("../ihm_final.glade","Menu_2", NULL);
// On récupère des objets précis du fichiers xml
GtkWidget * vbox = glade_xml_get_widget (gxml, "Menu_2");
GtkWidget * btn_TGC = glade_xml_get_widget (gxml, "Menu2_btn_TGC");
GtkWidget * btn_GC = glade_xml_get_widget (gxml, "Menu2_btn_GC");
GtkWidget * btn_PC = glade_xml_get_widget (gxml, "Menu2_btn_PC");
GtkWidget * btn_Loupe = glade_xml_get_widget (gxml, "Menu2_btn_Loupe");
GtkWidget * btn_Zoom1 = glade_xml_get_widget (gxml, "Menu2_btn_Zoom1");
GtkWidget * btn_Zoom2 = glade_xml_get_widget (gxml, "Menu2_btn_Zoom2");
GtkWidget * btn_Regler = glade_xml_get_widget (gxml, "Menu2_btn_Regler");
GtkWidget * btn_Photo = glade_xml_get_widget (gxml, "Menu2_btn_Photo");
GtkWidget * btn_Video = glade_xml_get_widget (gxml, "Menu2_btn_Video");
GtkWidget * Menu2_progressbar = glade_xml_get_widget (gxml, "Menu2_progressbar");
// On garde un pointeur sur chaque objet du menu pour une gestion plus facile par la suite
liste = gtk_data_list_add_by_name(liste,btn_TGC,"btn_TGC");
liste = gtk_data_list_add_by_name(liste,btn_GC,"btn_GC");
liste = gtk_data_list_add_by_name(liste,btn_PC,"btn_PC");
liste = gtk_data_list_add_by_name(liste,btn_Loupe,"btn_Loupe");
liste = gtk_data_list_add_by_name(liste,btn_Zoom1,"btn_Zoom1");
liste = gtk_data_list_add_by_name(liste,btn_Zoom2,"btn_Zoom2");
liste = gtk_data_list_add_by_name(liste,btn_Regler,"btn_Regler");
liste = gtk_data_list_add_by_name(liste,btn_Photo,"btn_Photo");
liste = gtk_data_list_add_by_name(liste,btn_Video,"btn_Video");
liste = gtk_data_list_add_by_name(liste,Menu2_progressbar,"Menu2_progressbar");
// On vide le conteneur pour charger le menu adéquat
list = gtk_container_get_children(GTK_CONTAINER(button));
while(list)
{
// On détruit l'objet présent dans le conteneur et on passe au suivant
gtk_widget_destroy(GTK_WIDGET(list->data));
list = g_list_next(list);
}
// On libère la ressource
g_list_free(list);
// On affiche le nouveau menu
gtk_widget_show (vbox);
gtk_box_pack_start (GTK_BOX (GTK_WIDGET(button)), vbox, TRUE, TRUE, 0);
// En fonction du systeme dans lequel on se trouve, on cache ou pas certains boutons
if (systeme==1){
gtk_widget_hide(btn_TGC);
gtk_widget_hide(btn_GC);
gtk_widget_hide(btn_Zoom1);
gtk_widget_hide(btn_Zoom2);
}
// On connecte les signaux nécessaires
g_signal_connect_swapped ((gpointer) btn_Regler, "clicked",
G_CALLBACK (on_Fen_OPS_Menu2_btn_Regler_clicked),
GTK_OBJECT (fen_Operationnel)); |
Partager