sub DisplayFields { my ($screen,$screenname,$tabdata,$fields) = @_; for (my $i = 0; $i < @$fields; $i+=2) { my ($field,$style) = ($$fields[$i+1]->[1],''); if ($field eq 'textfield') { $field = $cgi->textfield( -name => @$fields[$i], -size => @$fields[$i+1]->[2], -default => $$tabdata->{$screenname}->{@$fields[$i]}, ); } elsif ($field eq 'picklist') { $field = $cgi->popup_menu( -name => @$fields[$i], -values => @$fields[$i+1]->[2], -labels => @$fields[$i+1]->[3], -default => $$tabdata->{$screenname}->{@$fields[$i]}, ); } elsif ($field eq 'checkbox') { $field = $cgi->checkbox( -name => @$fields[$i], -value => 1, -label => '', -checked => $$tabdata->{$screenname}->{@$fields[$i]}, ); } elsif ($field eq 'textarea') { $style = 'vertical-align: top'; $field = $cgi->textarea( -name=> @$fields[$i], -rows => @$fields[$i+1]->[2], -columns => @$fields[$i+1]->[3], -default => $tabdata->{$screenname}->{@$fields[$i]}, ); } if ($field eq 'begin_table') { $$screen->AppendToSection('body',qq()); } elsif ($field eq 'end_table') { $$screen->AppendToSection('body','
 
'); } else { $$screen->AppendToSection('body',qq(@$fields[$i+1]->[0]$field)); } } }