view man/lispref/dialog.texi @ 4934:714f7c9fabb1

make it easier to debug staticpro crashes. Add functions to print out the variable names saved during calls to staticpro(), and change the order of enumerating staticpros to start from 0 to make it easier to get a count to pass to the new functions.
author Ben Wing <ben@xemacs.org>
date Tue, 19 Jan 2010 01:21:39 -0600
parents 576fb035e263
children 9fae6227ede5
line wrap: on
line source

@c -*-texinfo-*-
@c This is part of the XEmacs Lisp Reference Manual.
@c Copyright (C) 1990, 1991, 1992, 1993 Free Software Foundation, Inc.
@c See the file lispref.texi for copying conditions.
@setfilename ../../info/dialog.info
@node Dialog Boxes, Toolbar, Menus, Top
@chapter Dialog Boxes
@cindex dialog box

@menu
* Dialog Box Format::
* Dialog Box Functions::
@end menu

@node Dialog Box Format
@section Dialog Box Format

A dialog box description is a list.

@itemize @bullet
@item
The first element of the list is a string to display in the dialog box.
@item
The rest of the elements are descriptions of the dialog box's buttons.
Each one is a vector of three elements:
@itemize @minus
@item
The first element is the text of the button.
@item
The second element is the @dfn{callback}.
@item
The third element is @code{t} or @code{nil}, whether this button is
selectable.
@end itemize
@end itemize

If the callback of a button is a symbol, then it must name a command.
It will be invoked with @code{call-interactively}.  If it is a list,
then it is evaluated with @code{eval}.

One (and only one) of the buttons may be @code{nil}.  This marker means
that all following buttons should be flushright instead of flushleft.

The syntax, more precisely:

@example
   form         :=  <something to pass to `eval'>
   command      :=  <a symbol or string, to pass to `call-interactively'>
   callback     :=  command | form
   active-p     :=  <t, nil, or a form to evaluate to decide whether this
                    button should be selectable>
   name         :=  <string>
   partition    :=  'nil'
   button       :=  '['  name callback active-p ']'
   dialog       :=  '(' name [ button ]+ [ partition [ button ]+ ] ')'
@end example

@node Dialog Box Functions
@section Dialog Box Functions

@defun popup-dialog-box dbox-desc
This function pops up a dialog box.  @var{dbox-desc} describes how the
dialog box will appear (@pxref{Dialog Box Format}).
@end defun

@xref{Yes-or-No Queries}, for functions to ask a yes/no question using
a dialog box.