GnuCash c935c2f+
Loading...
Searching...
No Matches
gnc-menu-extensions.h
1/********************************************************************\
2 * gnc-menu-extensions.h -- functions to build dynamic menus *
3 * Copyright (C) 1999 Rob Browning *
4 * *
5 * This program is free software; you can redistribute it and/or *
6 * modify it under the terms of the GNU General Public License as *
7 * published by the Free Software Foundation; either version 2 of *
8 * the License, or (at your option) any later version. *
9 * *
10 * This program is distributed in the hope that it will be useful, *
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
13 * GNU General Public License for more details. *
14 * *
15 * You should have received a copy of the GNU General Public License*
16 * along with this program; if not, contact: *
17 * *
18 * Free Software Foundation Voice: +1-617-542-5942 *
19 * 51 Franklin Street, Fifth Floor Fax: +1-617-542-2652 *
20 * Boston, MA 02110-1301, USA gnu@gnu.org *
21\********************************************************************/
22
23#ifndef GNC_MENU_EXTENSIONS_H
24#define GNC_MENU_EXTENSIONS_H
25
26#include <libguile.h>
27
28typedef enum
29{
30 GNC_MENU_ITEM,
31 GNC_SUB_MENU_ITEM,
32 GNC_SEPARATOR_ITEM,
33} GNCMenuItemTypes;
34
35typedef struct _ExtensionInfo
36{
37 SCM extension;
38
39 gchar *action_label;
40 gchar *action_label_original;
41 gchar *action_name;
42 gchar *action_tooltip;
43
44 gchar *path;
45 gchar *sort_key;
46 const gchar *typeStr;
47
48 GNCMenuItemTypes type;
49 gboolean accel_assigned;
51
52GSList *gnc_extensions_get_menu_list (void);
53void gnc_extension_invoke_cb (SCM extension, SCM window);
54
61void gnc_add_scm_extension (SCM extension);
62
66void gnc_extensions_shutdown (void);
67
68#endif