The function
exit-dialog
is the means to successfully return a value from the current dialog. Hence, it might be called from an
OK
button so that pressing the button would cause the dialog to return successfully, whilst the
Cancel
button would call the counterpart function abort-dialog.
If there is no current dialog then
exit-dialog
does nothing and returns
nil
. If there is a current dialog then
exit-dialog
either returns non-nil or does a non-local exit. Therefore code that depends on
exit-dialog
returning must be written carefully - see the discussion under abort-dialog for details.
(capi:display-dialog
(capi:make-container
(make-instance 'capi:text-input-pane
:callback-type :data
:callback 'capi:exit-dialog)
:title "Test Dialog"))
There is another example in the file
examples/capi/dialogs/simple-dialog.lisp
.
CAPI Reference Manual - 15 Dec 2011