1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 #ifndef MENU_H
20 #define MENU_H
21
22 #include "../lwlib/lwlib-widget.h"
23
24
25
26 enum {
27 MENU_KEYMAPS = 0x1,
28 MENU_FOR_CLICK = 0x2,
29 MENU_KBD_NAVIGATION = 0x4
30 };
31
32 extern void init_menu_items (void);
33 extern void finish_menu_items (void);
34 extern void discard_menu_items (void);
35 extern void save_menu_items (void);
36 extern bool parse_single_submenu (Lisp_Object, Lisp_Object, Lisp_Object);
37 extern void list_of_panes (Lisp_Object);
38 #ifdef HAVE_EXT_MENU_BAR
39 extern void free_menubar_widget_value_tree (widget_value *);
40 extern void update_submenu_strings (widget_value *);
41 extern void find_and_call_menu_selection (struct frame *, int,
42 Lisp_Object, void *);
43 extern widget_value *make_widget_value (const char *, char *, bool, Lisp_Object);
44 extern widget_value *digest_single_submenu (int, int, bool);
45 #endif
46
47 #if defined (HAVE_X_WINDOWS) || defined (MSDOS)
48 extern Lisp_Object x_menu_show (struct frame *, int, int, int,
49 Lisp_Object, const char **);
50 extern void x_activate_menubar (struct frame *);
51 #endif
52 #ifdef HAVE_NTGUI
53 extern Lisp_Object w32_menu_show (struct frame *, int, int, int,
54 Lisp_Object, const char **);
55 extern void w32_activate_menubar (struct frame *);
56 #endif
57 #ifdef HAVE_NS
58 extern Lisp_Object ns_menu_show (struct frame *, int, int, int,
59 Lisp_Object, const char **);
60 extern void ns_activate_menubar (struct frame *);
61 #endif
62 #ifdef HAVE_PGTK
63 extern Lisp_Object pgtk_menu_show (struct frame *, int, int, int,
64 Lisp_Object, const char **);
65 extern void pgtk_activate_menubar (struct frame *);
66 #endif
67
68 extern Lisp_Object tty_menu_show (struct frame *, int, int, int,
69 Lisp_Object, const char **);
70 extern ptrdiff_t menu_item_width (const unsigned char *);
71 extern Lisp_Object x_popup_menu_1 (Lisp_Object position, Lisp_Object menu);
72 #endif