QWizard
view release on metacpan or search on metacpan
Generator/HTML.pm view on Meta::CPAN
$self->add_handler('radio',
\&QWizard::Generator::HTML::do_radio,
[['values,labels'],
['default'],
['single','submit'],
['single','refresh_on_change'],
['single','name'],
['single','icons'],
['single','noiconpadding'],
]);
$self->add_handler('label',
\&QWizard::Generator::HTML::do_label,
[['multi','values']]);
$self->add_handler('link',
\&QWizard::Generator::HTML::do_link,
[['single','linktext'],
['single','url']]);
$self->add_handler('paragraph',
\&QWizard::Generator::HTML::do_paragraph,
[['multi','values'],
['single','preformatted']]);
$self->add_handler('button',
\&QWizard::Generator::HTML::do_button,
[['single','values']]);
$self->add_handler('table',
\&QWizard::Generator::HTML::do_table,
[['norecurse','values'],
['norecurse','headers']]);
$self->add_handler('bar',
\&QWizard::Generator::HTML::do_bar,
[['norecurse','values']]);
$self->add_handler('graph',
\&QWizard::Generator::HTML::do_graph,
[['norecurse','values'],
['norecursemulti','graph_options']]);
$self->add_handler('image',
\&QWizard::Generator::HTML::do_image,
[['norecurse','imgdata'],
['norecurse','image'],
['single','imagealt'],
['single', 'height'],
['single', 'width']]);
$self->add_handler('fileupload',
\&QWizard::Generator::HTML::do_fileupload,
[['default','values']]);
$self->add_handler('filedownload',
\&QWizard::Generator::HTML::do_filedownload,
[['single','name'],
['default'],
['single','data'],
['noexpand','datafn'],
['single','extension'],
['single','linktext']
]);
$self->add_handler('unknown',
\&QWizard::Generator::HTML::do_unknown,
[]);
$self->{'datastore'} = new QWizard::Storage::CGIParam;
$self->{'prefstore'} = new QWizard::Storage::CGICookie;
return $self;
}
sub init_cgi {
my $self = shift;
if (!exists($self->{'cgi'})) {
# we do this here late binding as possible for various reasons
$self->{'cgi'} = new CGI;
}
}
sub init_screen {
my ($self, $wiz, $title) = @_;
$self->init_cgi();
return if ($self->{'started'} || $wiz->{'started'});
$self->{'started'} = $wiz->{'started'} = $self->{'prefstore'}{'started'} =1;
$self->{'first_tree'} = 1;
my @otherargs;
if ($self->{'cssurl'}) {
push @otherargs, 'style', { src => $self->{'cssurl'}};
} elsif (!$self->{'nocss'}) {
push @otherargs, 'style', { code => $defaultcss };
}
print "Content-type: text/html\n\n" if (!$self->{'noheaders'} &&
!$wiz->{'noheaders'});
print $self->{'cgi'}->start_html(-title => escapeHTML($title),
-bgcolor => $self->{'bgcolor'}
|| $wiz->{'bgcolor'} || "#ffffff",
@otherargs);
if ($self->{'prefstore'}->{'immediate_out'} &&
$#{$self->{'prefstore'}->{'immediate_out'}} > -1) {
print @{$self->{'prefstore'}->{'immediate_out'}};
delete $self->{'prefstore'}->{'immediate_out'};
}
print $self->{'cgi'}->start_multipart_form(-name => $self->{'form_name'}),
"\n";
$self->{'wizard'} = $wiz;
}
# html always waits
sub wait_for {
my ($self, $wiz, $next, $p) = @_;
print $self->{'cgi'}->end_form();
print "</tr>\n" if (exists($self->{'nocss'}));
$self->close_div_or_table(); # end for <div class="qwizard"> in start_primaries
return 1;
}
sub do_css {
my ($self, $class, $name, $noidstr) = @_;
if (!exists($self->{'nocss'})) {
my $idstr = '';
$idstr = $class if (!$noidstr);
return " class=\"$class\" id=\"$idstr$name\" ";
}
return "";
}
sub open_div_or_table {
my $self = shift;
if (!exists($self->{'nocss'})) {
print "<div class=\"" . $_[0] . "\">\n";
} else {
print "<table $_[1]>\n";
}
}
sub close_div_or_table {
my $self = shift;
if (!exists($self->{'nocss'})) {
print "</div>\n";
} else {
print "</table>\n";
}
}
sub open_div_or_tr {
my $self = shift;
if (!exists($self->{'nocss'})) {
print "<div class=\"" . $_[0] . "\">\n";
} else {
print "<tr $_[1]>\n";
}
}
sub open_span_or_td {
my $self = shift;
if (!exists($self->{'nocss'})) {
print "<span class=\"" . $_[0] . "\">\n";
} else {
print "<td valign=\"top\" $_[1]>\n";
}
}
( run in 0.397 second using v1.01-cache-2.11-cpan-8f98c5d2c55 )