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:
Generated on Fri Nov 5 12:41:33 2004 for FLTK Utility Library and Widget Collection (FLU) by doxygen 1.3.5