1 CAPI Reference Entries
popup-confirmer
function creates a dialog with predefined implementations of OK and Cancel buttons and a user specified pane in a layout with the buttons.
popup-confirmer pane message &rest interface-args &key value-function ok-check ok-button no-button cancel-button screen exit-function ok-function no-function buttons callbacks callback-type
popup-confirmer
provides the quickest means to create new dialogs, as it will create and implement OK, Cancel and other buttons as required by your dialog, and will place a user specified pane in a layout along with the buttons.
popup-confirmer
. If value-function is not supplied, then pane itself will be returned. If the value-function wants to indicate that the dialog cannot return a value currently, then it should return a second value that is non-nil
.
nil
if it is acceptable for that value to be returned. These two functions are used bypopup-confirmer
to decide when the OK button should be enabled, thus stopping the dialog from returning with invalid data. The OK button's state can be updated by a call toredisplay-interface
on the top-level, so the dialog should call it when the button may enable or disable.
nil
meaning do not include such a button. The ok-button means return successfully from the dialog, the no-button means continue but returnnil
, and the cancel-button aborts the dialog. Note that there are clear expectations on the part of users as to the functions of these buttons -- check the style guidelines of the platform you are developing for.
exit-confirmer
, the ok-function defaults to theexit-function
and the no-function defaults to a function exiting the dialog withnil
.
popup-confirmer
, with the functions in callbacks being associated with them. Finally callback-type will be provided as the callback type for the buttons.
make-instance
for the interface that will be displayed usingdisplay-dialog
. Thus geometry information, colors, and so on can be passed in here as well. By default, the dialog will pick up the foreground, background and font of pane.
prompt-for-string
, while the second implementsprompt-for-confirmation
.
(capi:popup-confirmer (make-instance 'capi:text-input-pane :callback 'capi:exit-confirmer) "Enter some text:" :value-function 'capi:text-input-pane-text) (capi:popup-confirmer nil "Yes or no?" :callback-type :none :ok-button "Yes" :no-button "No" :cancel-button nil :value-function #'(lambda (dummy) t))
:redisplay-interface
to make the OK button enable and disable on each keystroke.
(defun pane-integer (pane) (ignore-errors (values (read-from-string (capi:text-input-pane-text pane)))))(capi:popup-confirmer (make-instance 'capi:text-input-pane :callback 'capi:exit-confirmer :change-callback :redisplay-interface) "Enter an integer" :value-function 'pane-integer :ok-check 'integerp)
capi/tools/pathname-selector.lisp
exit-confirmer
display-dialog
Generated with Harlequin WebMaker