GMenu.def 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. DEFINITION MODULE FOR "C" GMenu ;
  2. (*
  3. m2-GTK4 - GMenu and GMenuItem: a concrete GMenuModel. Mapped onto
  4. <gio/gmenu.h> (GMenuItem is declared in the same header).
  5. The easy form names a label and a "detailed action" to activate:
  6. g_menu_append(fileMenu, "Quit", "app.quit");
  7. g_menu_append(viewMenu, "Bold", "win.bold");
  8. where "app." / "win." select the application's or a
  9. GtkApplicationWindow's action map. Submenus are built as separate
  10. GMenu objects and attached with g_menu_append_submenu().
  11. g_menu_append() passes NIL as the item's target; for an action with
  12. a parameter use a GMenuItem and set_action_and_target_value().
  13. *)
  14. FROM SYSTEM IMPORT ADDRESS;
  15. EXPORT UNQUALIFIED
  16. GMenu, GMenuItem,
  17. g_menu_new, g_menu_append, g_menu_prepend, g_menu_insert,
  18. g_menu_append_submenu, g_menu_append_item,
  19. g_menu_remove, g_menu_remove_all,
  20. g_menu_item_new, g_menu_item_set_label, g_menu_item_set_submenu,
  21. g_menu_item_set_action_and_target_value;
  22. TYPE
  23. GMenu = ADDRESS;
  24. GMenuItem = ADDRESS;
  25. (* GMenu *g_menu_new(void) *)
  26. PROCEDURE g_menu_new () : GMenu;
  27. (* void g_menu_append(GMenu *menu, const gchar *label,
  28. const gchar *detailed_action) *)
  29. PROCEDURE g_menu_append (menu: GMenu; label: ARRAY OF CHAR;
  30. detailed_action: ARRAY OF CHAR);
  31. (* void g_menu_prepend(GMenu *menu, const gchar *label,
  32. const gchar *detailed_action) *)
  33. PROCEDURE g_menu_prepend (menu: GMenu; label: ARRAY OF CHAR;
  34. detailed_action: ARRAY OF CHAR);
  35. (* void g_menu_insert(GMenu *menu, gint position, const gchar *label,
  36. const gchar *detailed_action) *)
  37. PROCEDURE g_menu_insert (menu: GMenu; position: INTEGER;
  38. label: ARRAY OF CHAR;
  39. detailed_action: ARRAY OF CHAR);
  40. (* void g_menu_append_submenu(GMenu *menu, const gchar *label,
  41. GMenuModel *submenu) *)
  42. PROCEDURE g_menu_append_submenu (menu: GMenu; label: ARRAY OF CHAR;
  43. submenu: ADDRESS);
  44. (* void g_menu_append_item(GMenu *menu, GMenuItem *item) *)
  45. PROCEDURE g_menu_append_item (menu: GMenu; item: ADDRESS);
  46. (* void g_menu_remove(GMenu *menu, gint position) *)
  47. PROCEDURE g_menu_remove (menu: GMenu; position: INTEGER);
  48. (* void g_menu_remove_all(GMenu *menu) *)
  49. PROCEDURE g_menu_remove_all (menu: GMenu);
  50. (* GMenuItem *g_menu_item_new(const gchar *label,
  51. const gchar *detailed_action) *)
  52. PROCEDURE g_menu_item_new (label: ARRAY OF CHAR;
  53. detailed_action: ARRAY OF CHAR) : GMenuItem;
  54. (* void g_menu_item_set_label(GMenuItem *menu_item, const gchar *label) *)
  55. PROCEDURE g_menu_item_set_label (menu_item: GMenuItem;
  56. label: ARRAY OF CHAR);
  57. (* void g_menu_item_set_submenu(GMenuItem *menu_item, GMenuModel *submenu) *)
  58. PROCEDURE g_menu_item_set_submenu (menu_item: GMenuItem; submenu: ADDRESS);
  59. (* void g_menu_item_set_action_and_target_value(GMenuItem *menu_item,
  60. const gchar *action_and_target,
  61. GVariant *target_value) *)
  62. PROCEDURE g_menu_item_set_action_and_target_value (menu_item: GMenuItem;
  63. action_and_target: ARRAY OF CHAR;
  64. target_value: ADDRESS);
  65. END GMenu.