1 /* Define generic menubar support.
2 Copyright (C) 1995 Board of Trustees, University of Illinois.
4 This file is part of XEmacs.
6 XEmacs is free software; you can redistribute it and/or modify it
7 under the terms of the GNU General Public License as published by the
8 Free Software Foundation; either version 2, or (at your option) any
11 XEmacs is distributed in the hope that it will be useful, but WITHOUT
12 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
16 You should have received a copy of the GNU General Public License
17 along with XEmacs; see the file COPYING. If not, write to
18 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
19 Boston, MA 02111-1307, USA. */
21 /* Synched up with: Not in FSF. */
23 /* #### Still needs some device-abstraction work. */
25 #ifndef INCLUDED_menubar_h_
26 #define INCLUDED_menubar_h_
30 void update_frame_menubars (struct frame *f);
31 void free_frame_menubars (struct frame *f);
32 Lisp_Object menu_parse_submenu_keywords (Lisp_Object desc,
33 Lisp_Object gui_item);
34 Lisp_Object current_frame_menubar (const struct frame* f);
36 EXFUN (Fmenu_find_real_submenu, 2);
38 extern Lisp_Object Vmenu_accelerator_prefix;
39 extern Lisp_Object Vmenu_accelerator_modifiers;
40 extern Lisp_Object Vmenu_accelerator_enabled;
41 extern Lisp_Object Vmenu_accelerator_map;
43 extern Lisp_Object Qmenu_force;
44 extern Lisp_Object Qmenu_fallback;
46 extern Lisp_Object Qmenu_quit;
47 extern Lisp_Object Qmenu_up;
48 extern Lisp_Object Qmenu_down;
49 extern Lisp_Object Qmenu_left;
50 extern Lisp_Object Qmenu_right;
51 extern Lisp_Object Qmenu_select;
52 extern Lisp_Object Qmenu_escape;
55 /* #### kluuuuuuuuuuuuuuuuuuuuuuuuuuuudge!
56 The author of the accelerator code didn't know what the hell he was doing.
57 Someone needs to abstract this properly. */
58 #if defined(HAVE_X_WINDOWS) && defined(LWLIB_MENUBARS_LUCID)
59 extern int x_kludge_lw_menu_active (void);
60 struct command_builder;
61 Lisp_Object command_builder_find_menu_accelerator (struct command_builder
63 Lisp_Object command_builder_operate_menu_accelerator (struct command_builder
66 extern int in_menu_callback;
69 #endif /* HAVE_MENUBARS */
71 #endif /* INCLUDED_menubar_h_ */