<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;"># ----------------------------------------------------------------------
# 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     =&gt; 1, # Force radiobuttons
        -multi     =&gt; 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-&gt;SUPER::new( %args);

    return $this;
}

1;


=pod

=head1 NAME

Curses::UI::Radiobuttonbox - Create and manipulate radiobuttonbox widgets

=head1 CLASS HIERARCHY

 Curses::UI::Widget
 Curses::UI::Searchable
    |
    +----Curses::UI::Listbox
            |
            +----Curses::UI::Radiobuttonbox



=head1 SYNOPSIS

    use Curses::UI;
    my $cui = new Curses::UI;
    my $win = $cui-&gt;add('window_id', 'Window');

    my $radiobuttonbox = $win-&gt;add(
        'myradiobuttonbox', 'Radiobuttonbox',
        -values    =&gt; [1, 2, 3],
        -labels    =&gt; { 1 =&gt; 'One', 
                        2 =&gt; 'Two', 
                        3 =&gt; 'Three' },
    );

    $radiobuttonbox-&gt;focus();
    my $selected = $radiobuttonbox-&gt;get();


=head1 DESCRIPTION

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:

 +----------+
 |&lt; &gt; One   |
 |&lt;o&gt; Two   |
 |&lt; &gt; Three |
 +----------+

A Radiobuttonbox is derived from Curses::UI::Listbox. The
only special thing about this class is that the 
B&lt;-radio&gt; option is forced to a true value. So for the
usage of Curses::UI::Radiobuttonbox see
L&lt;Curses::UI::Listbox|Curses::UI::Listbox&gt;).




=head1 SEE ALSO

L&lt;Curses::UI|Curses::UI&gt;, 
L&lt;Curses::UI::Listbox|Curses::UI::Listbox&gt;, 




=head1 AUTHOR

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.

</pre></body></html>