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.
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) 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.
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).
1999/12/29 -- Original button set widget in functional model
2001/07/05 -- First incarnation in OO architecture
(c) 2001 Arthur Corliss (corliss AT digitalmages DOT com)