FLTK Utility Library and Widget Collection (FLU): Flu_Wrap_Group class Reference

Main Page | Class Hierarchy | Class List | File List | Class Members

# Flu_Wrap_Group Class Reference

This class provides an alternative to Fl_Group that automatically arranges the children either left to right and top to bottom (for type() == `FL_VERTICAL`), or top to bottom and left to right (for type() == `FL_HORIZONTAL`), within the available size of the group, with a scrollbar turning on if they don't all fit. More...

`#include <Flu_Wrap_Group.h>`

Inheritance diagram for Flu_Wrap_Group:

List of all members.

## Public Member Functions
| Flu_Wrap_Group (int x, int y, int w, int h, const char *l=0)
| Normal FLTK constructor.
Fl_Widget * | above (Fl_Widget *w)
| the widget that is visibly above w in the group, or `NULL` if no such widget exists
Fl_Widget * | below (Fl_Widget *w)
| the widget that is visibly below w in the group, or `NULL` if no such widget exists
void | draw ()
| Override of Fl_Group::draw().
Fl_Widget * | left (Fl_Widget *w)
| the widget that is visibly to the left of w in the group, or `NULL` if no such widget exists
Fl_Widget * | next (Fl_Widget *w)
| the widget that is logically after w in the groups order, or `NULL` if no such widget exists
void | offset (int x, int y)
| Set the offset for where the first child starts.
int | offset_x () const
| the x offset for where the first child starts
int | offset_y () const
| the y offset for where the first child starts
Fl_Widget * | previous (Fl_Widget *w)
| the widget that is logically before w in the groups order, or `NULL` if no such widget exists
void | resize (int x, int y, int w, int h)
| Override of Fl_Group::resize().
Fl_Widget * | right (Fl_Widget *w)
| the widget that is visibly to the right of w in the group, or `NULL` if no such widget exists
void | scroll_to (const Fl_Widget *w)
| Scroll the group so that the given widget is shown (usually aligned to the left/top).
void | scroll_to (const Fl_Widget &w)
| Scroll the group so that the given widget is shown (usually aligned to the left/top).
void | scroll_to_beginning ()
| Scroll the group to the beginning of the list.
void | scroll_to_end ()
| Scroll the group to the end of the list.
void | spacing (int x, int y)
| Set the spacing between children.
int | spacing_x () const
| the x spacing between children
int | spacing_y () const
| the y spacing between children
void | type (int t)
| Set the wrap type. Must be either `FL_VERTICAL` (children wrap according to the width, with a vertical scrollbar) or `FL_HORIZONTAL` (children wrap according to the height, with a horizontal scrollbar). Default is `FL_HORIZONTAL`.
int | type () const
| Get the wrap type.
Pass-through functions for the internal Fl_Group
These are strictly for convenience. Only the most commonly called functions have been re-implemented. You can also explicitly access the group object for more control.
Fl_Widget *const * | array () const
int | find (const Fl_Widget *w) const
int | find (const Fl_Widget &w) const
void | clear ()
Fl_Widget * | child (int n) const
int | children () const
void | begin ()
void | end ()
void | resizable (Fl_Widget *box)
void | resizable (Fl_Widget &box)
Fl_Widget * | resizable () const
void | add (Fl_Widget &w)
void | add (Fl_Widget *w)
void | insert (Fl_Widget &w, int n)
void | insert (Fl_Widget &w, Fl_Widget *beforethis)
void | remove (Fl_Widget &w)
void | add_resizable (Fl_Widget &box)
## Public Attributes
Scrollbar | scrollbar
Fl_Group | group
## Protected Member Functions
int | layout (bool sbVisible, bool doScrollTo, int *measure=0)
## Static Protected Member Functions
void | _scrollCB (Fl_Widget *, void *arg)
## Protected Attributes
const Fl_Widget * | scrollTo
int | _offset [2]
int | _spacing [2]
int | _type

## Detailed Description

This class provides an alternative to Fl_Group that automatically arranges the children either left to right and top to bottom (for type() == `FL_VERTICAL`), or top to bottom and left to right (for type() == `FL_HORIZONTAL`), within the available size of the group, with a scrollbar turning on if they don't all fit.

This class is a group with a scrollbar and an Fl_Group inside (both publicly exposed). The Fl_Group contains the actual child widgets of this group.

Most of the Fl_Group member functions are reimplemented here in a pass-through fashion to the internal group. This means that casual use of a descendent instance will be almost exactly the same as for a regular Fl_Group, with any additional access provided directly through member group.

The goal of this class is to provide a group that dynamically and evenly distributes its children within a fixed space, similar to those available in other GUI toolkits.

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

- Flu_Wrap_Group.h