NAME
Tickit::Widget::RadioButton
- a widget allowing a selection from multiple options
SYNOPSIS
use Tickit;
use Tickit::Widget::RadioButton;
use Tickit::Widget::VBox;
my $group = Tickit::Widget::RadioButton::Group->new;
my $vbox = Tickit::Widget::VBox->new;
$vbox->add( Tickit::Widget::RadioButton->new(
caption => "Radio button $_",
group => $group,
) ) for 1 .. 5;
Tickit->new( root => $vbox )->run;
DESCRIPTION
This class provides a widget which allows a selection of one value from a group of related options. It provides a clickable area and a visual indication of which button in the group is the one currently active. Selecting a new button within a group will unselect the previously-selected one.
This widget is part of an experiment in evolving the design of the Tickit::Style widget integration code, and such is subject to change of details.
STYLE
The default style pen is used as the widget pen. The following style pen prefixes are also used:
The following style keys are used:
- tick => STRING
-
The text used to indicate the active button
- spacing => INT
-
Number of columns of spacing between the tick mark and the caption text
The following style tags are used:
CONSTRUCTOR
$radiobutton = Tickit::Widget::RadioButton->new( %args )
Constructs a new Tickit::Widget::RadioButton
object.
Takes the following named argmuents
- label => STRING
-
The label text to display alongside this button.
- group => Tickit::Widget::RadioButton::Group
-
Optional. If supplied, the group that the button should belong to. If not supplied, a new group will be constructed that can be accessed using the
group
accessor.
ACCESSORS
$group = $radiobutton->group
Returns the Tickit::Widget::RadioButton::Group
this button belongs to.
$label = $radiobutton->label
$radiobutton->set_label( $label )
Returns or sets the label text of the button.
METHODS
$radiobutton->activate
Sets this button as the active member of the group, deactivating the previous one.
$active = $radiobutton->is_active
Returns true if this button is the active button of the group.
GROUPS
Every Tickit::Widget::RadioButton
belongs to a group. Only one button can be active in a group at any one time. The group
accessor returns the group the button is a member of. The following methods are available on it.
A group can be explicitly created to pass to a button's constructor, or one will be implicitly created for a button if none is passed.
$group = Tickit::Widget::RadioButton::Group->new
Returns a new group.
$radiobutton = $group->active
Returns the button which is currently active in the group
AUTHOR
Paul Evans <leonerd@leonerd.org.uk>