update.
[chise/xemacs-chise.git-] / src / menubar.h
1 /* Define generic menubar support.
2    Copyright (C) 1995 Board of Trustees, University of Illinois.
3
4 This file is part of XEmacs.
5
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
9 later version.
10
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
14 for more details.
15
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.  */
20
21 /* Synched up with: Not in FSF. */
22
23 /* #### Still needs some device-abstraction work. */
24
25 #ifndef INCLUDED_menubar_h_
26 #define INCLUDED_menubar_h_
27
28 #ifdef HAVE_MENUBARS
29 #include "gui.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);
35
36 EXFUN (Fmenu_find_real_submenu, 2);
37
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;
42
43 extern Lisp_Object Qmenu_force;
44 extern Lisp_Object Qmenu_fallback;
45
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;
53
54
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
62                                                    *builder);
63 Lisp_Object command_builder_operate_menu_accelerator (struct command_builder
64                                                       *builder);
65
66 extern int in_menu_callback;
67 #endif
68
69 #endif /* HAVE_MENUBARS */
70
71 #endif /* INCLUDED_menubar_h_ */