use the value names in place of the value itself.
=cut
sub value_names {
return
}
=item $bool = $input->readonly
=item $input->readonly( $bool )
This method is used to get/set the value of the readonly attribute.
You are allowed to modify the value of readonly inputs, but setting
the value will generate some noise when warnings are enabled. Hidden
fields always start out readonly.
=cut
sub readonly {
my $self = shift;
my $old = $self->{readonly};
$self->{readonly} = shift if @_;
$old;
}
=item $bool = $input->disabled
=item $input->disabled( $bool )
This method is used to get/set the value of the disabled attribute.
Disabled inputs do not contribute any key/value pairs for the form
value.
=cut
sub disabled {
my $self = shift;
my $old = $self->{disabled};
$self->{disabled} = shift if @_;
$old;
}
=item $input->form_name_value
Returns a (possible empty) list of key/value pairs that should be
incorporated in the form value from this input.
=cut
sub form_name_value
{
my $self = shift;
my $name = $self->{'name'};
return unless defined $name;
return if $self->disabled;
my $value = $self->value;
return unless defined $value;
return ($name => $value);
}
sub dump
{
my $self = shift;
my $name = $self->name;
$name = "<NONAME>" unless defined $name;
my $value = $self->value;
$value = "<UNDEF>" unless defined $value;
my $dump = "$name=$value";
my $type = $self->type;
$type .= " disabled" if $self->disabled;
$type .= " readonly" if $self->readonly;
return sprintf "%-30s %s", $dump, "($type)" unless $self->{menu};
my @menu;
my $i = 0;
for (@{$self->{menu}}) {
my $opt = $_->{value};
$opt = "<UNDEF>" unless defined $opt;
$opt .= "/$_->{name}"
if defined $_->{name} && length $_->{name} && $_->{name} ne $opt;
substr($opt,0,0) = "-" if $_->{disabled};
if (exists $self->{current} && $self->{current} == $i) {
substr($opt,0,0) = "!" unless $_->{seen};
substr($opt,0,0) = "*";
}
else {
substr($opt,0,0) = ":" if $_->{seen};
}
push(@menu, $opt);
$i++;
}
return sprintf "%-30s %-10s %s", $dump, "($type)", "[" . join("|", @menu) . "]";
}
#---------------------------------------------------
=10= |