## class Fl_Browser_

### Class Hierarchy

    Fl_Widget
       |
       +----Fl_Browser_
               |
               +----Fl_Browser

### Include Files

    #include <FL/Fl_Browser_.H>

### Description

This is the base class for browsers. To be useful it must be subclassed and several virtual functions defined. The Forms-compatable browser and the file chooser's browser are subclassed off of this.

This has been designed so that the subclass has complete control over the storage of the data, although because `next()` and `prev()` functions are used to index, it works best as a linked list or as a large block of characters in which the line breaks must be searched for.

A great deal of work has been done so that the "height" of a data object does not need to be determined until it is drawn. This is useful if actually figuring out the size of an object requires accessing image data or doing `stat()` on a file or doing some other slow operation.

### Methods

- Fl_Browser_
- ~Fl_Browser_
- bbox
- deleting
- deselect
- display
- displayed
- draw
- find_item

- full_height
- full_width
- handle
- has_scrollbar
- hposition
- incr_height
- inserting
- item_draw

- item_first
- item_height
- item_next
- item_prev
- item_quick_height
- item_select
- item_selected
- item_width

- leftedge
- new_list
- position
- redraw_line
- redraw_lines
- replacing
- resize
- scrollbar_left

- scrollbar_right
- select
- select_only
- selection
- textcolor
- textfont
- textsize
- top

Sorry, documentation is incomplete at this time

#### Fl_Browser::Fl_Browser(int, int, int, int, const char * = 0)

The constructor makes an empty browser.

#### Fl_Browser::~Fl_Browser(void)

The destructor deletes all list items and destroys the browser.

#### void Fl_Browser_::has_scrollbar(int h)

By default you can scroll in both directions, and the scrollbars disappear if the data will fit in the widget. has_scrollbar() changes this based on the value of `h`:

- `0` - No scrollbars
- `Fl_Browser_::HORIZONTAL` - Only a horizontal scrollbar.
- `Fl_Browser_::VERTICAL` - Only a vertical scrollbar.
- `Fl_Browser_::BOTH` - The default is both scrollbars.
- `Fl_Browser_::HORIZONTAL_ALWAYS` - Horizontal scrollbar always on, vertical always off.
- `Fl_Browser_::VERTICAL_ALWAYS` - Vertical scrollbar always on, horizontal always off.
- `Fl_Browser_::BOTH_ALWAYS` - Both always on.

#### Fl_Color Fl_Browser_::textcolor() const
void Fl_Browser_::textcolor(Fl_Color color)

The first form gets the default text color for the lines in the browser.

The second form sets the default text color to `color`

#### Fl_Font Fl_Browser_::textfont() const
void Fl_Browser_::textfont(Fl_Font font)

The first form gets the default text font for the lines in the browser.

The second form sets the default text font to `font`

#### uchar Fl_Browser_::textsize() const
void Fl_Browser_::textsize(uchar size)

The first form gets the default text size for the lines in the browser.

The second form sets the default text size to `size`