The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Curses::UI::Dialog::Filebrowser - Create and manipulate filebrowser dialogs

CLASS HIERARCHY

Curses::UI::Widget
   |
   +----Curses::UI::Container
           |
           +----Curses::UI::Window
                   |
                   +----Curses::UI::Dialog::Filebrowser

SYNOPSIS

use Curses::UI;
my $cui = new Curses::UI;
my $win = $cui->add('window_id', 'Window');

# The hard way.
# -------------
my $dialog = $win->add(
    'mydialog', 'Dialog::Filebrowser'
);
$dialog->focus;
my $file = $dialog->get();
$win->delete('mydialog');

# The easy way (see Curses::UI documentation).
# --------------------------------------------
$file = $cui->filebrowser();
$file = $cui->loadfilebrowser();
$file = $cui->savefilebrowser();

DESCRIPTION

Curses::UI::Dialog::Filebrowser is a filebrowser dialog. This type of dialog can be used to select a file, anywhere on the filesystem.

See exampes/demo-Curses::UI::Dialog::Filebrowser in the distribution for a short demo.

OPTIONS

  • -title < TEXT >

    Set the title of the dialog window to TEXT.

  • -path < PATH >

    Set the path to start with to PATH. If this path does not exist, the filebrowser will start in the rootdirectory.

  • -file < FILE >

    Set the filename to start with to FILE.

  • -editfilename < BOOLEAN >

    If BOOLEAN has a true value, the user may edit the filename. This is for example useful for a filebrowser that is used to select a filename to save to. By default this option is set to false.

  • -show_hidden < BOOLEAN >

    If BOOLEAN has a true value, hidden files (the filename starts with a dot) will also be shown. By default this option is set to false.

  • -mask < ARRAYREF >

    If -mask is defined, a filemask popupbox will be added to the filebrowser dialog window. This popupbox will filter the list of files that is displayed, using a regular expression (case insensitive). The ARRAYREF contains a list of array references. Each array reference has two elements: a regexp and a description. Here's an example -mask:

    my $mask = [
        [ '.',        'All files (*)'       ],
        [ '\.txt$',   'Text files (*.txt)'  ]
        [ 'howto',    'HOWTO documentation' ],
        [ 'core',     'Core files'          ],
    ];    
  • -mask_selected < INDEX >

    Normally the first mask in the list of masks will be made active upon creation of the filebrowser. If you want another mask to be active, use the -mask_selected option. Set this value to the index of the mask you want to be active. For example: if you would want the "howto" mask in the above example to be active, you would use the value 2 for -mask_selected.

METHODS

  • new ( OPTIONS )

  • layout ( )

  • draw ( BOOLEAN )

  • focus ( )

    These are standard methods. See Curses::UI::Container for an explanation of these.

  • get ( )

    This method will return the complete path to the file that was selected using the filebrowser. If no file was selected, this method will return an undefined value.

SPECIAL BINDINGS

  • escape

    This will invoke the cancel button, so the filebrowser widget returns without selecting any file.

  • ~

    If the directory- or filelistbox of the dialog window has the focus and the tilde (~) button is pressed, the filebrowser will chdir to the homedirectory of the current user.

SEE ALSO

Curses::UI, Curses::UI::Container, Curses::UI::Buttonbox

AUTHOR

Copyright (c) 2001-2002 Maurice Makaay. All rights reserved.

Maintained by Marcus Thiesen (marcus@cpan.thiesenweb.de)

This package is free software and is provided "as is" without express or implied warranty. It may be used, redistributed and/or modified under the same terms as perl itself.