Go to main content

man pages section 3: Library Interfaces and Headers

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

Tk::chooseDirectory (3)

Name

Tk::chooseDirectory - pops up a dialog box for the user to select a directory.

Synopsis

$widget->chooseDirectory( ?option value ...? );

Description

User Contributed Perl Documentation                         chooseDirectory(3)



NAME
       Tk::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";
           }


ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:


       +---------------+----------------------------+
       |ATTRIBUTE TYPE |      ATTRIBUTE VALUE       |
       +---------------+----------------------------+
       |Availability   | library/perl-5/perl-tk-532 |
       +---------------+----------------------------+
       |Stability      | Volatile                   |
       +---------------+----------------------------+

SEE ALSO
       Tk::getOpenFile, Tk::getOpenFile

KEYWORDS
       directory selection dialog



NOTES
       Source code for open source software components in Oracle Solaris can
       be found at https://www.oracle.com/downloads/opensource/solaris-source-
       code-downloads.html.

       This software was built from source available at
       https://github.com/oracle/solaris-userland.  The original community
       source was downloaded from
       http://search.cpan.org/CPAN/authors/id/S/SR/SREZIC/Tk-804.036.tar.gz.

       Further information about this software can be found on the open source
       community website at http://search.cpan.org/~srezic/Tk.



perl v5.32.0                      2013-11-15                chooseDirectory(3)