Fl_File_Browser Class Reference

The Fl_File_Browser widget displays a list of filenames, optionally with file-specific icons. More...

`#include <Fl_File_Browser.H>`

Inheritance diagram for Fl_File_Browser:

## Public Types

enum | { FILES, DIRECTORIES }
Public Types inherited from Fl_Browser
enum | Fl_Line_Position { TOP, BOTTOM, MIDDLE }
| For internal use only?
Public Types inherited from Fl_Browser_
enum | { HORIZONTAL = 1, VERTICAL = 2, BOTH = 3, ALWAYS_ON = 4, HORIZONTAL_ALWAYS = 5, VERTICAL_ALWAYS = 6, BOTH_ALWAYS = 7 }
| Values for has_scrollbar(). More...

## Public Member Functions

int | filetype () const
| Sets or gets the file browser type, FILES or DIRECTORIES. More...
void | filetype (int t)
| Sets or gets the file browser type, FILES or DIRECTORIES. More...
void | filter (const char *pattern)
| Sets or gets the filename filter. More...
const char * | filter () const
| Sets or gets the filename filter. More...
| Fl_File_Browser (int, int, int, int, const char *=0)
| The constructor creates the Fl_File_Browser widget at the specified position and size. More...
uchar | iconsize () const
| Sets or gets the size of the icons. More...
void | iconsize (uchar s)
| Sets or gets the size of the icons. More...
int | load (const char *directory, Fl_File_Sort_F *sort=fl_numericsort)
| Loads the specified directory into the browser. More...
Fl_Fontsize | textsize () const
void | textsize (Fl_Fontsize s)
Public Member Functions inherited from Fl_Browser
void | add (const char *newtext, void *d=0)
| Adds a new line to the end of the browser. More...
void | bottomline (int line)
| Scrolls the browser so the bottom item in the browser is showing the specified `line`. More...
void | clear ()
| Removes all the lines in the browser. More...
char | column_char () const
| Gets the current column separator character. More...
void | column_char (char c)
| Sets the column separator to c. More...
const int * | column_widths () const
| Gets the current column width array. More...
void | column_widths (const int *arr)
| Sets the current array to `arr`. More...
void * | data (int line) const
| Returns the user data() for specified `line`. More...
void | data (int line, void *d)
| Sets the user data for specified `line` to `d`. More...
void | display (int line, int val=1)
| For back compatibility. More...
int | displayed (int line) const
| Returns non-zero if `line` has been scrolled to a position where it is being displayed. More...
| Fl_Browser (int X, int Y, int W, int H, const char *L=0)
| The constructor makes an empty browser. More...
char | format_char () const
| Gets the current format code prefix character, which by default is '@'. More...
void | format_char (char c)
| Sets the current format code prefix character to `c`. More...
void | hide (int line)
| Makes `line` invisible, preventing selection by the user. More...
void | hide ()
| Hides the entire Fl_Browser widget – opposite of show(). More...
void | icon (int line, Fl_Image *icon)
| Set the image icon for `line` to the value `icon`. More...
Fl_Image * | icon (int line) const
| Returns the icon currently defined for `line`. More...
void | insert (int line, const char *newtext, void *d=0)
| Insert a new entry whose label is `newtext` above given `line`, optional data `d`. More...
void | lineposition (int line, Fl_Line_Position pos)
| Updates the browser so that `line` is shown at position `pos`. More...
int | load (const char *filename)
| Clears the browser and reads the file, adding each line from the file to the browser. More...
void | make_visible (int line)
| Make the item at the specified `line` visible(). More...
void | middleline (int line)
| Scrolls the browser so the middle item in the browser is showing the specified `line`. More...
void | move (int to, int from)
| Line `from` is removed and reinserted at `to`. More...
void | remove (int line)
| Remove entry for given `line` number, making the browser one line shorter. More...
void | remove_icon (int line)
| Removes the icon for `line`. More...
void | replace (int a, const char *b)
| For back compatibility only. More...
int | select (int line, int val=1)
| Sets the selection state of the item at `line` to the value `val`. More...
int | selected (int line) const
| Returns 1 if specified `line` is selected, 0 if not. More...
void | show (int line)
| Makes `line` visible, and available for selection by user. More...
void | show ()
| Shows the entire Fl_Browser widget – opposite of hide(). More...
int | size () const
| Returns how many lines are in the browser. More...
void | size (int W, int H)
void | swap (int a, int b)
| Swaps two browser lines `a` and `b`. More...
const char * | text (int line) const
| Returns the label text for the specified `line`. More...
void | text (int line, const char *newtext)
| Sets the text for the specified `line` to `newtext`. More...
int | topline () const
| Returns the line that is currently visible at the top of the browser. More...
void | topline (int line)
| Scrolls the browser so the top item in the browser is showing the specified `line`. More...
int | value () const
| Returns the line number of the currently selected line, or 0 if none. More...
void | value (int line)
| Sets the browser's value(), which selects the specified `line`. More...
int | visible (int line) const
| Returns non-zero if the specified `line` is visible, 0 if hidden. More...
| ~Fl_Browser ()
| The destructor deletes all list items and destroys the browser.
Public Member Functions inherited from Fl_Browser_
int | deselect (int docallbacks=0)
| Deselects all items in the list and returns 1 if the state changed or 0 if it did not. More...
void | display (void *item)
| Displays the `item`, scrolling the list as necessary. More...
int | handle (int event)
| Handles the `event` within the normal widget bounding box. More...
uchar | has_scrollbar () const
| Returns the current scrollbar mode, see Fl_Browser_::has_scrollbar(uchar)
void | has_scrollbar (uchar mode)
| Sets whether the widget should have scrollbars or not (default Fl_Browser_::BOTH). More...
int | hposition () const
| Gets the horizontal scroll position of the list as a pixel position `pos`. More...
void | hposition (int)
| Sets the horizontal scroll position of the list to pixel position `pos`. More...
int | position () const
| Gets the vertical scroll position of the list as a pixel position `pos`. More...
void | position (int pos)
| Sets the vertical scroll position of the list to pixel position `pos`. More...
void | resize (int X, int Y, int W, int H)
| Repositions and/or resizes the browser. More...
void | scrollbar_left ()
| Moves the vertical scrollbar to the lefthand side of the list. More...
void | scrollbar_right ()
| Moves the vertical scrollbar to the righthand side of the list. More...
int | scrollbar_size () const
| Gets the current size of the scrollbars' troughs, in pixels. More...
void | scrollbar_size (int newSize)
| Sets the pixel size of the scrollbars' troughs to `newSize`, in pixels. More...
int | scrollbar_width () const
| This method has been deprecated, existing for backwards compatibility only. More...
void | scrollbar_width (int width)
| This method has been deprecated, existing for backwards compatibility only. More...
int | select (void *item, int val=1, int docallbacks=0)
| Sets the selection state of `item` to `val`, and returns 1 if the state changed or 0 if it did not. More...
int | select_only (void *item, int docallbacks=0)
| Selects `item` and returns 1 if the state changed or 0 if it did not. More...
void | sort (int flags=0)
| Sort the items in the browser based on `flags`. More...
Fl_Color | textcolor () const
| Gets the default text color for the lines in the browser.
void | textcolor (Fl_Color col)
| Sets the default text color for the lines in the browser to color `col`.
Fl_Font | textfont () const
| Gets the default text font for the lines in the browser. More...
void | textfont (Fl_Font font)
| Sets the default text font for the lines in the browser to `font`.
Fl_Fontsize | textsize () const
| Gets the default text size (in pixels) for the lines in the browser.
void | textsize (Fl_Fontsize newSize)
| Sets the default text size (in pixels) for the lines in the browser to `size`.
Public Member Functions inherited from Fl_Group
Fl_Widget *& | _ddfdesign_kludge ()
| This is for forms compatibility only.
void | add (Fl_Widget &)
| The widget is removed from its current group (if any) and then added to the end of this group.
void | add (Fl_Widget *o)
| See void Fl_Group::add(Fl_Widget &w)
void | add_resizable (Fl_Widget &o)
| Adds a widget to the group and makes it the resizable widget.
Fl_Widget *const * | array () const
| Returns a pointer to the array of children. More...
virtual Fl_Group * | as_group ()
| Returns an Fl_Group pointer if this widget is an Fl_Group. More...
void | begin ()
| Sets the current group so you can build the widget tree by just constructing the widgets. More...
Fl_Widget * | child (int n) const
| Returns array()[n]. More...
int | children () const
| Returns how many child widgets the group has.
void | clear ()
| Deletes all child widgets from memory recursively. More...
void | clip_children (int c)
| Controls whether the group widget clips the drawing of child widgets to its bounding box. More...
unsigned int | clip_children ()
| Returns the current clipping mode. More...
void | end ()
| Exactly the same as current(this->parent()). More...
int | find (const Fl_Widget *) const
| Searches the child array for the widget and returns the index. More...
int | find (const Fl_Widget &o) const
| See int Fl_Group::find(const Fl_Widget *w) const.
| Fl_Group (int, int, int, int, const char *=0)
| Creates a new Fl_Group widget using the given position, size, and label string. More...
void | focus (Fl_Widget *W)
void | forms_end ()
| This is for forms compatibility only.
int | handle (int)
| Handles the specified event. More...
void | init_sizes ()
| Resets the internal array of widget sizes and positions. More...
void | insert (Fl_Widget &, int i)
| The widget is removed from its current group (if any) and then inserted into this group. More...
void | insert (Fl_Widget &o, Fl_Widget *before)
| This does insert(w, find(before)). More...
void | remove (int index)
| Removes the widget at `index` from the group but does not delete it. More...
void | remove (Fl_Widget &)
| Removes a widget from the group but does not delete it. More...
void | remove (Fl_Widget *o)
| Removes the widget `o` from the group. More...
void | resizable (Fl_Widget &o)
| See void Fl_Group::resizable(Fl_Widget *box)
void | resizable (Fl_Widget *o)
| The resizable widget defines the resizing box for the group. More...
Fl_Widget * | resizable () const
| See void Fl_Group::resizable(Fl_Widget *box)
void | resize (int, int, int, int)
| Resizes the Fl_Group widget and all of its children. More...
virtual | ~Fl_Group ()
| The destructor also deletes all the children. More...
Public Member Functions inherited from Fl_Widget
void | _clear_fullscreen ()
void | _set_fullscreen ()
void | activate ()
| Activates the widget. More...
unsigned int | active () const
| Returns whether the widget is active. More...
int | active_r () const
| Returns whether the widget and all of its parents are active. More...
Fl_Align | align () const
| Gets the label alignment. More...
void | align (Fl_Align alignment)
| Sets the label alignment. More...
long | argument () const
| Gets the current user data (long) argument that is passed to the callback function.
void | argument (long v)
| Sets the current user data (long) argument that is passed to the callback function. More...
virtual class Fl_Gl_Window * | as_gl_window ()
| Returns an Fl_Gl_Window pointer if this widget is an Fl_Gl_Window. More...
virtual Fl_Window * | as_window ()
| Returns an Fl_Window pointer if this widget is an Fl_Window. More...
Fl_Boxtype | box () const
| Gets the box type of the widget. More...
void | box (Fl_Boxtype new_box)
| Sets the box type for the widget. More...
Fl_Callback_p | callback () const
| Gets the current callback function for the widget. More...
void | callback (Fl_Callback *cb, void *p)
| Sets the current callback function for the widget. More...
void | callback (Fl_Callback *cb)
| Sets the current callback function for the widget. More...
void | callback (Fl_Callback0 *cb)
| Sets the current callback function for the widget. More...
void | callback (Fl_Callback1 *cb, long p=0)
| Sets the current callback function for the widget. More...
unsigned int | changed () const
| Checks if the widget value changed since the last callback. More...
void | clear_changed ()
| Marks the value of the widget as unchanged. More...
void | clear_damage (uchar c=0)
| Clears or sets the damage flags. More...
void | clear_output ()
| Sets a widget to accept input. More...
void | clear_visible ()
| Hides the widget. More...
void | clear_visible_focus ()
| Disables keyboard focus navigation with this widget. More...
Fl_Color | color () const
| Gets the background color of the widget. More...
void | color (Fl_Color bg)
| Sets the background color of the widget. More...
void | color (Fl_Color bg, Fl_Color sel)
| Sets the background and selection color of the widget. More...
Fl_Color | color2 () const
| For back compatibility only. More...
void | color2 (unsigned a)
| For back compatibility only. More...
int | contains (const Fl_Widget *w) const
| Checks if w is a child of this widget. More...
void | copy_label (const char *new_label)
| Sets the current label. More...
void | copy_tooltip (const char *text)
| Sets the current tooltip text. More...
uchar | damage () const
| Returns non-zero if draw() needs to be called. More...
void | damage (uchar c)
| Sets the damage bits for the widget. More...
void | damage (uchar c, int x, int y, int w, int h)
| Sets the damage bits for an area inside the widget. More...
int | damage_resize (int, int, int, int)
| Internal use only. More...
void | deactivate ()
| Deactivates the widget. More...
Fl_Image * | deimage ()
| Gets the image that is used as part of the widget label. More...
const Fl_Image * | deimage () const
void | deimage (Fl_Image *img)
| Sets the image to use as part of the widget label. More...
void | deimage (Fl_Image &img)
| Sets the image to use as part of the widget label. More...
void | do_callback ()
| Calls the widget callback. More...
void | do_callback (Fl_Widget *o, long arg)
| Calls the widget callback. More...
void | do_callback (Fl_Widget *o, void *arg=0)
| Calls the widget callback. More...
void | draw_label (int, int, int, int, Fl_Align) const
| Draws the label in an arbitrary bounding box with an arbitrary alignment. More...
int | h () const
| Gets the widget height. More...
Fl_Image * | image ()
| Gets the image that is used as part of the widget label. More...
const Fl_Image * | image () const
void | image (Fl_Image *img)
| Sets the image to use as part of the widget label. More...
void | image (Fl_Image &img)
| Sets the image to use as part of the widget label. More...
int | inside (const Fl_Widget *wgt) const
| Checks if this widget is a child of `wgt`. More...
const char * | label () const
| Gets the current label text. More...
void | label (const char *text)
| Sets the current label pointer. More...
void | label (Fl_Labeltype a, const char *b)
| Shortcut to set the label text and type in one call. More...
Fl_Color | labelcolor () const
| Gets the label color. More...
void | labelcolor (Fl_Color c)
| Sets the label color. More...
Fl_Font | labelfont () const
| Gets the font to use. More...
void | labelfont (Fl_Font f)
| Sets the font to use. More...
Fl_Fontsize | labelsize () const
| Gets the font size in pixels. More...
void | labelsize (Fl_Fontsize pix)
| Sets the font size in pixels. More...
Fl_Labeltype | labeltype () const
| Gets the label type. More...
void | labeltype (Fl_Labeltype a)
| Sets the label type. More...
void | measure_label (int &ww, int &hh) const
| Sets width ww and height hh accordingly with the label size. More...
unsigned int | output () const
| Returns if a widget is used for output only. More...
Fl_Group * | parent () const
| Returns a pointer to the parent widget. More...
void | parent (Fl_Group *p)
| Internal use only - "for hacks only". More...
void | position (int X, int Y)
| Repositions the window or widget. More...
void | redraw ()
| Schedules the drawing of the widget. More...
void | redraw_label ()
| Schedules the drawing of the label. More...
Fl_Color | selection_color () const
| Gets the selection color. More...
void | selection_color (Fl_Color a)
| Sets the selection color. More...
void | set_changed ()
| Marks the value of the widget as changed. More...
void | set_output ()
| Sets a widget to output only. More...
void | set_visible ()
| Makes the widget visible. More...
void | set_visible_focus ()
| Enables keyboard focus navigation with this widget. More...
void | size (int W, int H)
| Changes the size of the widget. More...
int | take_focus ()
| Gives the widget the keyboard focus. More...
unsigned int | takesevents () const
| Returns if the widget is able to take events. More...
int | test_shortcut ()
| Returns true if the widget's label contains the entered '&x' shortcut. More...
const char * | tooltip () const
| Gets the current tooltip text. More...
void | tooltip (const char *text)
| Sets the current tooltip text. More...
uchar | type () const
| Gets the widget type. More...
void | type (uchar t)
| Sets the widget type. More...
int | use_accents_menu ()
| Returns non zero if MAC_USE_ACCENTS_MENU flag is set, 0 otherwise.
void * | user_data () const
| Gets the user data for this widget. More...
void | user_data (void *v)
| Sets the user data for this widget. More...
unsigned int | visible () const
| Returns whether a widget is visible. More...
void | visible_focus (int v)
| Modifies keyboard focus navigation. More...
unsigned int | visible_focus ()
| Checks whether this widget has a visible focus. More...
int | visible_r () const
| Returns whether a widget and all its parents are visible. More...
int | w () const
| Gets the widget width. More...
Fl_When | when () const
| Returns the conditions under which the callback is called. More...
void | when (uchar i)
| Sets the flags used to decide when a callback is called. More...
Fl_Window * | window () const
| Returns a pointer to the primary Fl_Window widget. More...
int | x () const
| Gets the widget position in its window. More...
int | y () const
| Gets the widget position in its window. More...
virtual | ~Fl_Widget ()
| Destroys the widget. More...

## Additional Inherited Members

Static Public Member Functions inherited from Fl_Group
static Fl_Group * | current ()
| Returns the currently active group. More...
static void | current (Fl_Group *g)
| Sets the current group. More...
Public Attributes inherited from Fl_Browser_
Fl_Scrollbar | hscrollbar
| Horizontal scrollbar. More...
Fl_Scrollbar | scrollbar
| Vertical scrollbar. More...
Protected Types inherited from Fl_Widget

enum

{
INACTIVE = 1<<0, INVISIBLE = 1<<1, OUTPUT = 1<<2, NOBORDER = 1<<3,
FORCE_POSITION = 1<<4, NON_MODAL = 1<<5, SHORTCUT_LABEL = 1<<6, CHANGED = 1<<7,
OVERRIDE = 1<<8, VISIBLE_FOCUS = 1<<9, COPIED_LABEL = 1<<10, CLIP_CHILDREN = 1<<11,
MENU_WINDOW = 1<<12, TOOLTIP_WINDOW = 1<<13, MODAL = 1<<14, NO_OVERLAY = 1<<15,
GROUP_RELATIVE = 1<<16, COPIED_TOOLTIP = 1<<17, FULLSCREEN = 1<<18, MAC_USE_ACCENTS_MENU = 1<<19,
USERFLAG3 = 1<<29, USERFLAG2 = 1<<30, USERFLAG1 = 1<<31
}

| flags possible values enumeration. More...
Protected Member Functions inherited from Fl_Browser
FL_BLINE * | _remove (int line)
| Removes the item at the specified `line`. More...
FL_BLINE * | find_line (int line) const
| Returns the item for specified `line`. More...
void | insert (int line, FL_BLINE *item)
| Insert specified `item` above `line`. More...
void * | item_at (int line) const
| Return the item at specified `line`. More...
void * | item_first () const
| Returns the very first item in the list. More...
void * | item_last () const
| Returns the very last item in the list. More...
void * | item_next (void *item) const
| Returns the next item after `item`. More...
void * | item_prev (void *item) const
| Returns the previous item before `item`. More...
void | item_select (void *item, int val)
| Change the selection state of `item` to the value `val`. More...
int | item_selected (void *item) const
| See if `item` is selected. More...
void | item_swap (void *a, void *b)
| Swap the items `a` and `b`. More...
const char * | item_text (void *item) const
| Returns the label text for `item`. More...
int | lineno (void *item) const
| Returns line number corresponding to `item`, or zero if not found. More...
void | swap (FL_BLINE *a, FL_BLINE *b)
| Swap the two items `a` and `b`. More...

## Detailed Description

The Fl_File_Browser widget displays a list of filenames, optionally with file-specific icons.

## Constructor & Destructor Documentation

Fl_File_Browser::Fl_File_Browser | ( | int | X,
|  | int | Y,
|  | int | W,
|  | int | H,
|  | const char * | l = `0`
| ) |  |

The constructor creates the Fl_File_Browser widget at the specified position and size.

The destructor destroys the widget and frees all memory that has been allocated.

## Member Function Documentation

int Fl_File_Browser::filetype | ( |  | ) | const

inline

Sets or gets the file browser type, FILES or DIRECTORIES.

When set to FILES, both files and directories are shown. Otherwise only directories are shown.

void Fl_File_Browser::filetype | ( | int | t | ) |

inline

Sets or gets the file browser type, FILES or DIRECTORIES.

When set to FILES, both files and directories are shown. Otherwise only directories are shown.

void Fl_File_Browser::filter | ( | const char * | pattern | ) |

Sets or gets the filename filter.

The pattern matching uses the fl_filename_match() function in FLTK.

const char* Fl_File_Browser::filter | ( |  | ) | const

inline

Sets or gets the filename filter.

The pattern matching uses the fl_filename_match() function in FLTK.

uchar Fl_File_Browser::iconsize | ( |  | ) | const

inline

Sets or gets the size of the icons.

The default size is 20 pixels.

void Fl_File_Browser::iconsize | ( | uchar | s | ) |

inline

Sets or gets the size of the icons.

The default size is 20 pixels.

int Fl_File_Browser::load | ( | const char * | directory,
|  | Fl_File_Sort_F * | sort = `fl_numericsort`
| ) |  |

Loads the specified directory into the browser.

If icons have been loaded then the correct icon is associated with each file in the list.

The sort argument specifies a sort function to be used with fl_filename_list().

The documentation for this class was generated from the following files:

- Fl_File_Browser.H
- Fl_File_Browser.cxx

- © 1998-2012 by Bill Spitzak and others.