The Fl_File_Chooser widget displays a standard file selection dialog that supports various selection modes.
The Fl_File_Chooser widget transmits UTF-8 encoded filenames to its user. It is recommended to open files that may have non-ASCII names with the fl_fopen() or fl_open() utility functions that handle these names in a cross-platform way (whereas the standard fopen()/open() functions fail on the MSWindows platform to open files with a non-ASCII name).
The Fl_File_Chooser class also exports several static values that may be used to localize or customize the appearance of all file chooser dialogs:
Member | Default value |
add_favorites_label | "Add to Favorites" |
all_files_label | "All Files (*)" |
custom_filter_label | "Custom Filter" |
existing_file_label | "Please choose an existing file!" |
favorites_label | "Favorites" |
filename_label | "Filename:" |
filesystems_label | "My Computer" (WIN32)
"File Systems" (all others) |
hidden_label | "Show hidden files:" |
manage_favorites_label | "Manage Favorites" |
new_directory_label | "New Directory?" |
new_directory_tooltip | "Create a new directory." |
preview_label | "Preview" |
save_label | "Save" |
show_label | "Show:" |
sort | fl_numericsort |
The Fl_File_Chooser::sort member specifies the sort function that is used when loading the contents of a directory and can be customized at run-time.
The Fl_File_Chooser class also exports the Fl_File_Chooser::newButton and Fl_File_Chooser::previewButton widgets so that application developers can control their appearance and use. For more complex customization, consider copying the FLTK file chooser code and changing it accordingly.
Fl_File_Chooser::Fl_File_Chooser |
( |
const char * |
pathname, |
|
|
const char * |
pattern, |
|
|
int |
type, |
|
|
const char * |
title |
|
) |
| |
The constructor creates the Fl_File_Chooser dialog shown.
The pathname argument can be a directory name or a complete file name (in which case the corresponding file is highlighted in the list and in the filename input field.)
The pattern argument can be a NULL string or "*" to list all files, or it can be a series of descriptions and filter strings separated by tab characters (\t). The format of filters is either "Description text (patterns)" or just "patterns". A file chooser that provides filters for HTML and image files might look like:
"HTML Files (*.html)\tImage Files (*.{bmp,gif,jpg,png})"
The file chooser will automatically add the "All Files (*)" pattern to the end of the string you pass if you do not provide one. The first filter in the string is the default filter.
See the FLTK documentation on fl_filename_match() for the kinds of pattern strings that are supported.
The type argument can be one of the following:
SINGLE
- allows the user to select a single, existing file.
MULTI
- allows the user to select one or more existing files.
CREATE
- allows the user to select a single, existing file or specify a new filename.
DIRECTORY
- allows the user to select a single, existing directory.
The title argument is used to set the title bar text for the Fl_File_Chooser window.
void Fl_File_Chooser::filter |
( |
const char * |
pattern | ) |
|
Sets or gets the current filename filter patterns.
The filter patterns use fl_filename_match(). Multiple patterns can be used by separating them with tabs, like "*.jpg\t*.png\t*.gif\t*"
. In addition, you can provide human-readable labels with the patterns inside parenthesis, like "JPEG Files (*.jpg)\tPNG Files (*.png)\tGIF Files (*.gif)\tAll Files (*)"
.
Use filter(NULL) to show all files.