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 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
| #include <stdlib.h>
#include <gtk/gtk.h>
gboolean Callback(GtkWidget *menu_entry, gchar *texte)
{
printf("%s\n", texte);
return TRUE;
}
int main (int argc, char *argv[])
{
GtkWidget *Fenetre;
GtkWidget *Barre_Menu;
GtkWidget *Menu;
GtkWidget *Elt_Menu;
/* Initialisation GTK+ */
gtk_init (&argc, &argv);
/* Creation Fenetre Principale */
Fenetre = gtk_window_new (GTK_WINDOW_TOPLEVEL);
g_signal_connect(G_OBJECT(Fenetre), "destroy", gtk_main_quit, NULL);
g_signal_connect(G_OBJECT(Fenetre), "delete_event", gtk_main_quit, NULL);
/* Creation de la barre de menu */
Barre_Menu = gtk_menu_bar_new();
gtk_container_add(GTK_CONTAINER(Fenetre), Barre_Menu);
/* Creation et attachement de la premiere entree */
Elt_Menu = gtk_menu_item_new_with_label("Élément 1");
gtk_menu_bar_append(GTK_MENU_BAR(Barre_Menu), Elt_Menu);
g_signal_connect(G_OBJECT(Elt_Menu), "activate", G_CALLBACK(Callback), "Élément 1");
/* Creation du menu associé à l'entree 1 */
Menu = gtk_menu_new();
gtk_menu_item_set_submenu(GTK_MENU_ITEM(Elt_Menu), Menu);
/* Élément 1-1 */
Elt_Menu = gtk_menu_item_new_with_label("Élément 1-1");
gtk_menu_append(GTK_MENU(Menu), Elt_Menu);
/* Élément 1-2 */
Elt_Menu = gtk_menu_item_new_with_label("Élément 1-2");
gtk_menu_append(GTK_MENU(Menu), Elt_Menu);
/* Un séparateur */
Elt_Menu = gtk_menu_item_new();
gtk_menu_append(GTK_MENU(Menu), Elt_Menu);
/* ÉLément 1-3 - Quitter */
Elt_Menu = gtk_menu_item_new_with_label("Élément 1-3 - Quitter");
gtk_menu_append(GTK_MENU(Menu), Elt_Menu);
g_signal_connect(G_OBJECT(Elt_Menu), "destroy", G_CALLBACK(gtk_main_quit), NULL);
/* Creation et attachement de la seconde entree */
Elt_Menu = gtk_menu_item_new_with_label("Élément 2");
gtk_menu_bar_append(GTK_MENU_BAR(Barre_Menu), Elt_Menu);
g_signal_connect(G_OBJECT(Elt_Menu), "activate", G_CALLBACK(Callback), "Élément 2");
/* Creation du menu associé à l'entree 2 */
Menu = gtk_menu_new();
gtk_menu_item_set_submenu(GTK_MENU_ITEM(Elt_Menu), Menu);
/* Élément 2-2 */
Elt_Menu = gtk_menu_item_new_with_label("Élément 2-2");
gtk_menu_append(GTK_MENU(Menu), Elt_Menu);
/* Élément 2-1 */
Elt_Menu = gtk_menu_item_new_with_label("Élément 2-1");
gtk_menu_append(GTK_MENU(Menu), Elt_Menu);
/* Creation du menu associé à l'entrée 2-1 */
Menu = gtk_menu_new();
gtk_menu_item_set_submenu(GTK_MENU_ITEM(Elt_Menu), Menu);
/* Élément 2-1-1 */
Elt_Menu = gtk_menu_item_new_with_label("Élément 2-1-1");
gtk_menu_append(GTK_MENU(Menu), Elt_Menu);
/* Creation et attachement de la troisième entree */
Elt_Menu = gtk_menu_item_new_with_label("Élément 3");
gtk_menu_bar_append(GTK_MENU_BAR(Barre_Menu), Elt_Menu);
g_signal_connect(G_OBJECT(Elt_Menu), "activate", G_CALLBACK(Callback), "Élément 3");
gtk_menu_item_right_justify(GTK_MENU_ITEM(Elt_Menu));
/* Boucle ppale */
gtk_widget_show_all (Fenetre);
gtk_main ();
return 0;
} |
Partager