Fl_File_Chooser
#include <FL/Fl_File_Chooser.H>
The Fl_File_Chooser
widget displays a standard file selection
dialog that supports various selection modes.
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) |
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 sort member specifies the sort function that is used when loading the contents of a directory.
The Fl_File_Chooser
class exports the "new
directory" (newButton
) and "preview"
(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.
The constructor creates the Fl_File_Chooser
dialog pictured
above. 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.
Destroys the widget and frees all memory used by it.
Sets or gets the background color of the Fl_File_Browser
list.
Returns the number of selected files.
Sets or gets the current directory.
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.
Sets or gets the current filename filter selection.
Hides the Fl_File_Chooser
window.
Sets or gets the size of the icons in the Fl_File_Browser
. By
default the icon size is set to 1.5 times the textsize()
.
Sets or gets the title bar text for the Fl_File_Chooser
.
Sets or gets the label for the "ok" button in the
Fl_File_Chooser
.
The first form enables or disables the preview box in the file chooser. The second form returns the current state of the preview box.
Reloads the current directory in the Fl_File_Browser
.
Shows the Fl_File_Chooser
window.
Sets or gets the current Fl_File_Browser
text color.
Sets or gets the current Fl_File_Browser
text font.
Sets or gets the current Fl_File_Browser
text size.
Sets or gets the current type of Fl_File_Chooser
.
Sets or gets the current value of the selected file.
In the second form, file is a 1-based index into a list of
file names. The number of selected files is returned by
Fl_File_Chooser::count()
.
This sample code loops through all selected files:
// Get list of filenames user selected from a MULTI chooser for ( int t=1; t<=chooser->count(); t++ ) { const char *filename = chooser->value(t); .. }
Returns 1 if the Fl_File_Chooser
window is visible.