view lwlib/xlwmenu.h @ 106376:642af15d3e89

Use completion-in-buffer and remove uses of dynamic scoping. * progmodes/pascal.el (pascal-str, pascal-all, pascal-pred) (pascal-buffer-to-use, pascal-flag): Don't declare. (pascal-func-completion, pascal-type-completion, pascal-var-completion) (pascal-get-completion-decl, pascal-keyword-completion): Add `pascal-str' argument, save-excursion, return the found completions, and don't filter with pascal-pred. (pascal-completion-cache): New var. (pascal-completion): Don't switch buffer any more (it was never necessary). Don't save-excursion any more (it's done by the called subroutines). Use a cache to avoid redundant computations. Use complete-with-action rather than pascal-completion-response and let it apply the predicate as well. (pascal-complete-word): Use completion-in-buffer when pascal-toggle-completions is nil. (pascal-show-completions): Don't bind pascal-buffer-to-use since it's not used any more. (pascal-comp-defun): Don't change buffer any more. Use complete-with-action rather than pascal-completion-response and let it apply the predicate as well. (pascal-goto-defun): Change buffer before calling pascal-comp-defun when neded.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Wed, 02 Dec 2009 18:31:26 +0000
parents 3c31d7653adf
children 1d1d5d9bd884
line wrap: on
line source

/* Interface of a lightweight menubar widget.
Copyright (C) 1992 Lucid, Inc.
Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
  Free Software Foundation, Inc.

This file is part of the Lucid Widget Library.

The Lucid Widget Library 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 1, or (at your option)
any later version.

The Lucid Widget Library 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 GNU Emacs; see the file COPYING.  If not, write to the
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA.  */

#ifndef _XlwMenu_h
#define _XlwMenu_h

/***********************************************************************
 *
 * XlwMenu Widget
 *
 ***********************************************************************/

#include "lwlib.h"

/* Resource names used by the XlwMenu widget */
#define XtNdisabledForeground "disabledForeground"
#define XtCDisabledForeground "DisabledForeground"
#define XtNbuttonForeground "buttonForeground"
#define XtCButtonForeground "ButtonForeground"
#define XtNmargin "margin"
#define XtNhorizontalSpacing "horizontalSpacing"
#define XtNverticalSpacing "verticalSpacing"
#define XtNarrowSpacing "arrowSpacing"
#define XtNmenu "menu"
#define XtCMenu "Menu"
#define XtNopen "open"
#define XtNselect "select"
#define XtNhighlightCallback "highlightCallback"
#define XtNenterCallback "enterCallback"
#define XtNleaveCallback "leaveCallback"
#define XtNmenuBorderWidth "menuBorderWidth"
#define XtNhorizontal "horizontal"
#define XtCHorizontal "Horizontal"
#define XtNcursor "cursor"
#define XtNCursor "Cursor"
#define XtNshowGrip "showGrip"
#define XtCShowGrip "ShowGrip"
#define XtNresizeToPreferred "resizeToPreferred"
#define XtCResizeToPreferred "ResizeToPreferred"
#define XtNallowResize "allowResize"
#define XtCAllowResize "AllowResize"

/* Motif-compatible resource names */
#define XmNshadowThickness	"shadowThickness"
#define XmCShadowThickness	"ShadowThickness"
#define XmNtopShadowColor	"topShadowColor"
#define XmCTopShadowColor	"TopShadowColor"
#define XmNbottomShadowColor	"bottomShadowColor"
#define XmCBottomShadowColor	"BottomShadowColor"
#define XmNtopShadowPixmap	"topShadowPixmap"
#define XmCTopShadowPixmap	"TopShadowPixmap"
#define XmNbottomShadowPixmap	"bottomShadowPixmap"
#define XmCBottomShadowPixmap	"BottomShadowPixmap"
#define XmRHorizontalDimension	"HorizontalDimension"

typedef struct _XlwMenuRec *XlwMenuWidget;
typedef struct _XlwMenuClassRec *XlwMenuWidgetClass;

extern WidgetClass xlwMenuWidgetClass;

#endif /* _XlwMenu_h */

/* arch-tag: 0c019735-d61b-4080-be85-4fdd6e50ae07
   (do not change this comment) */