NAME
Curses::Widgets::ButtonSet - Button Set Widgets
MODULE VERSION
$Id: ButtonSet.pm,v 1.103 2002/11/03 23:31:26 corliss Exp corliss $
SYNOPSIS
$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.
REQUIREMENTS
DESCRIPTION
Curses::Widgets::ButtonSet provides simplified OO access to Curses-based button sets. Each object maintains it's own state information.
METHODS
new (inherited from Curses::Widgets)
$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)
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.
draw
$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).
HISTORY
AUTHOR/COPYRIGHT
(c) 2001 Arthur Corliss (corliss@digitalmages.com)