App-Widget

 view release on metacpan or  search on metacpan

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

            $colislink[$row2][$col] = 1;
            last if ($shownnodelevel[$row2] == $nodelevel - 1);
        }
    }

    $html_url_dir   = $self->{context}->get_option("html_url_dir");
    $imgstart       = "<img src=\"$html_url_dir/images/TreeSelector/";
    $imgend         = "\" width=\"19\" height=\"16\" border=\"0\"/>";
    $imgbuttonstart = "<input type=\"image\" src=$html_url_dir/images/TreeSelector/";
    $imgbuttonend   = " width=\"19\" height=\"16\" border=\"0\"/>";

    $html = "";
    $html .= "<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\">\n";

    for ($row = 0; $row <= $#shownnodenumber; $row++) {
        $nodenumber = $shownnodenumber[$row];
        $nodelevel  = $shownnodelevel[$row];
        $html      .= "  <tr>\n";
        for ($col = 0; $col <= $maxnodelevel+1; $col++) {
            if ($col < $nodelevel-1) {
                if ($colislink[$row][$col]) {
                    $html .= "    <td>${imgstart}vbar.gif${imgend}</td>\n";
                }
                else {
                    $html .= "    <td></td>\n";
                }
            }
            elsif ($col == $nodelevel-1) {
                $isparent = (defined $node->{"$nodenumber.1"});
                $open = $node->{$nodenumber}{open};
                if ($isparent) {
                    if ($open) {
                        $html .= "    <td>${imgbuttonstart}minus.gif name=\"app.event.$name.close($nodenumber)\" ${imgbuttonend}</td>\n";
                    }
                    else {
                        $html .= "    <td>${imgbuttonstart}plus.gif name=\"app.event.$name.open($nodenumber)\" ${imgbuttonend}</td>\n";
                    }
                }
                else {
                    if ($colislink[$row][$col]) {
                        $html .= "    <td>${imgstart}tee.gif${imgend}</td>\n";
                    }
                    else {
                        $html .= "    <td>${imgstart}ell.gif${imgend}</td>\n";
                    }
                }
            }
            elsif ($col == $nodelevel) {
                if ($node->{$nodenumber}{open}) {
                    $html .= "    <td>${imgbuttonstart}ofolder.gif name=\"app.event.$name.select($nodenumber)\" ${imgbuttonend}</td>\n";
                }
                else {
                    $html .= "    <td>${imgbuttonstart}cfolder.gif name=\"app.event.$name.select($nodenumber)\" ${imgbuttonend}</td>\n";
                }
            }
            else {
                $colspan = $maxnodelevel - $nodelevel;
                $label = $node->{$nodenumber}{label};
                $label = $node->{$nodenumber}{value} if (!defined $label);
                $label = "" if (!defined $label);
                $html .= "    <td nowrap colspan=\"$colspan\"><font face=\"verdana,geneva,arial,sans-serif\" size=\"-2\">$label</font></td>\n";
                last;
            }
        }
        $html .= "  </tr>\n";
    }

    $html .= "</table>\n";
    $html;
}

1;



( run in 0.915 second using v1.01-cache-2.11-cpan-ceb78f64989 )