NAME

Tickit::Widget::Choice - a widget giving a choice from a list

CONSTRUCTOR

new

$choice = Tickit::Widget::Choice->new( %args )

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

Takes the following named arguments

choices => ARRAY

Optional. If supplied, should be an ARRAY reference containing two-element ARRAY references. Each will be added to the list of choices as if by a call to push_choice for each element in the array.

on_changed => CODE

Optional. If supplied, used to set the initial value of the on_changed event handler.

ACCESSORS

on_changed

$on_changed = $self->on_changed

set_on_changed

$self->set_on_changed( $on_changed )

Return or set the CODE reference to be called when the chosen selection is changed.

$on_changed->( $choice, $value )

METHODS

push_choice

$choice->push_choice( $value, $caption )

Appends another choice to the list of choices, with the given value and display caption.

chosen_value

$value = $choice->chosen_value

Returns the value of the currently-chosen choice.

choose_by_idx

$choice->choose_by_idx( $idx )

Moves the chosen choice to the one at the given index. If this wasn't the previously-chosen one, invokes the on_changed event.

choose_by_value

$choice->choose_by_value( $value )

Moves the chosen choise to the one having the given value, if such a choice exists. If this wasn't the previously-chosen one, invokes the on_changed event.

$choice->popup_menu

Display the popup menu in a modal float until a choice is made.

TODO

  • Render a full border around the widget if height is at least 3.

AUTHOR

Paul Evans <leonerd@leonerd.org.uk>