chooseDirectory(3) User Contributed Perl Documentation chooseDirectory(3)NAME
chooseDirectory - pops up a dialog box for the user to select a
directory.
SYNOPSIS
$widget->chooseDirectory( ?option value ...? );
DESCRIPTION
The method chooseDirectory is implemented as a perl wrapper on the core
tk "command" tk_chooseDirectory, and $widget is passed as the argument
to the hidden -parent option.
The chooseDirectory method pops up a dialog box for the user to select
a directory. The following option-value pairs are possible as command
line arguments:
-initialdir dirname
Specifies that the directories in directory should be displayed
when the dialog pops up. If this parameter is not specified, then
the directories in the current working directory are displayed. If
the parameter specifies a relative path, the return value will
convert the relative path to an absolute path. This option may not
always work on the Macintosh. This is not a bug. Rather, the
General Controls control panel on the Mac allows the end user to
override the application default directory.
-parent $widget
Makes $widget the logical parent of the dialog. The dialog is
displayed on top of its parent window.
-title titleString
Specifies a string to display as the title of the dialog box. If
this option is not specified, then a default title will be
displayed.
-mustexist boolean
Specifies whether the user may specify non-existant directories.
If this parameter is true, then the user may only select
directories that already exist. The default value is false.
CAVEATS
Perl does not have a concept of encoded filesystems yet. This means
that operations on filenames like "opendir" and "open" still use byte
semantics. Tk however uses character semantics internally, which means
that you can get filenames with the UTF-8 flag set in functions like
"chooseDirectory", "getOpenFile" and similar. It's the user's
responsibility to determine the encoding of the underlying filesystem
and convert the result into bytes, e.g.
use Encode;
...
my $dir = $mw->chooseDirectory;
$dir = encode("windows-1252", $dir);
opendir DIR, $dir or die $!;
...
See also "When Unicode Does Not Happen" in perlunicode and "Unicode in
Filenames" in perltodo.
EXAMPLE
my $dir = $mw->chooseDirectory(-initialdir => '~',
-title => 'Choose a directory');
if (!defined $dir) {
warn 'No directory selected';
} else {
warn "Selected $dir";
}
SEE ALSO
Tk::getOpenFile, Tk::getOpenFile
KEYWORDS
directory selection dialog
perl v5.14.2 2010-05-29 chooseDirectory(3)