LibreOffice Module vcl (master)  1
glomenu.h
Go to the documentation of this file.
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 
3 /*
4  * This file is part of the LibreOffice project.
5  *
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/.
9  */
10 
11 #ifndef INCLUDED_VCL_INC_UNX_GTK_GLOMENU_H
12 #define INCLUDED_VCL_INC_UNX_GTK_GLOMENU_H
13 
14 #include <gio/gio.h>
15 
16 #define G_LO_MENU_ATTRIBUTE_ACCELERATOR "accel"
17 #define G_LO_MENU_ATTRIBUTE_COMMAND "command"
18 #define G_LO_MENU_ATTRIBUTE_SUBMENU_ACTION "submenu-action"
19 
20 G_BEGIN_DECLS
21 
22 #define G_TYPE_LO_MENU (g_lo_menu_get_type ())
23 #define G_LO_MENU(inst) (G_TYPE_CHECK_INSTANCE_CAST ((inst), \
24  G_TYPE_LO_MENU, GLOMenu))
25 #define G_IS_LO_MENU(inst) (G_TYPE_CHECK_INSTANCE_TYPE ((inst), \
26  G_TYPE_LO_MENU))
27 
28 struct GLOMenu;
29 
30 class GtkSalMenuItem;
31 
32 GLIB_AVAILABLE_IN_2_32
33 GType g_lo_menu_get_type (void) G_GNUC_CONST;
34 GLIB_AVAILABLE_IN_2_32
35 GLOMenu * g_lo_menu_new (void);
36 
37 gint g_lo_menu_get_n_items_from_section (GLOMenu *menu,
38  gint section);
39 
40 void g_lo_menu_insert (GLOMenu *menu,
41  gint position,
42  const gchar *label);
43 
44 void g_lo_menu_insert_in_section (GLOMenu *menu,
45  gint section,
46  gint position,
47  const gchar *label);
48 
49 void g_lo_menu_new_section (GLOMenu *menu,
50  gint position,
51  const gchar *label);
52 
53 void g_lo_menu_insert_section (GLOMenu *menu,
54  gint position,
55  const gchar *label,
56  GMenuModel *section);
57 
58 GLOMenu * g_lo_menu_get_section (GLOMenu *menu,
59  gint section);
60 
61 void g_lo_menu_remove (GLOMenu *menu,
62  gint position);
63 
64 void g_lo_menu_remove_from_section (GLOMenu *menu,
65  gint section,
66  gint position);
67 
68 void g_lo_menu_set_label (GLOMenu *menu,
69  gint position,
70  const gchar *label);
71 
72 void g_lo_menu_set_icon (GLOMenu *menu,
73  gint position,
74  const GIcon *icon);
75 
76 
77 void g_lo_menu_set_label_to_item_in_section (GLOMenu *menu,
78  gint section,
79  gint position,
80  const gchar *label);
81 
82 void g_lo_menu_set_icon_to_item_in_section (GLOMenu *menu,
83  gint section,
84  gint position,
85  const GIcon *icon);
86 
87 gchar * g_lo_menu_get_label_from_item_in_section (GLOMenu *menu,
88  gint section,
89  gint position);
90 
91 void g_lo_menu_set_action_and_target_value (GLOMenu *menu,
92  gint position,
93  const gchar *command,
94  GVariant *target_value);
95 
97  gint section,
98  gint position,
99  const gchar *command,
100  GVariant *target_value);
101 
102 void g_lo_menu_set_command_to_item_in_section (GLOMenu *menu,
103  gint section,
104  gint position,
105  const gchar *command);
106 
107 gchar * g_lo_menu_get_command_from_item_in_section (GLOMenu *menu,
108  gint section,
109  gint position);
110 
112  gint section,
113  gint position,
114  const gchar *accelerator);
115 
117  gint section,
118  gint position);
119 
120 void g_lo_menu_new_submenu_in_item_in_section (GLOMenu *menu,
121  gint section,
122  gint position);
123 
124 GLOMenu * g_lo_menu_get_submenu_from_item_in_section (GLOMenu *menu,
125  gint section,
126  gint position);
127 
129  gint section,
130  gint position,
131  const gchar *action);
132 
133 G_END_DECLS
134 
135 #endif // INCLUDED_VCL_INC_UNX_GTK_GLOMENU_H
136 
137 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
void g_lo_menu_insert_in_section(GLOMenu *menu, gint section, gint position, const gchar *label)
GLIB_AVAILABLE_IN_2_32 GType g_lo_menu_get_type(void) G_GNUC_CONST
gchar * g_lo_menu_get_command_from_item_in_section(GLOMenu *menu, gint section, gint position)
void g_lo_menu_new_section(GLOMenu *menu, gint position, const gchar *label)
void g_lo_menu_remove_from_section(GLOMenu *menu, gint section, gint position)
void g_lo_menu_set_label_to_item_in_section(GLOMenu *menu, gint section, gint position, const gchar *label)
void g_lo_menu_set_accelerator_to_item_in_section(GLOMenu *menu, gint section, gint position, const gchar *accelerator)
gchar * g_lo_menu_get_label_from_item_in_section(GLOMenu *menu, gint section, gint position)
GLIB_AVAILABLE_IN_2_32 GLOMenu * g_lo_menu_new(void)
GLOMenu * g_lo_menu_get_submenu_from_item_in_section(GLOMenu *menu, gint section, gint position)
void g_lo_menu_set_action_and_target_value_to_item_in_section(GLOMenu *menu, gint section, gint position, const gchar *command, GVariant *target_value)
void g_lo_menu_set_command_to_item_in_section(GLOMenu *menu, gint section, gint position, const gchar *command)
void g_lo_menu_insert_section(GLOMenu *menu, gint position, const gchar *label, GMenuModel *section)
void g_lo_menu_set_icon(GLOMenu *menu, gint position, const GIcon *icon)
GLOMenu * g_lo_menu_get_section(GLOMenu *menu, gint section)
void g_lo_menu_insert(GLOMenu *menu, gint position, const gchar *label)
void g_lo_menu_new_submenu_in_item_in_section(GLOMenu *menu, gint section, gint position)
void g_lo_menu_remove(GLOMenu *menu, gint position)
void g_lo_menu_set_label(GLOMenu *menu, gint position, const gchar *label)
gint g_lo_menu_get_n_items_from_section(GLOMenu *menu, gint section)
gchar * g_lo_menu_get_accelerator_from_item_in_section(GLOMenu *menu, gint section, gint position)
void g_lo_menu_set_icon_to_item_in_section(GLOMenu *menu, gint section, gint position, const GIcon *icon)
void g_lo_menu_set_submenu_action_to_item_in_section(GLOMenu *menu, gint section, gint position, const gchar *action)
void g_lo_menu_set_action_and_target_value(GLOMenu *menu, gint position, const gchar *command, GVariant *target_value)