annotate src/menubar.h @ 442:abe6d1db359e r21-2-36

Import from CVS: tag r21-2-36
author cvs
date Mon, 13 Aug 2007 11:35:02 +0200
parents 8de8e3f6228a
children 79c6ff3eef26
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1 /* Define generic menubar support.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2 Copyright (C) 1995 Board of Trustees, University of Illinois.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4 This file is part of XEmacs.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
6 XEmacs is free software; you can redistribute it and/or modify it
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
7 under the terms of the GNU General Public License as published by the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8 Free Software Foundation; either version 2, or (at your option) any
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
9 later version.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
10
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
11 XEmacs is distributed in the hope that it will be useful, but WITHOUT
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
12 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
13 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
14 for more details.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
15
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
16 You should have received a copy of the GNU General Public License
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
17 along with XEmacs; see the file COPYING. If not, write to
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
18 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
19 Boston, MA 02111-1307, USA. */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
20
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
21 /* Synched up with: Not in FSF. */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
22
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
23 /* #### Still needs some device-abstraction work. */
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
24
440
8de8e3f6228a Import from CVS: tag r21-2-28
cvs
parents: 428
diff changeset
25 #ifndef INCLUDED_menubar_h_
8de8e3f6228a Import from CVS: tag r21-2-28
cvs
parents: 428
diff changeset
26 #define INCLUDED_menubar_h_
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
27
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
28 #ifdef HAVE_MENUBARS
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
29 #include "gui.h"
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
30 void update_frame_menubars (struct frame *f);
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
31 void free_frame_menubars (struct frame *f);
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
32 Lisp_Object menu_parse_submenu_keywords (Lisp_Object desc,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
33 Lisp_Object gui_item);
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
34 Lisp_Object current_frame_menubar (const struct frame* f);
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
35
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
36 EXFUN (Fmenu_find_real_submenu, 2);
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
37
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
38 extern Lisp_Object Vmenu_accelerator_prefix;
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
39 extern Lisp_Object Vmenu_accelerator_modifiers;
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
40 extern Lisp_Object Vmenu_accelerator_enabled;
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
41 extern Lisp_Object Vmenu_accelerator_map;
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
42
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
43 extern Lisp_Object Qmenu_force;
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
44 extern Lisp_Object Qmenu_fallback;
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
45
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
46 extern Lisp_Object Qmenu_quit;
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
47 extern Lisp_Object Qmenu_up;
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
48 extern Lisp_Object Qmenu_down;
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
49 extern Lisp_Object Qmenu_left;
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
50 extern Lisp_Object Qmenu_right;
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
51 extern Lisp_Object Qmenu_select;
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
52 extern Lisp_Object Qmenu_escape;
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
53
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
54
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
55 /* #### kluuuuuuuuuuuuuuuuuuuuuuuuuuuudge!
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
56 The author of the accelerator code didn't know what the hell he was doing.
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
57 Someone needs to abstract this properly. */
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
58 #if defined(HAVE_X_WINDOWS) && defined(LWLIB_MENUBARS_LUCID)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
59 extern int x_kludge_lw_menu_active (void);
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
60 struct command_builder;
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
61 Lisp_Object command_builder_find_menu_accelerator (struct command_builder
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
62 *builder);
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
63 Lisp_Object command_builder_operate_menu_accelerator (struct command_builder
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
64 *builder);
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
65
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
66 extern int in_menu_callback;
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
67 #endif
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
68
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
69 #endif /* HAVE_MENUBARS */
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
70
440
8de8e3f6228a Import from CVS: tag r21-2-28
cvs
parents: 428
diff changeset
71 #endif /* INCLUDED_menubar_h_ */