Widgets::ListBox::MultiColumn(3p)

NAME
Curses::Widgets::ListBox::MultiColumn - Multi-Column List Box Widgets

MODULE VERSION
$Id: MultiColumn.pm,v 0.1 2002/11/14 01:28:49 corliss Exp corliss $

SYNOPSIS
  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.

REQUIREMENTS

Curses
Curses::Widgets
Curses::Widgets::ListBox

DESCRIPTION
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.

METHODS

  new (inherited from Curses::Widgets)
  $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.

  draw
  $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.

HISTORY

1999/12/29 -- Original list box widget in functional model
2001/07/05 -- First incarnation in OO architecture

AUTHOR/COPYRIGHT
(c) 2001 Arthur Corliss (corliss@digitalmages.com)