/usr/share/perl5/CGI/Test/Form/Widget/Menu/List.pm is in libcgi-test-perl 1.111-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 | package CGI::Test::Form::Widget::Menu::List;
use strict;
use warnings;
##################################################################
# $Id: List.pm 411 2011-09-26 11:19:30Z nohuhu@nohuhu.org $
# $Name: cgi-test_0-104_t1 $
##################################################################
#
# Copyright (c) 2001, Raphael Manfredi
#
# You may redistribute only under the terms of the Artistic License,
# as specified in the README file that comes with the distribution.
#
use Carp;
#
# This class models a FORM scrollable list.
#
use base qw(CGI::Test::Form::Widget::Menu);
#
# %attr
#
# Defines which HTML attributes we should look at within the node, and how
# to translate that into class attributes.
#
my %attr = ('name' => 'name',
'size' => 'size',
'multiple' => 'multiple',
'disabled' => 'is_disabled',
);
#
# ->_init
#
# Per-widget initialization routine.
# Parse HTML node to determine our specific parameters.
#
sub _init
{
my $this = shift;
my ($node) = shift;
$this->_parse_attr($node, \%attr);
$this->_parse_options($node);
return;
}
#
# ->submit_tuples -- redefined
#
# Returns list of (name => value) tuples that should be part of the
# submitted form data.
#
sub submit_tuples
{
my $this = shift;
return map {$this->name => $_} keys %{$this->selected()};
}
#
# Attribute access
#
sub size
{
my $this = shift;
return $this->{size};
}
sub gui_type
{
"scrolling list"
}
#
# Defined predicates
#
sub is_popup
{
return 0;
}
1;
=head1 NAME
CGI::Test::Form::Widget::Menu::List - A scrolling list menu
=head1 SYNOPSIS
# Inherits from CGI::Test::Form::Widget::Menu
# $form is a CGI::Test::Form
my $action = $form->menu_by_name("action");
$action->unselect("allow-gracetime");
$action->select("reboot");
=head1 DESCRIPTION
This class models a scrolling list menu, from which items may be selected
and unselected.
=head1 INTERFACE
The interface is the same as the one described in
L<CGI::Test::Form::Widget::Menu>, with the following additional attribute:
=over 4
=item C<size>
The amount of choices displayed.
=back
=head1 AUTHORS
The original author is Raphael Manfredi.
Steven Hilton was long time maintainer of this module.
Current maintainer is Alexander Tokarev F<E<lt>tokarev@cpan.orgE<gt>>.
=head1 SEE ALSO
CGI::Test::Form::Widget::Menu(3).
=cut
|