Curses::Widgets::ListBox::MultiColumn - Multi-Column List Box Widgets
$Id: MultiColumn.pm,v 0.1 2002/11/14 01:28:49 corliss Exp corliss $
use Curses::Widgets::ListBox::MultiColumn;
$lb = Curses::Widgets::ListBox::MultiColumn->new({
COLUMNS => [0, 5, 10, 3, 3],
LISTITEMS => [@list],
});
$lb->draw($mwh, 1);
See the Curses::Widgets pod for other methods.
- Curses
- Curses::Widgets
- Curses::Widgets::ListBox
Curses::Widgets::ListBox::MultiColumn is an extension of the standard
Curses::Widgets::ListBox that allows a list of columns, with each column a
specified width.
$tm = Curses::Widgets::ListBox->new({
COLUMNS => [0, 5, 10, 3, 3],
LISTITEMS => [@list],
HEADERS => [@headers],
HEADERCOLFG => 'white',
HEADERCOLBG => 'green',
BIGHEADER => 1,
});
All of the same key values apply here as they do for the parent class
Curses::Widgets::ListBox. In addition, the following new keys are defined:
Key Default Description
============================================================
COLUMNS [] Column widths
LISTITEMS [] List of list values
HEADERS [] Column header labels
HEADERFGCOL undef Header foreground colour
HEADERBGCOL undef Header background colour
BIGHEADER 0 Use more graphics for the header
KEYINDX 0 Index of key column
If headers are defined but one or both of the header colours are not, then they
will default to the widget fore and background.
NOTE: Headers take up more lines in addition to the border (one line for
the normal, small header, two lines for the larger). You need to take that
into account when setting the geometry. If no labels are passed in the HEADERS
array, no space will be used for the headers.
The
KEYINDX value is currently only used to match keystrokes against for
quick navigation.
$lb->draw($mwh, 1);
The draw method renders the list box in its current state. This requires a valid
handle to a curses window in which it will render itself. The optional second
argument, if true, will cause the field's text cursor to be rendered as well.
- 1999/12/29 -- Original list box widget in functional
model
- 2001/07/05 -- First incarnation in OO architecture
(c) 2001 Arthur Corliss (
[email protected])