App-Widget

 view release on metacpan or  search on metacpan

lib/App/Widget/TabbedAppFrame.pm  view on Meta::CPAN

    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>
#    <td valign="top" height="1%">
#      $screentoolbar
#    </td>
#  </tr>

        my ($messages, $messagebox);
        $messages = $context->{messages};
        $messagebox = "";
        if (defined $messages && $messages ne "") {
            my ($elem_begin, $elem_end, $fontFace, $fontSize, $fontColor);
            $fontFace  = $self->{font_face} || "verdana,geneva,arial,sans-serif";
            $fontSize  = $self->{font_size} || "+1";
            $fontColor = $self->{font_color};
            $elem_begin = "";
            $elem_end = "";
            if ($fontFace || $fontSize || $fontColor) {
                $elem_begin = "<font";
                $elem_begin .= " face=\"$fontFace\""   if ($fontFace);
                $elem_begin .= " size=\"" . ($fontSize+1) . "\""   if ($fontSize);
                $elem_begin .= " color=\"$fontColor\"" if ($fontColor);
                $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
        }

        my $appframe_width = $self->{width} || "100%";
        $html = <<EOF;
$top
<table width="$appframe_width" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td valign="top"$selector_bgcolor>
      $selector
    </td>
  </tr>
  <tr>
    <td valign="top" bgcolor="$screen_bgcolor">
      $messagebox$screen
    </td>
  </tr>
</table>
EOF
    }
    &App::sub_exit($html) if ($App::trace);
    $html;
}

1;



( run in 0.863 second using v1.01-cache-2.11-cpan-5735350b133 )