NAME

Curses::Widgets::ButtonSet - Button Set Widgets

MODULE VERSION

$Id: ButtonSet.pm,v 1.99 2001/12/05 09:53:44 corliss Exp $

SYNOPSIS

use Curses::Widgets::ButtonSet;

$btns = Curses::Widgets::ButtonSet->({
	LENGTH			=> 10,
	VALUE			=> 0,
	INPUTFUNC		=> \&scankey,
	FOREGROUND		=> undef,
	BACKGROUND		=> 'black',
	BORDER			=> 1,
	BORDERCOL		=> undef,
	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

Curses Curses::Widgets

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		=> undef,
	BACKGROUND		=> 'black',
	BORDER			=> 1,
	BORDERCOL		=> undef,
	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	'black'		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

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

AUTHOR/COPYRIGHT

(c) 2001 Arthur Corliss (corliss@digitalmages.com)