prompt-for-file
message
&key
pathname
ok-check
pane-args
popup-args
filter
if-exists
if-does-not-exist
operation
owner
The function
prompt-for-file
prompts the user for a file using a dialog box, optionally defaulting to
pathname
. Like all the prompters,
prompt-for-file
returns two values: the file and a flag indicating success. The success flag will be
nil
if the dialog was cancelled, and
t
otherwise. An
ok-check
function can be specified, which should return non-
nil
if a given pathname is valid.
filter
specifies the initial filter expression (defaults to
"*.*"
).
if-exists
is one of
:ok
or
:prompt
. When set to
:ok
, an existing file can be returned. Otherwise the user is prompted about whether the file can be overwritten. The default is
:ok
when
operation
is
:open
and
:prompt
when operation is
:save
.
if-does-not-exist
is one of
:ok
,
:prompt
or
:error
. When set to
:ok
, a nonexistent file can be chosen. When set to
:prompt
, the user is prompted if a non existent file is chosen. When set to
:error
, the user cannot choose a non existent file. The default is
:prompt
if
operation
is
:open
and
:ok
if
operation
is
:save
.
operation
is one of
:open
or
:save
. The default is
:open
.
owner is a capi top-level interface which becomes the owner of the dialog. In a CAPI callback, this defaults to the current interface. Otherwise an interface is chosen for the current thread.
Finally, as with all of the prompting functions, the prompt itself is created by passing an appropriate pane to
popup-confirmer
. Arguments can be passed to the
make-instance
of the pane and the call to
popup-confirmer
using
pane-args
and
popup-args
respectively. Currently, the pane used to create the file prompter is internal to the CAPI.
(capi:prompt-for-file "Enter a filename:")
(capi:prompt-for-file "Enter a filename:"
:pathname "/usr/bin/cal")
(capi:prompt-for-file "Enter a filename:"
:ok-check 'probe-file)