## class Fl_File_Chooser

### Class Hierarchy

    Fl_Group
       |
       +----Fl_File_Chooser

### Include Files

    #include <FL/Fl_File_Chooser.H>

### Description

The `Fl_File_Chooser` widget displays a standard file selection dialog that supports various selection modes.

### Methods

- Fl_File_Chooser
- ~Fl_File_Chooser
- color
- count
- directory
- filter
- hide
- iconsize
- label
- rescan
- show
- textcolor
- textfont
- textsize
- type
- value
- visible

#### Fl_File_Chooser(const char *pathname, const char *pattern, int type, const char *title)

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. See the FLTK documentation on `filename_match()` for other kinds of patterns.

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.

#### ~Fl_File_Chooser()

Destroys the widget and frees all memory used by it.

#### void color(Fl_Color c)
Fl_Color color()

Sets or gets the background color of the `Fl_File_Browser` list.

#### int count()

Returns the number of selected files.

#### void directory(const char *pathname)
const char *directory()

Sets or gets the current directory.

#### void filter(const char *pattern)
const char *filter()

Sets or gets the current filename filter pattern.

#### void hide()

Hides the `Fl_File_Chooser` window.

#### void iconsize(uchar s)
uchar iconsize()

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()`.

#### void label(const char *l)
const char *label()

Sets or gets the title bar text for the `Fl_File_Chooser`.

#### void rescan()

Reloads the current directory in the `Fl_File_Browser`.

#### void show()

Shows the `Fl_File_Chooser` window.

#### void textcolor(Fl_Color c)
Fl_Color textcolor()

Sets or gets the current `Fl_File_Browser` text color.

#### void textfont(uchar f)
uchar textfont()

Sets or gets the current `Fl_File_Browser` text font.

#### void textsize(uchar s)
uchar textsize()

Sets or gets the current `Fl_File_Browser` text size.

#### void type(int t)
int type()

Sets or gets the current type of `Fl_File_Chooser`.

#### const char *value(const char *pathname)
const char *value(int file)
const char *value()

Sets or gets the current value of the selected file.

#### int visible()

Returns 1 if the `Fl_File_Chooser` window is visible.