1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
4 * This file is part of the LibreOffice project.
6 * This Source Code Form is subject to the terms of the Mozilla Public
7 * License, v. 2.0. If a copy of the MPL was not distributed with this
8 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
15 #define G_LO_MENU_ATTRIBUTE_ACCELERATOR "accel"
16 #define G_LO_MENU_ATTRIBUTE_COMMAND "command"
17 #define G_LO_MENU_ATTRIBUTE_SUBMENU_ACTION "submenu-action"
21 #define G_TYPE_LO_MENU (g_lo_menu_get_type ())
22 #define G_LO_MENU(inst) (G_TYPE_CHECK_INSTANCE_CAST ((inst), \
23 G_TYPE_LO_MENU, GLOMenu))
24 #define G_IS_LO_MENU(inst) (G_TYPE_CHECK_INSTANCE_TYPE ((inst), \
31 GLIB_AVAILABLE_IN_2_32
32 GType
g_lo_menu_get_type (void) G_GNUC_CONST
;
33 GLIB_AVAILABLE_IN_2_32
34 GLOMenu
* g_lo_menu_new (void);
36 gint
g_lo_menu_get_n_items_from_section (GLOMenu
*menu
,
39 void g_lo_menu_insert (GLOMenu
*menu
,
43 void g_lo_menu_insert_in_section (GLOMenu
*menu
,
48 void g_lo_menu_new_section (GLOMenu
*menu
,
52 void g_lo_menu_insert_section (GLOMenu
*menu
,
57 GLOMenu
* g_lo_menu_get_section (GLOMenu
*menu
,
60 void g_lo_menu_remove (GLOMenu
*menu
,
63 void g_lo_menu_remove_from_section (GLOMenu
*menu
,
67 void g_lo_menu_set_label (GLOMenu
*menu
,
71 void g_lo_menu_set_icon (GLOMenu
*menu
,
76 void g_lo_menu_set_label_to_item_in_section (GLOMenu
*menu
,
80 bool fire_event
= true);
82 void g_lo_menu_set_icon_to_item_in_section (GLOMenu
*menu
,
87 gchar
* g_lo_menu_get_label_from_item_in_section (GLOMenu
*menu
,
91 void g_lo_menu_set_action_and_target_value (GLOMenu
*menu
,
94 GVariant
*target_value
);
96 void g_lo_menu_set_action_and_target_value_to_item_in_section (GLOMenu
*menu
,
100 GVariant
*target_value
);
102 void g_lo_menu_set_command_to_item_in_section (GLOMenu
*menu
,
105 const gchar
*command
,
106 bool fire_event
= true);
108 gchar
* g_lo_menu_get_command_from_item_in_section (GLOMenu
*menu
,
112 void g_lo_menu_set_accelerator_to_item_in_section (GLOMenu
*menu
,
115 const gchar
*accelerator
);
117 gchar
* g_lo_menu_get_accelerator_from_item_in_section (GLOMenu
*menu
,
121 void g_lo_menu_new_submenu_in_item_in_section (GLOMenu
*menu
,
125 GLOMenu
* g_lo_menu_get_submenu_from_item_in_section (GLOMenu
*menu
,
129 void g_lo_menu_set_submenu_action_to_item_in_section (GLOMenu
*menu
,
132 const gchar
*action
);
136 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */