Curses::Widgets::ButtonSet - Button Set Widgets
$Id: ButtonSet.pm,v 1.103 2002/11/03 23:31:26 corliss Exp corliss $
use Curses::Widgets::ButtonSet;
$btns = Curses::Widgets::ButtonSet->({
LENGTH => 10,
VALUE => 0,
INPUTFUNC => \&scankey,
FOREGROUND => 'white',
BACKGROUND => 'black',
BORDER => 1,
BORDERCOL => 'red',
FOCUSSWITCH => "\t\n",
HORIZONTAL => 1,
PADDING => 1,
X => 1,
Y => 1,
LABELS => [qw(OK CANCEL)],
});
$btns->draw($mwh, 1);
See the Curses::Widgets pod for other methods.
- Curses
- Curses::Widgets
Curses::Widgets::ButtonSet provides simplified OO access to Curses-based button
sets. Each object maintains it's own state information.
$btns = Curses::Widgets::ButtonSet->({
LENGTH => 10,
VALUE => 0,
INPUTFUNC => \&scankey,
FOREGROUND => 'white',
BACKGROUND => 'black',
BORDER => 1,
BORDERCOL => 'red',
FOCUSSWITCH => "\t\n",
HORIZONTAL => 1,
PADDING => 1,
X => 1,
Y => 1,
LABELS => [qw(OK CANCEL)],
});
The new method instantiates a new ButtonSet object. The only mandatory key/value
pairs in the configuration hash are
X,
Y, and
LABELS. All
others have the following defaults:
Key Default Description
============================================================
LENGTH 10 Number of columns for each button label
VALUE 0 Button selected (0-based indexing)
INPUTFUNC \&scankey Function to use to scan for keystrokes
FOREGROUND undef Default foreground colour
BACKGROUND undef Default blackground colour
BORDER 1 Display border around the set
BORDERCOL undef Foreground colour for border
FOCUSSWITCH "\t\n" Characters which signify end of input
HORIZONTAL 1 Horizontal orientation for set
PADDING 1 Number of spaces between buttons
The last option,
PADDING, is only applicable to horizontal sets without
borders.
$btns->draw($mwh, 1);
The draw method renders the button set 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 set's selected button to be rendered
in standout mode (inverse video).
- 1999/12/29 -- Original button set widget in functional
model
- 2001/07/05 -- First incarnation in OO architecture
(c) 2001 Arthur Corliss (
[email protected])