Commit | Line | Data |
---|---|---|
e7c9048f | 1 | /* Functions to manipulate menus. |
ba318903 | 2 | Copyright (C) 2008-2014 Free Software Foundation, Inc. |
e7c9048f AS |
3 | |
4 | This file is part of GNU Emacs. | |
5 | ||
6 | GNU Emacs is free software: you can redistribute it and/or modify | |
7 | it under the terms of the GNU General Public License as published by | |
8 | the Free Software Foundation, either version 3 of the License, or | |
9 | (at your option) any later version. | |
10 | ||
11 | GNU Emacs is distributed in the hope that it will be useful, | |
12 | but WITHOUT ANY WARRANTY; without even the implied warranty of | |
13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
14 | GNU General Public License for more details. | |
15 | ||
16 | You should have received a copy of the GNU General Public License | |
17 | along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |
18 | ||
19 | #ifndef MENU_H | |
20 | #define MENU_H | |
21 | ||
08dc5ae6 PE |
22 | #include "systime.h" /* for Time */ |
23 | ||
e139a33c EZ |
24 | #ifdef HAVE_NTGUI |
25 | extern Lisp_Object Qunsupported__w32_dialog; | |
26 | #endif | |
27 | ||
3d608a86 J |
28 | extern void x_set_menu_bar_lines (struct frame *f, |
29 | Lisp_Object value, | |
30 | Lisp_Object oldval); | |
31 | ||
383e0970 | 32 | extern void init_menu_items (void); |
5994c183 | 33 | extern void finish_menu_items (void) ATTRIBUTE_CONST; |
383e0970 J |
34 | extern void discard_menu_items (void); |
35 | extern void save_menu_items (void); | |
7cded46f | 36 | extern bool parse_single_submenu (Lisp_Object, Lisp_Object, Lisp_Object); |
383e0970 | 37 | extern void list_of_panes (Lisp_Object); |
3d608a86 J |
38 | #if defined (USE_X_TOOLKIT) || defined (USE_GTK) || defined (HAVE_NTGUI) \ |
39 | || defined (HAVE_NS) | |
383e0970 J |
40 | extern void free_menubar_widget_value_tree (widget_value *); |
41 | extern void update_submenu_strings (widget_value *); | |
a10c8269 | 42 | extern void find_and_call_menu_selection (struct frame *, int, |
383e0970 | 43 | Lisp_Object, void *); |
a11889ab | 44 | extern widget_value *xmalloc_widget_value (void); |
7cded46f | 45 | extern widget_value *digest_single_submenu (int, int, bool); |
e7c9048f AS |
46 | #endif |
47 | ||
ef7417fd | 48 | #ifdef HAVE_X_WINDOWS |
a10c8269 | 49 | extern void mouse_position_for_popup (struct frame *f, int *x, int *y); |
ef7417fd SM |
50 | #endif |
51 | ||
a10c8269 | 52 | extern Lisp_Object w32_menu_show (struct frame *, int, int, int, int, |
42ca4633 | 53 | Lisp_Object, const char **); |
a10c8269 | 54 | extern Lisp_Object ns_menu_show (struct frame *, int, int, bool, bool, |
42ca4633 | 55 | Lisp_Object, const char **); |
a10c8269 | 56 | extern Lisp_Object xmenu_show (struct frame *, int, int, bool, bool, |
6bbe6da8 | 57 | Lisp_Object, const char **); |
798aef02 PE |
58 | extern Lisp_Object tty_menu_show (struct frame *, int, int, bool, bool, |
59 | Lisp_Object, bool, const char **); | |
3b158d11 | 60 | extern ptrdiff_t menu_item_width (const unsigned char *); |
e7c9048f | 61 | #endif /* MENU_H */ |