App-Widget
view release on metacpan or search on metacpan
lib/App/Widget/TabbedAppFrame.pm view on Meta::CPAN
return 1;
}
$screen_msg = $selector_widget->get_selected("send");
if ($screen_msg && ref($screen_msg) eq "ARRAY" && $#$screen_msg >= 1) {
my ($target_widget, $target_wname, $method, @args);
($target_wname, $method, @args) = @$screen_msg;
$target_widget = $context->widget($target_wname);
$target_widget->$method(@args);
}
my $frame = $selector_widget->get_selected("frame");
if (defined $frame) {
my ($key);
foreach $key (keys %$frame) {
$self->set($key,$frame->{$key});
}
}
my $target = $selector_widget->get_selected("target");
if ($target) {
$main::target = $target;
}
$self->{noframe} = $selector_widget->get_selected("noframe");
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);
my ($top);
my ($selector_widget, $selector, $selector_bgcolor);
my ($screen_wname, $screen, $screen_widget, $screen_bgcolor);
my ($screentitle_widget, $screentitle_bgcolor, $screentitle_value);
if (1) { # view as table
$top = $context->widget("$name-top",
class => "App::Widget::Template",
)->html();
$top = "" if ($top =~ /not found/i);
#$menu = $context->widget("$name-menu",
# class => "App::Widget::Menu",
# )->html();
#$toolbar = $context->widget("$name-toolbar",
# class => "App::Widget::Toolbar",
# )->html();
#$screentoolbar = $context->widget("$name-screentoolbar",
# class => "App::Widget::Toolbar",
# )->html();
$selector_widget = $context->widget("$name-selector",
class => "App::Widget::TabbedSelector",
);
$selector_bgcolor = "";
if ($self->{selector_bgcolor}) {
$selector_bgcolor = " bgcolor=\"$self->{selector_bgcolor}\"";
}
$selector = $selector_widget->html();
$screen_wname = $selector_widget->get_selected("wname");
if ($screen_wname) {
$screen_widget = $context->widget($screen_wname);
$screentitle_value = $selector_widget->get_selected("value");
$screentitle_value = $screen_widget->label() if (!$screentitle_value);
$screen = $screen_widget->html();
$screen_bgcolor = $screen_widget->get("bgcolor");
$screen_bgcolor = "#ffffff" if (!defined $screen_bgcolor);
}
else {
$screentitle_value = " ";
$screen = " ";
$screen_bgcolor = "#cccccc";
}
if ($self->{noframe}) {
return $screen; # no need to generate a frame
}
#$screentitle_widget = $context->widget("$name-screentitle",
# -label => $screentitle_value,
# -bgcolor => "#888888",
#);
#$screentitle_bgcolor = $screentitle_widget->get("bgcolor");
#$screentitle = $screentitle_widget->html();
$screentitle_bgcolor = "#888888";
$screentitle = "<font face=verdana,geneva,arial,sans-serif size=+1 color=#ffffff>$screentitle_value</font>";
# <tr>
# <td colspan="2" valign="top" height="1%">
# $menu
# </td>
# </tr>
# <tr>
# <td colspan="2" valign="top" height="1%">
# $toolbar
# </td>
# </tr>
# <tr>
( run in 0.708 second using v1.01-cache-2.11-cpan-39bf76dae61 )