App-Widget
view release on metacpan or search on metacpan
lib/App/Widget/AppFrame.pm view on Meta::CPAN
$name = $self->{name};
$context = $self->{context};
my ($menu, $toolbar, $screentitle, $screentoolbar);
my ($selector_widget, $selector);
my ($screen_wname, $screen, $screen_widget, $screen_bgcolor);
my ($screentitle_widget, $screentitle_bgcolor, $screentitle_value);
if (1) { # view as table
$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::IconPaneSelector",
);
$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);
if ($screen_widget->can("html")) {
$screen = $screen_widget->html();
}
else {
$screen = "[$screen_wname: not yet defined]";
}
$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>
# <td valign="top" height="1%">
# $screentoolbar
# </td>
# </tr>
my ($messages, $messagebox);
$messages = $context->get_messages();
$messages =~ s/\n/<br>\n/g;
$messagebox = "";
if (defined $messages && $messages ne "") {
my ($elem_begin, $elem_end, $font_face, $font_size, $font_color);
$font_face = $self->{font_face} || "verdana,geneva,arial,sans-serif";
$font_size = $self->{font_size} || "+1";
$font_color = $self->{font_color};
$elem_begin = "";
$elem_end = "";
if ($font_face || $font_size || $font_color) {
$elem_begin = "<font";
$elem_begin .= " face=\"$font_face\"" if ($font_face);
$elem_begin .= " size=\"" . ($font_size+1) . "\"" if ($font_size);
$elem_begin .= " color=\"$font_color\"" if ($font_color);
$elem_begin .= ">";
$elem_end = "</font>";
}
$messagebox = <<EOF;
<table width=100% border=0 cellspacing=0 cellpadding=4>
<TR>
<TD>
<table width=100% border=0 cellspacing=0 cellpadding=4>
<TR>
<TD class=body_sub1 valign=top align=left bgcolor=#ffaaaa>$elem_begin<B>Messages</B>$elem_end</TD>
</TR>
<TR>
<TD valign=top align=left class=body_sub2>
$elem_begin$messages$elem_end
</TD>
</TR>
<TR>
<TD valign=top align=left height=4></TD>
</TR>
</table>
</td>
</tr>
</table>
EOF
}
# $html = <<EOF;
#<table width="100%" height="100%" border="2" cellspacing="2" cellpadding="0">
# <tr>
# <td rowspan="2" valign="top" bgcolor="$screentitle_bgcolor" width="1%" height="100%">
# $selector
# </td>
# <td valign="top" bgcolor="$screentitle_bgcolor" height="1%" class="short">
# $screentitle
# </td>
# </tr>
# <tr>
# <td valign="top" bgcolor="$screen_bgcolor" height="99%" class="tall">
# $messagebox$screen
# </td>
# </tr>
#</table>
#EOF
$html = <<EOF;
<table width="100%" height="100%" border="2" cellspacing="2" cellpadding="0">
<tr>
<td rowspan="2" valign="top" bgcolor="$screentitle_bgcolor" width="1%">
$selector
</td>
<td valign="top" bgcolor="$screentitle_bgcolor" height="1%">
$screentitle
</td>
</tr>
<tr>
<td valign="top" bgcolor="$screen_bgcolor" height="99%">
$messagebox$screen
</td>
</tr>
</table>
EOF
( run in 0.706 second using v1.01-cache-2.11-cpan-5735350b133 )