[tepl] docs: show code example in AmtkFactoryMenu, to create a GtkMenuBar



commit d5f12283be3208ebe226778acbda7a3b1fe34fd3
Author: Sébastien Wilmet <swilmet gnome org>
Date:   Tue Aug 1 21:59:39 2017 +0200

    docs: show code example in AmtkFactoryMenu, to create a GtkMenuBar

 amtk/amtk-factory-menu.c |   65 ++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 65 insertions(+), 0 deletions(-)
---
diff --git a/amtk/amtk-factory-menu.c b/amtk/amtk-factory-menu.c
index 92c64ac..964abf0 100644
--- a/amtk/amtk-factory-menu.c
+++ b/amtk/amtk-factory-menu.c
@@ -36,6 +36,71 @@
  * If not ignored by an #AmtkFactoryFlags, the tooltip is set with
  * amtk_menu_item_set_long_description(), which permits to display it in a
  * #GtkStatusbar with amtk_application_window_connect_menu_to_statusbar().
+ *
+ * # Code example
+ *
+ * How to create a #GtkMenuBar with #AmtkFactoryMenu. Each submenu is created by
+ * a separate function, to make the code clearer.
+ *
+ * |[
+ * static GtkWidget *
+ * create_file_submenu (void)
+ * {
+ *   GtkMenuShell *file_submenu;
+ *   AmtkFactoryMenu *factory;
+ *
+ *   file_submenu = GTK_MENU_SHELL (gtk_menu_new ());
+ *
+ *   factory = amtk_factory_menu_new_with_default_application ();
+ *   gtk_menu_shell_append (file_submenu, amtk_factory_menu_create_menu_item (factory, "win.open"));
+ *   gtk_menu_shell_append (file_submenu, amtk_factory_menu_create_menu_item (factory, "win.save"));
+ *   gtk_menu_shell_append (file_submenu, gtk_separator_menu_item_new ());
+ *   gtk_menu_shell_append (file_submenu, amtk_factory_menu_create_menu_item (factory, "app.quit"));
+ *   g_object_unref (factory);
+ *
+ *   return GTK_WIDGET (file_submenu);
+ * }
+ *
+ * static GtkWidget *
+ * create_help_submenu (void)
+ * {
+ *   GtkMenuShell *help_submenu;
+ *   AmtkFactoryMenu *factory;
+ *
+ *   help_submenu = GTK_MENU_SHELL (gtk_menu_new ());
+ *
+ *   factory = amtk_factory_menu_new_with_default_application ();
+ *   gtk_menu_shell_append (help_submenu, amtk_factory_menu_create_menu_item (factory, "app.about"));
+ *   g_object_unref (factory);
+ *
+ *   return GTK_WIDGET (help_submenu);
+ * }
+ *
+ * static GtkWidget *
+ * create_menu_bar (void)
+ * {
+ *   GtkWidget *file_menu_item;
+ *   GtkWidget *help_menu_item;
+ *   GtkWidget *menu_bar;
+ *
+ *   file_menu_item = gtk_menu_item_new_with_mnemonic ("_File");
+ *   gtk_menu_item_set_submenu (GTK_MENU_ITEM (file_menu_item),
+ *                              create_file_submenu ());
+ *
+ *   help_menu_item = gtk_menu_item_new_with_mnemonic ("_Help");
+ *   gtk_menu_item_set_submenu (GTK_MENU_ITEM (help_menu_item),
+ *                              create_help_submenu ());
+ *
+ *   menu_bar = gtk_menu_bar_new ();
+ *   gtk_menu_shell_append (GTK_MENU_SHELL (menu_bar), file_menu_item);
+ *   gtk_menu_shell_append (GTK_MENU_SHELL (menu_bar), help_menu_item);
+ *
+ *   // Additionally, it is a good place to call
+ *   // amtk_action_info_store_check_all_used() here.
+ *
+ *   return menu_bar;
+ * }
+ * ]|
  */
 
 struct _AmtkFactoryMenuPrivate


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]