summaryrefslogtreecommitdiff
path: root/gtk+-mingw/share/gtk-3.0/demo/ui_manager.c
diff options
context:
space:
mode:
authorLeo Tenenbaum <pommicket@gmail.com>2018-08-20 21:12:06 -0400
committerLeo Tenenbaum <pommicket@gmail.com>2018-08-20 21:12:06 -0400
commit63e87c2d0c9d263f14c77b68f85c67d46ece82a9 (patch)
tree6260365cbf7d24f37d27669e8538227fcb72e243 /gtk+-mingw/share/gtk-3.0/demo/ui_manager.c
parenta4460f6d9453bbd7e584937686449cef3e19f052 (diff)
Removed gtk+ docsHEADmaster
Diffstat (limited to 'gtk+-mingw/share/gtk-3.0/demo/ui_manager.c')
-rw-r--r--gtk+-mingw/share/gtk-3.0/demo/ui_manager.c235
1 files changed, 0 insertions, 235 deletions
diff --git a/gtk+-mingw/share/gtk-3.0/demo/ui_manager.c b/gtk+-mingw/share/gtk-3.0/demo/ui_manager.c
deleted file mode 100644
index 48c3f45..0000000
--- a/gtk+-mingw/share/gtk-3.0/demo/ui_manager.c
+++ /dev/null
@@ -1,235 +0,0 @@
-/* UI Manager
- *
- * The GtkUIManager object allows the easy creation of menus
- * from an array of actions and a description of the menu hierarchy.
- */
-
-#include <gtk/gtk.h>
-
-static void
-activate_action (GtkAction *action)
-{
- g_message ("Action \"%s\" activated", gtk_action_get_name (action));
-}
-
-static void
-activate_radio_action (GtkAction *action, GtkRadioAction *current)
-{
- g_message ("Radio action \"%s\" selected",
- gtk_action_get_name (GTK_ACTION (current)));
-}
-
-static GtkActionEntry entries[] = {
- { "FileMenu", NULL, "_File" }, /* name, stock id, label */
- { "PreferencesMenu", NULL, "_Preferences" }, /* name, stock id, label */
- { "ColorMenu", NULL, "_Color" }, /* name, stock id, label */
- { "ShapeMenu", NULL, "_Shape" }, /* name, stock id, label */
- { "HelpMenu", NULL, "_Help" }, /* name, stock id, label */
- { "New", GTK_STOCK_NEW, /* name, stock id */
- "_New", "<control>N", /* label, accelerator */
- "Create a new file", /* tooltip */
- G_CALLBACK (activate_action) },
- { "Open", GTK_STOCK_OPEN, /* name, stock id */
- "_Open","<control>O", /* label, accelerator */
- "Open a file", /* tooltip */
- G_CALLBACK (activate_action) },
- { "Save", GTK_STOCK_SAVE, /* name, stock id */
- "_Save","<control>S", /* label, accelerator */
- "Save current file", /* tooltip */
- G_CALLBACK (activate_action) },
- { "SaveAs", GTK_STOCK_SAVE, /* name, stock id */
- "Save _As...", NULL, /* label, accelerator */
- "Save to a file", /* tooltip */
- G_CALLBACK (activate_action) },
- { "Quit", GTK_STOCK_QUIT, /* name, stock id */
- "_Quit", "<control>Q", /* label, accelerator */
- "Quit", /* tooltip */
- G_CALLBACK (activate_action) },
- { "About", NULL, /* name, stock id */
- "_About", "<control>A", /* label, accelerator */
- "About", /* tooltip */
- G_CALLBACK (activate_action) },
- { "Logo", "demo-gtk-logo", /* name, stock id */
- NULL, NULL, /* label, accelerator */
- "GTK+", /* tooltip */
- G_CALLBACK (activate_action) },
-};
-static guint n_entries = G_N_ELEMENTS (entries);
-
-
-static GtkToggleActionEntry toggle_entries[] = {
- { "Bold", GTK_STOCK_BOLD, /* name, stock id */
- "_Bold", "<control>B", /* label, accelerator */
- "Bold", /* tooltip */
- G_CALLBACK (activate_action),
- TRUE }, /* is_active */
-};
-static guint n_toggle_entries = G_N_ELEMENTS (toggle_entries);
-
-enum {
- COLOR_RED,
- COLOR_GREEN,
- COLOR_BLUE
-};
-
-static GtkRadioActionEntry color_entries[] = {
- { "Red", NULL, /* name, stock id */
- "_Red", "<control>R", /* label, accelerator */
- "Blood", COLOR_RED }, /* tooltip, value */
- { "Green", NULL, /* name, stock id */
- "_Green", "<control>G", /* label, accelerator */
- "Grass", COLOR_GREEN }, /* tooltip, value */
- { "Blue", NULL, /* name, stock id */
- "_Blue", "<control>B", /* label, accelerator */
- "Sky", COLOR_BLUE }, /* tooltip, value */
-};
-static guint n_color_entries = G_N_ELEMENTS (color_entries);
-
-enum {
- SHAPE_SQUARE,
- SHAPE_RECTANGLE,
- SHAPE_OVAL
-};
-
-static GtkRadioActionEntry shape_entries[] = {
- { "Square", NULL, /* name, stock id */
- "_Square", "<control>S", /* label, accelerator */
- "Square", SHAPE_SQUARE }, /* tooltip, value */
- { "Rectangle", NULL, /* name, stock id */
- "_Rectangle", "<control>R", /* label, accelerator */
- "Rectangle", SHAPE_RECTANGLE }, /* tooltip, value */
- { "Oval", NULL, /* name, stock id */
- "_Oval", "<control>O", /* label, accelerator */
- "Egg", SHAPE_OVAL }, /* tooltip, value */
-};
-static guint n_shape_entries = G_N_ELEMENTS (shape_entries);
-
-static const gchar *ui_info =
-"<ui>"
-" <menubar name='MenuBar'>"
-" <menu action='FileMenu'>"
-" <menuitem action='New'/>"
-" <menuitem action='Open'/>"
-" <menuitem action='Save'/>"
-" <menuitem action='SaveAs'/>"
-" <separator/>"
-" <menuitem action='Quit'/>"
-" </menu>"
-" <menu action='PreferencesMenu'>"
-" <menu action='ColorMenu'>"
-" <menuitem action='Red'/>"
-" <menuitem action='Green'/>"
-" <menuitem action='Blue'/>"
-" </menu>"
-" <menu action='ShapeMenu'>"
-" <menuitem action='Square'/>"
-" <menuitem action='Rectangle'/>"
-" <menuitem action='Oval'/>"
-" </menu>"
-" <menuitem action='Bold'/>"
-" </menu>"
-" <menu action='HelpMenu'>"
-" <menuitem action='About'/>"
-" </menu>"
-" </menubar>"
-" <toolbar name='ToolBar'>"
-" <toolitem action='Open'/>"
-" <toolitem action='Quit'/>"
-" <separator action='Sep1'/>"
-" <toolitem action='Logo'/>"
-" </toolbar>"
-"</ui>";
-
-GtkWidget *
-do_ui_manager (GtkWidget *do_widget)
-{
- static GtkWidget *window = NULL;
-
- if (!window)
- {
- GtkWidget *box1;
- GtkWidget *box2;
- GtkWidget *separator;
- GtkWidget *label;
- GtkWidget *button;
- GtkUIManager *ui;
- GtkActionGroup *actions;
- GError *error = NULL;
-
- window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
- gtk_window_set_screen (GTK_WINDOW (window),
- gtk_widget_get_screen (do_widget));
-
- g_signal_connect (window, "destroy",
- G_CALLBACK (gtk_widget_destroyed), &window);
- g_signal_connect (window, "delete-event",
- G_CALLBACK (gtk_true), NULL);
-
- actions = gtk_action_group_new ("Actions");
- gtk_action_group_add_actions (actions, entries, n_entries, NULL);
- gtk_action_group_add_toggle_actions (actions,
- toggle_entries, n_toggle_entries,
- NULL);
- gtk_action_group_add_radio_actions (actions,
- color_entries, n_color_entries,
- COLOR_RED,
- G_CALLBACK (activate_radio_action),
- NULL);
- gtk_action_group_add_radio_actions (actions,
- shape_entries, n_shape_entries,
- SHAPE_OVAL,
- G_CALLBACK (activate_radio_action),
- NULL);
-
- ui = gtk_ui_manager_new ();
- gtk_ui_manager_insert_action_group (ui, actions, 0);
- g_object_unref (actions);
- gtk_window_add_accel_group (GTK_WINDOW (window),
- gtk_ui_manager_get_accel_group (ui));
- gtk_window_set_title (GTK_WINDOW (window), "UI Manager");
- gtk_container_set_border_width (GTK_CONTAINER (window), 0);
-
- if (!gtk_ui_manager_add_ui_from_string (ui, ui_info, -1, &error))
- {
- g_message ("building menus failed: %s", error->message);
- g_error_free (error);
- }
-
- box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
- gtk_container_add (GTK_CONTAINER (window), box1);
-
- gtk_box_pack_start (GTK_BOX (box1),
- gtk_ui_manager_get_widget (ui, "/MenuBar"),
- FALSE, FALSE, 0);
-
- label = gtk_label_new ("Type\n<alt>\nto start");
- gtk_widget_set_size_request (label, 200, 200);
- gtk_widget_set_halign (label, GTK_ALIGN_CENTER);
- gtk_widget_set_valign (label, GTK_ALIGN_CENTER);
- gtk_box_pack_start (GTK_BOX (box1), label, TRUE, TRUE, 0);
-
- separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL);
- gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 0);
-
- box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 10);
- gtk_container_set_border_width (GTK_CONTAINER (box2), 10);
- gtk_box_pack_start (GTK_BOX (box1), box2, FALSE, TRUE, 0);
-
- button = gtk_button_new_with_label ("close");
- g_signal_connect_swapped (button, "clicked",
- G_CALLBACK (gtk_widget_destroy), window);
- gtk_box_pack_start (GTK_BOX (box2), button, TRUE, TRUE, 0);
- gtk_widget_set_can_default (button, TRUE);
- gtk_widget_grab_default (button);
-
- gtk_widget_show_all (window);
- g_object_unref (ui);
- }
- else
- {
- gtk_widget_destroy (window);
- window = NULL;
- }
-
- return window;
-}