1 /* Define generic menubar support.
2 Copyright (C) 1995 Board of Trustees, University of Illinois.
4 This file is part of SXEmacs
6 SXEmacs 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.
11 SXEmacs 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.
16 You should have received a copy of the GNU General Public License
17 along with this program. If not, see <http://www.gnu.org/licenses/>. */
20 /* Synched up with: Not in FSF. */
22 /* #### Still needs some device-abstraction work. */
24 #ifndef INCLUDED_menubar_h_
25 #define INCLUDED_menubar_h_
29 void update_frame_menubars(struct frame *f);
30 void free_frame_menubars(struct frame *f);
31 Lisp_Object menu_parse_submenu_keywords(Lisp_Object desc, Lisp_Object gui_item);
32 Lisp_Object current_frame_menubar(const struct frame *f);
34 EXFUN(Fmenu_find_real_submenu, 2);
36 extern Lisp_Object Vmenu_accelerator_prefix;
37 extern Lisp_Object Vmenu_accelerator_modifiers;
38 extern Lisp_Object Vmenu_accelerator_enabled;
39 extern Lisp_Object Vmenu_accelerator_map;
41 extern Lisp_Object Qmenu_force;
42 extern Lisp_Object Qmenu_fallback;
44 extern Lisp_Object Qmenu_quit;
45 extern Lisp_Object Qmenu_up;
46 extern Lisp_Object Qmenu_down;
47 extern Lisp_Object Qmenu_left;
48 extern Lisp_Object Qmenu_right;
49 extern Lisp_Object Qmenu_select;
50 extern Lisp_Object Qmenu_escape;
52 /* #### kluuuuuuuuuuuuuuuuuuuuuuuuuuuudge!
53 The author of the accelerator code didn't know what the hell he was doing.
54 Someone needs to abstract this properly. */
55 #if defined(HAVE_X_WINDOWS) && defined(LWLIB_MENUBARS_LUCID)
56 extern int x_kludge_lw_menu_active(void);
57 struct command_builder;
58 Lisp_Object command_builder_find_menu_accelerator(struct command_builder
60 Lisp_Object command_builder_operate_menu_accelerator(struct command_builder
63 extern int in_menu_callback;
66 #endif /* HAVE_MENUBARS */
68 #endif /* INCLUDED_menubar_h_ */