view release on metacpan or search on metacpan
lib/App/Widget/AppFrame.pm view on Meta::CPAN
=cut
######################################################################
# CONSTANTS
######################################################################
######################################################################
# ATTRIBUTES
######################################################################
# INPUTS FROM THE ENVIRONMENT
=head1 DESCRIPTION
This class implements an application frame.
This includes a menu, an application toolbar, a screen selector,
a screen title, a screen toolbar, and
a screen frame. The application is actually implemented by the set
of screens that the application frame is configured to allow navigation
to.
lib/App/Widget/AppFrame.pm view on Meta::CPAN
return 1;
}
else {
return $self->SUPER::handle_event($wname, $event, @args);
}
}
######################################################################
# OUTPUT METHODS
######################################################################
sub html {
my $self = shift;
my ($context, $name, $html);
$name = $self->{name};
$context = $self->{context};
my ($menu, $toolbar, $screentitle, $screentoolbar);
my ($selector_widget, $selector);
lib/App/Widget/Button.pm view on Meta::CPAN
=cut
######################################################################
# CONSTANTS
######################################################################
######################################################################
# ATTRIBUTES
######################################################################
# INPUTS FROM THE ENVIRONMENT
=head1 DESCRIPTION
This class is a <input type=submit> HTML element.
In the advanced configurations, it is rendered as an image button.
=cut
######################################################################
# INITIALIZATION
lib/App/Widget/Button.pm view on Meta::CPAN
# else {
# return $self->SUPER::handle_event(@_);
# }
#}
#sub click {
# my $self = shift;
#}
######################################################################
# OUTPUT METHODS
######################################################################
sub html {
my $self = shift;
my $name = $self->{name};
my $label = $self->html_escape($self->{label});
my $html_attribs = $self->html_attribs();
return "<input type=\"submit\" name=\"app.event.${name}.click\" value=\"$label\"$html_attribs/>";
}
lib/App/Widget/Checkbox.pm view on Meta::CPAN
=cut
######################################################################
# CONSTANTS
######################################################################
######################################################################
# ATTRIBUTES
######################################################################
# INPUTS FROM THE ENVIRONMENT
=head1 DESCRIPTION
This class implements a widget.
=cut
######################################################################
# INITIALIZATION
######################################################################
# no special initialization
######################################################################
# EVENTS
######################################################################
# no events
######################################################################
# OUTPUT METHODS
######################################################################
sub html {
my $self = shift;
my ($name, $value, $html);
$name = $self->{name};
$value = $self->get_value();
# HTML checkboxes are funny.
# They don't submit anything unless checked.
lib/App/Widget/CheckboxGroup.pm view on Meta::CPAN
=cut
######################################################################
# CONSTANTS
######################################################################
######################################################################
# ATTRIBUTES
######################################################################
# INPUTS FROM THE ENVIRONMENT
=head1 DESCRIPTION
This class implements a widget.
=cut
######################################################################
# INITIALIZATION
######################################################################
# no special initialization
######################################################################
# EVENTS
######################################################################
# no events
######################################################################
# OUTPUT METHODS
######################################################################
sub html {
my $self = shift;
my ($context, $name, @currvalues, $values, @values, $labels);
my ($tagname, $nullable, $tabindex);
$context = $self->{context};
$name = $self->{name};
lib/App/Widget/Compound.pm view on Meta::CPAN
=cut
######################################################################
# CONSTANTS
######################################################################
######################################################################
# ATTRIBUTES
######################################################################
# INPUTS FROM THE ENVIRONMENT
=head1 DESCRIPTION
This class is a non-visual compound of other (presumably) visual widgets.
However, it must be "displayed" so that event-html is created
(an <input type="hidden"> tag).
The role of a Compound widget is to keep the joined compound value
in sync with the split component values. Thus, when the form is
submitted an event is fired to join() the component values into
lib/App/Widget/Compound.pm view on Meta::CPAN
$context->so_set($name, undef, $value);
}
sub change {
my $self = shift;
$self->join();
}
######################################################################
# OUTPUT METHODS
######################################################################
sub html {
my $self = shift;
$self->split();
return $self->callback_event_tag("change");
}
lib/App/Widget/DataAnalysis.pm view on Meta::CPAN
=cut
######################################################################
# CONSTANTS
######################################################################
######################################################################
# ATTRIBUTES
######################################################################
# INPUTS FROM THE ENVIRONMENT
=head1 DESCRIPTION
A set of data grids and graphs.
=cut
######################################################################
# INITIALIZATION
######################################################################
lib/App/Widget/DataAnalysis.pm view on Meta::CPAN
&App::sub_exit() if ($App::trace);
}
######################################################################
# EVENTS
######################################################################
# no events
######################################################################
# OUTPUT METHODS
######################################################################
sub html {
&App::sub_entry if ($App::trace);
my $self = shift;
my $context = $self->{context};
my $widget = $self->{widget} || {};
my $widget_names = $self->{widgets};
$widget_names = [ sort keys %$widget ] if (!$widget_names);
my ($args, $columns, $w);
lib/App/Widget/DataRowView.pm view on Meta::CPAN
=cut
######################################################################
# CONSTANTS
######################################################################
######################################################################
# ATTRIBUTES
######################################################################
# INPUTS FROM THE ENVIRONMENT
=head1 DESCRIPTION
This class implements a base class for a complex view of a row.
the attributes of
$self->{row}
$self->{columns}
are assumed to exist.
lib/App/Widget/DataRowView.pm view on Meta::CPAN
# no special initialization
######################################################################
# EVENTS
######################################################################
# no events
######################################################################
# OUTPUT METHODS
######################################################################
sub html {
my $self = shift;
my $html = "<span style=\"white-space: normal\">";
my $columns = $self->{columns} || die "columns not defined";
my $row = $self->{row} || die "row not defined";
my $first = 1;
for (my $i = 0; $i <= $#$columns; $i++) {
if (defined $row->[$i] && $row->[$i] ne "") {
lib/App/Widget/DataTable.pm view on Meta::CPAN
# [ "Smith, Sarah", "1215 Interloke Pass", "Jonesboro", "GA", "US", "770-603-1812" ],
# [ "Smith, Ken", "1215 Interloke Pass", "Jonesboro", "GA", "US", "770-603-1813" ],
# [ "Smith, Mary", "1215 Interloke Pass", "Jonesboro", "GA", "US", "770-603-1814" ], ];
# {startrow} = 1
# {maxrows} = 20
# {scrollable} = 0;
# {sortable} = 0;
# {filterable} = 0;
# {editable} = 0;
# INPUTS FROM THE ENVIRONMENT
=head1 DESCRIPTION
This class is a <input type=submit> HTML element.
In the advanced configurations, it is rendered as an image button.
=cut
######################################################################
# INITIALIZATION
lib/App/Widget/DataTable.pm view on Meta::CPAN
$value = join(",", @$value) if (ref($value) eq "ARRAY");
}
$value = "" if (!defined $value);
$text =~ s/\{$var\}/$value/g;
}
&App::sub_exit($text) if ($App::trace);
$text;
}
######################################################################
# OUTPUT METHODS
######################################################################
sub table_html {
&App::Widget::DataTable::html(@_);
}
sub html {
&App::sub_entry if ($App::trace);
my $self = shift;
$self->{context}->dbgprint("DataTable->html()")
lib/App/Widget/DataTable2.pm view on Meta::CPAN
# [ "Smith, Sarah", "1215 Interloke Pass", "Jonesboro", "GA", "US", "770-603-1812" ],
# [ "Smith, Ken", "1215 Interloke Pass", "Jonesboro", "GA", "US", "770-603-1813" ],
# [ "Smith, Mary", "1215 Interloke Pass", "Jonesboro", "GA", "US", "770-603-1814" ], ];
# {startrow} = 1
# {maxrows} = 20
# {scrollable} = 0;
# {sortable} = 0;
# {filterable} = 0;
# {editable} = 0;
# INPUTS FROM THE ENVIRONMENT
=head1 DESCRIPTION
This class is a <input type=submit> HTML element.
In the advanced configurations, it is rendered as an image button.
=cut
######################################################################
# INITIALIZATION
lib/App/Widget/DataTable2.pm view on Meta::CPAN
$value = join(",", @$value) if (ref($value) eq "ARRAY");
}
$value = "" if (!defined $value);
$text =~ s/\{$var\}/$value/g;
}
&App::sub_exit($text) if ($App::trace);
$text;
}
######################################################################
# OUTPUT METHODS
######################################################################
sub table_html {
&App::Widget::DataTable2::html(@_);
}
sub html {
&App::sub_entry if ($App::trace);
my $self = shift;
$self->{context}->dbgprint("DataTable2->html()")
lib/App/Widget/DateDropDowns.pm view on Meta::CPAN
"Jul" => "07", "Aug" => "08", "Sep" => "09",
"Oct" => "10", "Nov" => "11", "Dec" => "12",
);
my @days = ( "00", "31", "28", "31", "30", "31", "30", "31", "31", "30", "31", "30", "31" );
######################################################################
# ATTRIBUTES
######################################################################
# INPUTS FROM THE ENVIRONMENT
=head1 DESCRIPTION
This class is three dropdowns for a date widget.
=cut
######################################################################
# CONSTRUCTOR
######################################################################
lib/App/Widget/DateDropDowns.pm view on Meta::CPAN
$date = "${year}-${month}-$day";
$self->set_value($date);
}
sub change {
my $self = shift;
$self->join_date();
}
######################################################################
# OUTPUT METHODS
######################################################################
sub html {
my $self = shift;
my ($context, $name);
$context = $self->{context};
$name = $self->{name};
$self->split_date();
lib/App/Widget/DateField.pm view on Meta::CPAN
=cut
######################################################################
# CONSTANTS
######################################################################
######################################################################
# ATTRIBUTES
######################################################################
# INPUTS FROM THE ENVIRONMENT
=head1 DESCRIPTION
This class is a <input type=text> HTML element.
=cut
######################################################################
# INITIALIZATION
######################################################################
lib/App/Widget/DualListSelect.pm view on Meta::CPAN
$value = $values[$i-1];
$values[$i-1] = $values[$i];
$values[$i] = $value;
}
}
$self->set_value(\@values);
return 1;
}
######################################################################
# OUTPUT METHODS
######################################################################
sub _set_child_widget_values {
my ($self, $values) = @_;
my $name = $self->{name};
my $context = $self->{context};
my $domain = $self->{domain};
my $allvalues = $context->value_domain($domain)->values();
lib/App/Widget/Element.pm view on Meta::CPAN
=cut
######################################################################
# CONSTANTS
######################################################################
######################################################################
# ATTRIBUTES
######################################################################
# INPUTS FROM THE ENVIRONMENT
=head1 DESCRIPTION
This class is a generic HTML element which can be made into any single
element by proper configuration.
=cut
######################################################################
# CONSTRUCTOR
lib/App/Widget/Element.pm view on Meta::CPAN
#sub _init {
# my $self = shift;
# $self->SUPER::_init(@_);
#}
######################################################################
# METHODS
######################################################################
######################################################################
# OUTPUT METHODS (standard to all true Widgets)
######################################################################
# must have: _type, config
# options: configkey
# options: name, _name
# options: _content
# options: _default, value
sub html {
my $self = shift;
my ($context, $tag, $name, $value, $html_value, $contents);
lib/App/Widget/HierSelector.pm view on Meta::CPAN
# ATTRIBUTES
######################################################################
# {node}{number}{type} # whether open or closed
# {node}{number}{open} # 1=open 0=closed
# {node}{number}{value} #
# {node}{number}{label} #
# {node}{number}{icon} # icon to use (default, closed)
# {node}{number}{openicon} # icon to use when open (optional)
# {node}{number}{hovericon} # icon to use when cursor over icon
# INPUTS FROM THE ENVIRONMENT
=head1 DESCRIPTION
This class implements a generic hierarchical view such as is useful
for a TreeSelector, a Menu, a ToolbarSet, or an IconPaneSelector.
The main function of a HierSelector is to display a hierarchical set of
data and allow the user to generate events based on that view.
=cut
lib/App/Widget/HierSelector.pm view on Meta::CPAN
}
else {
$nodenumber = $tag;
}
&App::sub_exit($nodenumber) if ($App::trace);
return $nodenumber;
}
######################################################################
# OUTPUT METHODS
######################################################################
sub html {
&App::sub_entry if ($App::trace);
my $self = shift;
my ($html, $label);
my $node = $self->node_list();
my ($nodebase, $nodeidx, $nodenumber, $nodelevel);
lib/App/Widget/IconPaneSelector.pm view on Meta::CPAN
sub _init {
my $self = shift;
$self->SUPER::_init(@_);
if (! $self->get("selected")) {
$self->select_first();
}
}
######################################################################
# OUTPUT METHODS
######################################################################
sub html {
my $self = shift;
my ($html, $label, $icon);
my $context = $self->{context};
my $name = $self->{name};
my $node = $self->node_list();
my ($bgcolor, $fontface, $fontsize, $fontcolor, $fontbegin, $fontend);
lib/App/Widget/ImageBarSelector.pm view on Meta::CPAN
sub open_exclusively {
&App::sub_entry if ($App::trace);
my ($self, $opennodenumber) = @_;
#$self->{debug} .= "open_exclusively($opennodenumber)<br>";
$self->SUPER::open_exclusively($opennodenumber);
$self->select_first_open_leaf($opennodenumber);
&App::sub_exit() if ($App::trace);
}
######################################################################
# OUTPUT METHODS
######################################################################
sub html {
&App::sub_entry if ($App::trace);
my $self = shift;
my $context = $self->{context};
my $name = $self->{name};
my $node = $self->node_list();
my $pad = $self->{pad};
lib/App/Widget/ImageButton.pm view on Meta::CPAN
=cut
######################################################################
# CONSTANTS
######################################################################
######################################################################
# ATTRIBUTES
######################################################################
# INPUTS FROM THE ENVIRONMENT
=head1 DESCRIPTION
This class is a <input type=submit> HTML element.
In the advanced configurations, it is rendered as an image button.
=cut
######################################################################
# OUTPUT METHODS
######################################################################
sub html {
my $self = shift;
my ($name);
my ($url, $image, $image_script, $script_url_dir, $html_url_dir);
my ($height, $width, $bevel, $event, $args, $tabindex, $bgcolor);
my ($label, $url_label, $html_label, $event_target, $type, $selected);
$name = $self->{name};
lib/App/Widget/Label.pm view on Meta::CPAN
=cut
######################################################################
# CONSTANTS
######################################################################
######################################################################
# ATTRIBUTES
######################################################################
# INPUTS FROM THE ENVIRONMENT
=head1 DESCRIPTION
This class implements a simple label.
=cut
######################################################################
# INITIALIZATION
######################################################################
# no special initialization
######################################################################
# EVENTS
######################################################################
# no events
######################################################################
# OUTPUT METHODS
######################################################################
sub html {
my $self = shift;
my ($html, $text);
if ($self->{values} || $self->{domain}) {
my ($values, $labels) = $self->values_labels();
my $value = $self->get_value();
if ($value =~ /,/) {
$text = "";
lib/App/Widget/Menu.pm view on Meta::CPAN
=cut
######################################################################
# CONSTANTS
######################################################################
######################################################################
# ATTRIBUTES
######################################################################
# INPUTS FROM THE ENVIRONMENT
=head1 DESCRIPTION
This class implements a toolbar full of pushbuttons.
=cut
######################################################################
# INITIALIZATION
######################################################################
# no special initialization
######################################################################
# EVENTS
######################################################################
# no events
######################################################################
# OUTPUT METHODS
######################################################################
sub html {
my $self = shift;
my ($name, $value, $html);
$name = $self->{name};
$value = $self->get_value("");
$html = "<!-- menu ($name) -->";
$html;
}
lib/App/Widget/NewWidget.pm view on Meta::CPAN
=cut
######################################################################
# CONSTANTS
######################################################################
######################################################################
# ATTRIBUTES
######################################################################
# INPUTS FROM THE ENVIRONMENT
=head1 DESCRIPTION
This class implements a widget.
=cut
######################################################################
# INITIALIZATION
######################################################################
# no special initialization
######################################################################
# EVENTS
######################################################################
# no events
######################################################################
# OUTPUT METHODS
######################################################################
sub html {
my $self = shift;
my ($name, $value, $html);
$name = $self->{name};
$value = $self->get_value("");
$html = "new_widget ($name)";
$html;
}
lib/App/Widget/Password.pm view on Meta::CPAN
=cut
######################################################################
# CONSTANTS
######################################################################
######################################################################
# ATTRIBUTES
######################################################################
# INPUTS FROM THE ENVIRONMENT
=head1 DESCRIPTION
This class is a <input type=password> HTML element.
=cut
######################################################################
# INITIALIZATION
######################################################################
# no special initialization
######################################################################
# EVENTS
######################################################################
# no events
######################################################################
# OUTPUT METHODS
######################################################################
sub unstyled_html {
my $self = shift;
my ($name, $value, $html_value, $html, $var, $size, $maxlength, $tabindex);
$name = $self->{name};
$value = $self->fget_value();
$html_value = $self->html_escape($value);
$size = $self->get("size");
$maxlength = $self->get("maxlength");
lib/App/Widget/RadioButton.pm view on Meta::CPAN
=cut
######################################################################
# CONSTANTS
######################################################################
######################################################################
# ATTRIBUTES
######################################################################
# INPUTS FROM THE ENVIRONMENT
=head1 DESCRIPTION
This class implements a widget.
=cut
######################################################################
# INITIALIZATION
######################################################################
# no special initialization
######################################################################
# EVENTS
######################################################################
# no events
######################################################################
# OUTPUT METHODS
######################################################################
sub html {
my $self = shift;
my ($name, $widget_value, $radiobutton_value, $html);
$name = $self->{name};
$widget_value = $self->get_value();
$radiobutton_value = $self->{value};
# HTML checkboxes are funny.
lib/App/Widget/RadioButtonSet.pm view on Meta::CPAN
=cut
######################################################################
# CONSTANTS
######################################################################
######################################################################
# ATTRIBUTES
######################################################################
# INPUTS FROM THE ENVIRONMENT
=head1 DESCRIPTION
This class is a <select> HTML element.
=cut
######################################################################
# CONSTRUCTOR
######################################################################
lib/App/Widget/RadioButtonSet.pm view on Meta::CPAN
#sub _init {
# my $self = shift;
# $self->SUPER::_init(@_);
#}
######################################################################
# METHODS
######################################################################
######################################################################
# OUTPUT METHODS
######################################################################
sub html {
my $self = shift;
my ($context, $name, $curr_value, $values, $labels, $html_attribs);
my ($nullable, $tabindex);
my ($value, $v, @html, $label);
$context = $self->{context};
$name = $self->{name};
lib/App/Widget/RepositoryEditor.pm view on Meta::CPAN
=cut
######################################################################
# CONSTANTS
######################################################################
######################################################################
# ATTRIBUTES
######################################################################
# INPUTS FROM THE ENVIRONMENT
=head1 DESCRIPTION
This class implements a widget.
=cut
######################################################################
# INITIALIZATION
######################################################################
lib/App/Widget/RepositoryEditor.pm view on Meta::CPAN
$ref = $params;
$self->{context}->dbgprint("RepositoryEditor->set_mode(): params=[", join(",", @$ref), "]") if ($ref);
$ref = $param_contains;
$self->{context}->dbgprint("RepositoryEditor->set_mode(): param_contains=[", join(",", @$ref), "]") if ($ref);
$self->{context}->dbgprint("RepositoryEditor->set_mode(): params=[", join(",", @params), "]");
$self->{context}->dbgprint("RepositoryEditor->set_mode(): paramvalues=[", join(",", %paramvalues), "]");
}
}
######################################################################
# OUTPUT METHODS
######################################################################
sub html {
my $self = shift;
my ($context, $name, $mode);
$context = $self->{context};
$name = $self->{name};
$mode = $self->get("mode","");
lib/App/Widget/Select.pm view on Meta::CPAN
=cut
######################################################################
# CONSTANTS
######################################################################
######################################################################
# ATTRIBUTES
######################################################################
# INPUTS FROM THE ENVIRONMENT
=head1 DESCRIPTION
This class is a <select> HTML element.
=cut
######################################################################
# CONSTRUCTOR
######################################################################
lib/App/Widget/Select.pm view on Meta::CPAN
$context->so_set($name, undef, $value);
}
$self->SUPER::_init(@_);
}
######################################################################
# METHODS
######################################################################
######################################################################
# OUTPUT METHODS
######################################################################
sub unstyled_html {
my $self = shift;
my ($context, $name, @currvalues, $values, @values, $labels);
my ($tagname, $nullable, $size, $multiple, $tabindex, $onchange, $enablewarn, $enable_warning_widget);
$context = $self->{context};
$name = $self->{name};
lib/App/Widget/SelectSaveAs.pm view on Meta::CPAN
=head1 SYNOPSIS
=cut
######################################################################
# ATTRIBUTES
######################################################################
# INPUTS FROM THE ENVIRONMENT
=head1 DESCRIPTION
This class is a select element, followed by four buttons.
=cut
######################################################################
# CONSTRUCTOR
######################################################################
lib/App/Widget/SelectSaveAs.pm view on Meta::CPAN
my ($self) = @_;
my $context = $self->{context};
my $name = $self->{name};
my $value = $context->so_get("${name}-selected");
if ($value) {
$context->so_set($name, undef, $value);
}
}
######################################################################
# OUTPUT METHODS
######################################################################
sub html {
my $self = shift;
my ($context, $name);
$context = $self->{context};
$name = $self->{name};
return
lib/App/Widget/Stylizable.pm view on Meta::CPAN
# TODO: consider getting list of ("lang") from parent
my @absorbable_attrib = (
"lang", # language (en, de, fr, en_us, en_ca, etc.)
@style_attrib,
);
######################################################################
# ATTRIBUTES
######################################################################
# INPUTS FROM THE ENVIRONMENT
=head1 DESCRIPTION
This class is an HTML element which can take the STYLE attribute.
=cut
######################################################################
# CONSTRUCTOR
######################################################################
lib/App/Widget/Stylizable.pm view on Meta::CPAN
# METHODS
######################################################################
# NOTE: This is a *static* method.
# It doesn't require an instance of the class to call it.
sub absorbable_attribs {
\@absorbable_attrib;
}
######################################################################
# OUTPUT METHODS
######################################################################
sub html {
my $self = shift;
my ($html);
my ($var, $value, $stylevar, @style, $options, $class, $user_agent);
$html = $self->unstyled_html();
return($html) if ($self->{nostyle});
lib/App/Widget/StylizableContainer.pm view on Meta::CPAN
# TODO: consider getting list of ("lang") from parent
my @absorbable_attrib = (
"lang", # language (en, de, fr, en_us, en_ca, etc.)
@style_attrib,
);
######################################################################
# ATTRIBUTES
######################################################################
# INPUTS FROM THE ENVIRONMENT
=head1 DESCRIPTION
This class is an HTML element which can take the STYLE attribute.
=cut
######################################################################
# METHODS
######################################################################
# NOTE: This is a *static* method.
# It doesn't require an instance of the class to call it.
sub absorbable_attribs {
\@absorbable_attrib;
}
######################################################################
# OUTPUT METHODS
######################################################################
1;
lib/App/Widget/TabSet.pm view on Meta::CPAN
=cut
######################################################################
# CONSTANTS
######################################################################
######################################################################
# ATTRIBUTES
######################################################################
# INPUTS FROM THE ENVIRONMENT
=head1 DESCRIPTION
This class implements an application frame.
This includes a menu, an application toolbar, a screen selector,
a screen title, a screen toolbar, and
a screen frame. The application is actually implemented by the set
of screens that the application frame is configured to allow navigation
to.
lib/App/Widget/TabSet.pm view on Meta::CPAN
return 1;
}
else {
return $self->SUPER::handle_event($wname, $event, @args);
}
}
######################################################################
# OUTPUT METHODS
######################################################################
sub html {
my $self = shift;
my ($context, $name, $html);
$name = $self->{name};
$context = $self->{context};
my ($selector_widget, $selector);
my ($screen_wname, $screen, $screen_widget, $screen_bgcolor);
lib/App/Widget/TabbedAppFrame.pm view on Meta::CPAN
=cut
######################################################################
# CONSTANTS
######################################################################
######################################################################
# ATTRIBUTES
######################################################################
# INPUTS FROM THE ENVIRONMENT
=head1 DESCRIPTION
This class implements an application frame.
This includes a menu, an application toolbar, a screen selector,
a screen title, a screen toolbar, and
a screen frame. The application is actually implemented by the set
of screens that the application frame is configured to allow navigation
to.
lib/App/Widget/TabbedAppFrame.pm view on Meta::CPAN
return 1;
}
else {
return $self->SUPER::handle_event($wname, $event, @args);
}
&App::sub_exit() if ($App::trace);
}
######################################################################
# OUTPUT METHODS
######################################################################
sub html {
&App::sub_entry if ($App::trace);
my $self = shift;
my ($context, $name, $html);
$name = $self->{name};
$context = $self->{context};
my ($menu, $toolbar, $screentitle, $screentoolbar);