FunctionPackage: common-graphicsToCDocOverviewCGDocRelNotesIndexPermutedIndex
Allegro CL version 6.2
This page is new in 6.2

ask-user-for-new-or-existing-directory

Arguments: &key (owner (screen *system*)) (type :either) title prompt position width height (scope :all) (create-if-new t) initial-directory initial-subdirectory show-initial-directory-siblings look-ahead (prompt-for-password-if-needed t) (focus-on-new-subdirectory (eq type :new)) close-subtrees-on-close

This function displays a modal dialog that allows the user either to select an existing directory or to specify a new subdirectory of an existing directory. Directories on local disk drives and on network shares are displayed in an outline control; the user selects one of these directories, and optionally (if a new directory is being specified) types the name for a new subdirectory of the selected directory into a text control below the outline.

Two values are returned: (1) A pathname for the directory that was specified by the user (or nil if the user cancels the dialog), and (2) either t or nil, indicating whether the directory is a new one (that is, nil if there already was a directory at the specified path, and t if there was not).

The arguments are:

Other notes

The dialog displays a file folder for each outline-item that represents an actual directory that may be returned. This excludes the two root items for all "Local Disks" and "Network Machines" plus each network share (because only the descendent items of each share represent actual directories). These non-directory items will display a simple triangle icon instead of a file folder.

The OK button on the dialog will be disabled if no directory that may be returned is currently specified. This includes whenever a non-directory outline-item is selected. And if the type argument is :new, this also includes when the text control for the new subdirectory name is empty. At these times, the user may not exit the dialog by pressing the OK button or by pressing ENTER, but they may always exit by canceling the dialog (as usual, by pressing the ESCAPE key or the Cancel button or clicking the small close button in the frame).

The similar function ask-user-for-directory invokes the directory dialog that is provided by the operating system and which therefore may be more familiar to users of that operating system. But this function has more options.


Copyright (c) 1998-2002, Franz Inc. Oakland, CA., USA. All rights reserved.
Documentation for Allegro CL version 6.2. This page is new in the 6.2 release.
Created 2002.2.26.

ToCDocOverviewCGDocRelNotesIndexPermutedIndex
Allegro CL version 6.2
This page is new in 6.2