| Curses-UI documentation | Contained in the Curses-UI distribution. |
Curses::UI::Radiobuttonbox - Create and manipulate radiobuttonbox widgets
Curses::UI::Widget
Curses::UI::Searchable
|
+----Curses::UI::Listbox
|
+----Curses::UI::Radiobuttonbox
use Curses::UI;
my $cui = new Curses::UI;
my $win = $cui->add('window_id', 'Window');
my $radiobuttonbox = $win->add(
'myradiobuttonbox', 'Radiobuttonbox',
-values => [1, 2, 3],
-labels => { 1 => 'One',
2 => 'Two',
3 => 'Three' },
);
$radiobuttonbox->focus();
my $selected = $radiobuttonbox->get();
Curses::UI::Radiobuttonbox is a widget that can be used to create a radiobutton listbox. Only one value can be selected at a time. This kind of listbox looks somewhat like this:
+----------+ |< > One | |<o> Two | |< > Three | +----------+
A Radiobuttonbox is derived from Curses::UI::Listbox. The only special thing about this class is that the -radio option is forced to a true value. So for the usage of Curses::UI::Radiobuttonbox see Curses::UI::Listbox).
Copyright (c) 2001-2002 Maurice Makaay. All rights reserved.
Maintained by Marcus Thiesen (marcus@cpan.thiesenweb.de)
This package is free software and is provided "as is" without express or implied warranty. It may be used, redistributed and/or modified under the same terms as perl itself.
| Curses-UI documentation | Contained in the Curses-UI distribution. |
# ---------------------------------------------------------------------- # Curses::UI::Radiobuttonbox # # (c) 2001-2002 by Maurice Makaay. All rights reserved. # This file is part of Curses::UI. Curses::UI is free software. # You can redistribute it and/or modify it under the same terms # as perl itself. # # Currently maintained by Marcus Thiesen # e-mail: marcus@cpan.thiesenweb.de # ---------------------------------------------------------------------- # TODO: fix dox package Curses::UI::Radiobuttonbox; use strict; use Curses; use Curses::UI::Common; use Curses::UI::Listbox; use Curses::UI::Widget; use vars qw( $VERSION @ISA ); $VERSION = '1.10'; @ISA = qw( Curses::UI::Listbox ); sub new () { my $class = shift; my %userargs = @_; keys_to_lowercase(\%userargs); my %args = ( %userargs, -radio => 1, # Force radiobuttons -multi => 0, # Force no multiselect ); # Compute the needed with if -width is undefined. # The extra 4 positions are for the radiobutton drawing. $args{-width} = 4 + width_by_windowscrwidth(maxlabelwidth(%args), %args) unless defined $args{-width}; # Create the entry. my $this = $class->SUPER::new( %args); return $this; } 1;