Mercurial > hg > xemacs-beta
diff src/dialog.c @ 284:558f606b08ae r21-0b40
Import from CVS: tag r21-0b40
author | cvs |
---|---|
date | Mon, 13 Aug 2007 10:34:13 +0200 |
parents | 376386a54a3c |
children | 57709be46d1b |
line wrap: on
line diff
--- a/src/dialog.c Mon Aug 13 10:33:19 2007 +0200 +++ b/src/dialog.c Mon Aug 13 10:34:13 2007 +0200 @@ -26,10 +26,53 @@ #include <config.h> #include "lisp.h" +#include "frame.h" +#include "device.h" + +DEFUN ("popup-dialog-box", Fpopup_dialog_box, 1, 1, 0, /* +Pop up a dialog box. +A dialog box description is a list. + +The first element of a dialog box must be a string, which is the title or +question. + +The rest of the elements are descriptions of the dialog box's buttons. +Each of these is a vector, the syntax of which is essentially the same as +that of popup menu items. They may have any of the following forms: + + [ "name" callback <active-p> ] + [ "name" callback <active-p> "suffix" ] + [ "name" callback :<keyword> <value> :<keyword> <value> ... ] + +The name is the string to display on the button; it is filtered through the +resource database, so it is possible for resources to override what string +is actually displayed. + +If the `callback' of a button is a symbol, then it must name a command. +It will be invoked with `call-interactively'. If it is a list, then it is +evaluated with `eval'. + +One (and only one) of the buttons may be `nil'. This marker means that all +following buttons should be flushright instead of flushleft. + +Though the keyword/value syntax is supported for dialog boxes just as in +popup menus, the only keyword which is both meaningful and fully implemented +for dialog box buttons is `:active'. +*/ + (dbox_desc)) +{ + struct frame *f = selected_frame (); + struct device *d = XDEVICE (f->device); + + MAYBE_DEVMETH (d, popup_dialog_box, (f, dbox_desc)); + + return Qnil; +} void syms_of_dialog (void) { + DEFSUBR (Fpopup_dialog_box); } void