use Carp qw(confess);
use Image::Size;
-our $VERSION = "1.002";
+our $VERSION = "1.003";
=head1 NAME
sub htmltype { $_[0]{htmltype} }
+=item fieldtype
+
+How to parse this field. May be ignored depending on type.
+
+=cut
+
+sub fieldtype { $_[0]{fieldtype} }
+
=item width
Display width. May be ignored depending on C<type>.
my %field =
(
- %{$field_defs{$self->type}},
description => scalar $self->title,
units => scalar $self->unit,
rules => scalar $self->rules,
- type => scalar $self->type,
+ rawtype => scalar $self->type,
htmltype => scalar $self->htmltype,
+ type => scalar $self->fieldtype,
+ width => scalar $self->width,
+ height => scalar $self->height,
);
+ my $defs = $field_defs{$self->type};
+ for my $key (keys %$defs) {
+ defined $field{$key} or $field{$key} = $defs->{$key};
+ }
if ($self->type =~ /^(?:multi)?enum$/) {
my $values = [ $self->values ];
my $labels = [ $self->labels ];
values => \@values,
};
}
+ my %fields = ( $self->name => \%field );
- return \%field;
+ require BSE::Validate;
+ my $configured =
+ BSE::Validate::bse_configure_fields({ $self->name => \%fields }, BSE::Cfg->single,
+ $self->validation_section);
+
+ return $fields{$self->name};
}
=item name
type => "string",
unit => '',
help => '',
- width => 60,
- height => 40,
+ fieldtype => "",
@_
);
+
+
$opts{cfg} && $opts{cfg}->can("entry")
or confess "Missing or invalid cfg parameter";
$opts{name}
}
sub keys {
- qw/title help rules ro values labels type data_name width_name height_name cond unit htmltype width height/;
+ qw/title help rules ro values labels type data_name width_name height_name cond unit htmltype width height fieldtype/;
}
sub retrieve {