NAME

Tickit::Widget::CheckButton - a widget allowing a toggle true/false option

SYNOPSIS

use Tickit;
use Tickit::Widget::CheckButton;
use Tickit::Widget::VBox;

my $vbox = Tickit::Widget::VBox->new;
$vbox->add( Tickit::Widget::CheckButton->new(
      label => "Check button $_",
) ) for 1 .. 5;

Tickit->new( root => $vbox )->run;

DESCRIPTION

This class provides a widget which allows a true/false selection. It displays a clickable indication of status and a caption. Clicking on the status or caption inverts the status of the widget.

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:

check => PEN

The pen used to render the check marker

The following style keys are used:

check => STRING

The text used to indicate the active status

spacing => INT

Number of columns of spacing between the check mark and the caption text

The following style tags are used:

:active

Set when this button's status is true

The following style actions are used:

toggle

The main action to activate the on_click handler.

CONSTRUCTOR

$checkbutton = Tickit::Widget::CheckButton->new( %args )

Constructs a new Tickit::Widget::CheckButton object.

Takes the following named argmuents

label => STRING

The label text to display alongside this button.

on_toggle => CODE

Optional. Callback function to invoke when the check state is changed.

ACCESSORS

$label = $checkbutton->label

$checkbutton->set_label( $label )

Returns or sets the label text of the button.

$on_toggle = $checkbutton->on_toggle

$checkbutton->set_on_toggle( $on_toggle )

Return or set the CODE reference to be called when the button state is changed.

$on_toggle->( $checkbutton, $active )

METHODS

$checkbutton->activate

Sets this button's active state to true.

$checkbutton->deactivate

Sets this button's active state to false.

$active = $checkbutton->is_active

Returns this button's active state.

AUTHOR

Paul Evans <leonerd@leonerd.org.uk>