File Coverage

blib/lib/PDF/Make/Builder/Form/Field/Listbox.pm
Criterion Covered Total %
statement 20 20 100.0
branch 3 4 75.0
condition n/a
subroutine 6 6 100.0
pod 0 1 0.0
total 29 31 93.5


line stmt bran cond sub pod time code
1             package PDF::Make::Builder::Form::Field::Listbox;
2 42     42   217 use strict;
  42         60  
  42         1301  
3 42     42   142 use warnings;
  42         58  
  42         1616  
4 42     42   155 use Object::Proto;
  42         61  
  42         2734  
5              
6             BEGIN {
7 42     42   4981 Object::Proto::define('PDF::Make::Builder::Form::Field::Listbox',
8             extends => 'PDF::Make::Builder::Form::Field',
9             'options:ArrayRef:default([])',
10             );
11 42         9740 Object::Proto::import_accessors('PDF::Make::Builder::Form::Field::Listbox');
12             }
13              
14             sub BUILD {
15 2     2 0 5 my ($self) = @_;
16             # Listboxes default taller to show multiple items
17 2 100       16 $self->h(80) unless defined $self->[3]; # h slot
18             }
19              
20             sub _create_field {
21 2     2   9 my ($self, $doc, $name, $fx, $fy, $fw, $fh) = @_;
22 2         14 my $field = PDF::Make::FieldPtr::listbox($doc, $name, $fx, $fy, $fw, $fh);
23 2         19 my $opts = options $self;
24 2         7 for my $opt (@$opts) {
25 8 50       18 my ($val, $display) = ref $opt ? @$opt : ($opt, $opt);
26 8         44 $field->add_option($display, $val);
27             }
28 2         7 return $field;
29             }
30              
31             1;
32              
33             __END__