view src/menubar.h @ 1279:cd0abfdb9e9d

[xemacs-hg @ 2003-02-09 09:33:42 by ben] walk-windows, redisplay fixes console-stream.c: Abort when any attempts to output a stream console are made. Should be caught sooner. event-msw.c: Don't redisplay() during sizing when the frame has not yet been initialized completely. event-stream.c, menubar-msw.c, menubar-x.c, menubar.c, menubar.h: Restore in_menu_callback. Bind it in menubar-{msw,x}.c when calling filter functions and the like. Conditionalize on it, not in_modal_loop, when issuing error in `next-event', otherwise we bite the dust immediately -- event-msw.c purposely calls Fnext_event() in a modal loop, and knows what it's doing. redisplay-output.c: Formatting fixes. redisplay.c, window.c, winslots.h: Delete lots of carcasses of attempts to add redisplay support for font-lock -- `pre/post-redisplay-hook', unimplemented junk from FSF (redisplay-end-trigger, `window-scroll-functions', `window-size-change-functions'). If we want to port some redisplay support from FSF, port the `fontified' property. redisplay.c: Put in a check here (as well as redisplay_device()) for a stream frame. We can get here directly through Lisp fun `redisplay-frame'. Abort if frame not initialized. redisplay.c: Check for stream frames/devices. window.el: walk-windows was broken when a frame was given to WHICH-FRAMES. it would loop forever. The FSF version fixes this but i didn't sync to them because (a) it conses (bad for lazy-lock), (b) it calls select-window.
author ben
date Sun, 09 Feb 2003 09:33:48 +0000
parents fffe735e63ee
children 308d34e9f07d
line wrap: on
line source

/* Define generic menubar support.
   Copyright (C) 1995 Board of Trustees, University of Illinois.

This file is part of XEmacs.

XEmacs is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2, or (at your option) any
later version.

XEmacs is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
for more details.

You should have received a copy of the GNU General Public License
along with XEmacs; see the file COPYING.  If not, write to
the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.  */

/* Synched up with: Not in FSF. */

/* #### Still needs some device-abstraction work. */

#ifndef INCLUDED_menubar_h_
#define INCLUDED_menubar_h_

#ifdef HAVE_MENUBARS
#include "gui.h"
void update_frame_menubars (struct frame *f);
void free_frame_menubars (struct frame *f);
Lisp_Object menu_parse_submenu_keywords (Lisp_Object desc,
					 Lisp_Object gui_item);
Lisp_Object current_frame_menubar (const struct frame *f);

EXFUN (Fmenu_find_real_submenu, 2);

extern Lisp_Object Vmenu_accelerator_prefix;
extern Lisp_Object Vmenu_accelerator_modifiers;
extern Lisp_Object Vmenu_accelerator_enabled;
extern Lisp_Object Vmenu_accelerator_map;

extern Lisp_Object Qmenu_force;
extern Lisp_Object Qmenu_fallback;

extern Lisp_Object Qmenu_quit;
extern Lisp_Object Qmenu_up;
extern Lisp_Object Qmenu_down;
extern Lisp_Object Qmenu_left;
extern Lisp_Object Qmenu_right;
extern Lisp_Object Qmenu_select;
extern Lisp_Object Qmenu_escape;


/* #### kluuuuuuuuuuuuuuuuuuuuuuuuuuuudge!
   The author of the accelerator code didn't know what the hell he was doing.
   Someone needs to abstract this properly. */
#if defined (HAVE_X_WINDOWS) && defined (LWLIB_MENUBARS_LUCID)
extern int x_kludge_lw_menu_active (void);
struct command_builder;
Lisp_Object command_builder_find_menu_accelerator (struct command_builder
						   *builder);
Lisp_Object command_builder_operate_menu_accelerator (struct command_builder
						      *builder);
#endif

extern int popup_menu_up_p;
extern int menubar_show_keybindings;
extern int popup_menu_titles;
extern int in_menu_callback;

#endif /* HAVE_MENUBARS */

#endif /* INCLUDED_menubar_h_ */