From: Matthias Clasen Date: Fri, 27 Dec 2019 03:58:37 +0000 (-0500) Subject: gtk-demo: Remove the menus demo X-Git-Tag: archive/raspbian/4.4.1+ds1-2+rpi1^2~18^2~20^2~486^2~32 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=5d2113ff5d6de100f15c18f3f0faea24123a4968;p=gtk4.git gtk-demo: Remove the menus demo Menus are going away. --- diff --git a/demos/gtk-demo/demo.gresource.xml b/demos/gtk-demo/demo.gresource.xml index df235ca960..6827b57cb3 100644 --- a/demos/gtk-demo/demo.gresource.xml +++ b/demos/gtk-demo/demo.gresource.xml @@ -191,7 +191,6 @@ listbox.c list_store.c markup.c - menus.c modelbutton.c overlay.c overlay2.c diff --git a/demos/gtk-demo/menus.c b/demos/gtk-demo/menus.c deleted file mode 100644 index 83aef5d069..0000000000 --- a/demos/gtk-demo/menus.c +++ /dev/null @@ -1,147 +0,0 @@ -/* Menus - * - * There are several widgets involved in displaying menus. The - * GtkMenuBar widget is a menu bar, which normally appears horizontally - * at the top of an application, but can also be layed out vertically. - * The GtkMenu widget is the actual menu that pops up. Both GtkMenuBar - * and GtkMenu are subclasses of GtkMenuShell; a GtkMenuShell contains - * menu items (GtkMenuItem). Each menu item contains text and/or images - * and can be selected by the user. - * - * There are several kinds of menu item, including plain GtkMenuItem, - * GtkCheckMenuItem which can be checked/unchecked, GtkRadioMenuItem - * which is a check menu item that's in a mutually exclusive group, - * GtkSeparatorMenuItem which is a separator bar, GtkTearoffMenuItem - * which allows a GtkMenu to be torn off, and GtkImageMenuItem which - * can place a GtkImage or other widget next to the menu text. - * - * A GtkMenuItem can have a submenu, which is simply a GtkMenu to pop - * up when the menu item is selected. Typically, all menu items in a menu bar - * have submenus. - */ - -#include -#include - -#include - -static GtkWidget * -create_menu (gint depth) -{ - GtkWidget *menu; - GtkRadioMenuItem *last_item; - char buf[32]; - int i, j; - - if (depth < 1) - return NULL; - - menu = gtk_menu_new (); - last_item = NULL; - - for (i = 0, j = 1; i < 5; i++, j++) - { - GtkWidget *menu_item; - - sprintf (buf, "item %2d - %d", depth, j); - - menu_item = gtk_radio_menu_item_new_with_label_from_widget (NULL, buf); - gtk_radio_menu_item_join_group (GTK_RADIO_MENU_ITEM (menu_item), last_item); - last_item = GTK_RADIO_MENU_ITEM (menu_item); - - gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_item); - gtk_widget_show (menu_item); - if (i == 3) - gtk_widget_set_sensitive (menu_item, FALSE); - - gtk_menu_item_set_submenu (GTK_MENU_ITEM (menu_item), create_menu (depth - 1)); - } - - return menu; -} - -static void -change_orientation (GtkWidget *button, - GtkWidget *menubar) -{ - GtkWidget *parent; - GtkOrientation orientation; - - parent = gtk_widget_get_parent (menubar); - orientation = gtk_orientable_get_orientation (GTK_ORIENTABLE (parent)); - gtk_orientable_set_orientation (GTK_ORIENTABLE (parent), 1 - orientation); -} - -static GtkWidget *window = NULL; - -GtkWidget * -do_menus (GtkWidget *do_widget) -{ - GtkWidget *box; - GtkWidget *box1; - GtkWidget *box2; - GtkWidget *button; - - if (!window) - { - GtkWidget *menubar; - GtkWidget *menu; - GtkWidget *menuitem; - GtkAccelGroup *accel_group; - - window = gtk_window_new (GTK_WINDOW_TOPLEVEL); - gtk_window_set_display (GTK_WINDOW (window), - gtk_widget_get_display (do_widget)); - gtk_window_set_title (GTK_WINDOW (window), "Menus"); - g_signal_connect (window, "destroy", - G_CALLBACK(gtk_widget_destroyed), &window); - - accel_group = gtk_accel_group_new (); - gtk_window_add_accel_group (GTK_WINDOW (window), accel_group); - - box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); - gtk_container_add (GTK_CONTAINER (window), box); - - box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); - gtk_container_add (GTK_CONTAINER (box), box1); - - menubar = gtk_menu_bar_new (); - gtk_widget_set_hexpand (menubar, TRUE); - gtk_container_add (GTK_CONTAINER (box1), menubar); - - menu = create_menu (2); - - menuitem = gtk_menu_item_new_with_label ("test\nline2"); - gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem), menu); - gtk_menu_shell_append (GTK_MENU_SHELL (menubar), menuitem); - - menuitem = gtk_menu_item_new_with_label ("foo"); - gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem), create_menu (3)); - gtk_menu_shell_append (GTK_MENU_SHELL (menubar), menuitem); - - menuitem = gtk_menu_item_new_with_label ("bar"); - gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem), create_menu (4)); - gtk_menu_shell_append (GTK_MENU_SHELL (menubar), menuitem); - - box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 10); - gtk_container_add (GTK_CONTAINER (box1), box2); - - button = gtk_button_new_with_label ("Flip"); - g_signal_connect (button, "clicked", - G_CALLBACK (change_orientation), menubar); - gtk_container_add (GTK_CONTAINER (box2), button); - - button = gtk_button_new_with_label ("Close"); - g_signal_connect_swapped (button, "clicked", - G_CALLBACK(gtk_widget_destroy), window); - gtk_container_add (GTK_CONTAINER (box2), button); - gtk_window_set_default_widget (GTK_WINDOW (window), button); - } - - if (!gtk_widget_get_visible (window)) - gtk_widget_show (window); - else - gtk_widget_destroy (window); - - return window; -} diff --git a/demos/gtk-demo/meson.build b/demos/gtk-demo/meson.build index b10b799dea..1a1721b02a 100644 --- a/demos/gtk-demo/meson.build +++ b/demos/gtk-demo/meson.build @@ -44,7 +44,6 @@ demos = files([ 'flowbox.c', 'list_store.c', 'markup.c', - 'menus.c', 'modelbutton.c', 'overlay.c', 'overlay2.c',