cvs commit: p5ee/App-Widget/lib/App/Widget AppFrame.pm Button.pm DataTable.pm DateDropDowns.pm DualListSelect.pm Element.pm HierView.pm ImageButton.pm RadioButtonSet.pm Select.pm SelectorView.pm Stylizable.pm StylizableContainer.pm TabbedView.pm TreeView.pm

[email protected] (Stephen Adkins)
Newsgroups perl.cvs.p5ee
Message-ID <[email protected]>
cvsuser     04/09/02 14:05:01

  Modified:    App-Widget Makefile.PL
               App-Widget/lib/App TemplateEngine.pm Widget.pm
               App-Widget/lib/App/Widget AppFrame.pm Button.pm DataTable.pm
                        DateDropDowns.pm DualListSelect.pm Element.pm
                        HierView.pm ImageButton.pm RadioButtonSet.pm
                        Select.pm SelectorView.pm Stylizable.pm
                        StylizableContainer.pm TabbedView.pm TreeView.pm
  Log:
  revamped
  
  Revision  Changes    Path
  1.4       +4 -4      p5ee/App-Widget/Makefile.PL
  
  Index: Makefile.PL
  ===================================================================
  RCS file: /cvs/public/p5ee/App-Widget/Makefile.PL,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -w -r1.3 -r1.4
  --- Makefile.PL	9 Feb 2004 22:05:45 -0000	1.3
  +++ Makefile.PL	2 Sep 2004 21:05:00 -0000	1.4
  @@ -1,6 +1,6 @@
   
   ######################################################################
  -## File: $Id: Makefile.PL,v 1.3 2004/02/09 22:05:45 spadkins Exp $
  +## File: $Id: Makefile.PL,v 1.4 2004/09/02 21:05:00 spadkins Exp $
   ######################################################################
   
   use ExtUtils::MakeMaker;
  @@ -20,7 +20,7 @@
   %opts = (
       'NAME'        => 'App-Widget',
       'DISTNAME'    => 'App-Widget',
  -    'VERSION'     => '0.01',
  +    'VERSION'     => '0.90',
       'EXE_FILES'   => [ @programs ],
       'PREREQ_PM'   => { # I haven't yet determined what the minimum versions should be
                          #'Aspect'                   => 0,  # used for debugging
  @@ -53,8 +53,8 @@
       return <<EOF;
   
   install ::
  -	@\$(MOD_INSTALL) cgi-bin "\$(PREFIX)/cgi-bin"
  -	@\$(MOD_INSTALL) htdocs  "\$(PREFIX)/htdocs"
  +	@\$(MOD_INSTALL) blib/script "\$(PREFIX)/cgi-bin/App"
  +	@\$(MOD_INSTALL) htdocs  "\$(PREFIX)/htdocs/App"
   
   EOF
   }
  
  
  
  1.3       +5 -8      p5ee/App-Widget/lib/App/TemplateEngine.pm
  
  Index: TemplateEngine.pm
  ===================================================================
  RCS file: /cvs/public/p5ee/App-Widget/lib/App/TemplateEngine.pm,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -w -r1.2 -r1.3
  --- TemplateEngine.pm	19 May 2003 17:41:18 -0000	1.2
  +++ TemplateEngine.pm	2 Sep 2004 21:05:00 -0000	1.3
  @@ -1,6 +1,6 @@
   
   #############################################################################
  -## $Id: TemplateEngine.pm,v 1.2 2003/05/19 17:41:18 spadkins Exp $
  +## $Id: TemplateEngine.pm,v 1.3 2004/09/02 21:05:00 spadkins Exp $
   #############################################################################
   
   package App::TemplateEngine;
  @@ -188,8 +188,8 @@
   
       my ($template_dir, $template_text);
       local(*App::FILE);
  -    $template_dir = $self->{templateDir};
  -    $template_dir = $self->{context}->iget("templateDir") if (!$template_dir);
  +    $template_dir = $self->{template_dir};
  +    $template_dir = $self->{context}->get_option("template_dir") if (!$template_dir);
       $template_dir = "templates" if (!$template_dir);
   
       if (open(App::FILE,"< $template_dir/$template")) {
  @@ -270,9 +270,6 @@
   sub substitute {
       my ($self, $template_text, $values) = @_;
   
  -    $self->{context}->dbgprint("DataTable->substitute()")
  -        if ($App::DEBUG && $self->{context}->dbg());
  -
       my ($phrase, $var, $value, $context, $expand);
       $context = $self->{context};
       $values = {} if (! defined $values);
  @@ -286,7 +283,7 @@
                   eval {
                       $value = $context->widget($var)->html();
                   };
  -                $value = "[$var: not yet defined]" if ($@);
  +                $value = "[$var: $@]" if ($@);
                   $phrase =~ s/\[%\+$var%\]/$value/g;
               }
               elsif (defined $values->{$var}) {
  @@ -322,7 +319,7 @@
               eval {
                   $value = $context->widget($var)->html();
               };
  -            $value = "[$var: not yet defined]" if ($@);
  +            $value = "[$var: $@]" if ($@);
               $template_text =~ s/\[%\+$var%\]/$value/g;
           }
           elsif (defined $values->{$var}) {
  
  
  
  1.4       +100 -14   p5ee/App-Widget/lib/App/Widget.pm
  
  Index: Widget.pm
  ===================================================================
  RCS file: /cvs/public/p5ee/App-Widget/lib/App/Widget.pm,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -w -r1.3 -r1.4
  --- Widget.pm	1 Nov 2002 20:25:59 -0000	1.3
  +++ Widget.pm	2 Sep 2004 21:05:00 -0000	1.4
  @@ -1,10 +1,10 @@
   
   ######################################################################
  -## $Id: Widget.pm,v 1.3 2002/11/01 20:25:59 spadkins Exp $
  +## $Id: Widget.pm,v 1.4 2004/09/02 21:05:00 spadkins Exp $
   ######################################################################
   
   package App::Widget;
  -$VERSION = do { my @r=(q$Revision: 1.3 $=~/\d+/g); sprintf "%d."."%02d"x$#r,@r};
  +$VERSION = do { my @r=(q$Revision: 1.4 $=~/\d+/g); sprintf "%d."."%02d"x$#r,@r};
   
   use App::SessionObject;
   @ISA = ( "App::SessionObject" );
  @@ -30,6 +30,62 @@
   =cut
   
   #############################################################################
  +# Method: handle_event()
  +#############################################################################
  +
  +=head2 handle_event()
  +
  +    * Signature: $handled = $self->handle_event($widget_name, $event, @args);
  +    * Param:     widget_name   string
  +    * Param:     event         string
  +    * Param:     @args         ARRAY
  +    * Return:    $handled      boolean
  +    * Throws:    App::Exception
  +    * Since:     0.01
  +
  +    $handled = $widget->handle_event($widget_name, $event, @args);
  +
  +=cut
  +
  +#sub handle_event {
  +#    &App::sub_entry if ($App::trace);
  +#    my ($self, $wname, $event, @args) = @_;
  +#
  +#    my $handled = 0;
  +#
  +#    if ($event eq "noop") {   # handle all known events
  +#        $handled = 1;
  +#    }
  +#    else {
  +#        my $name = $self->{name};
  +#        my $container = "default";
  +#        if ($name =~ /^(.+)\.[a-zA-Z][a-zA-Z0-9_]*$/) {
  +#            $container = $1;
  +#        }
  +#        my $context = $self->{context};
  +#        if ($container eq "default") {
  +#print "Widget($name).handle_event($wname, $event, @args)\n";
  +#            if (!defined $self->{messages}) {
  +#                $self->{messages}  = "Event not handled: {$wname}.$event(@args)";
  +#            }
  +#            else {
  +#                $self->{messages} .= "\nEvent not handled: {$wname}.$event(@args)";
  +#            }
  +#print "Widget($name).handle_event($wname, $event, @args)\n";
  +#print "Widget($name).handle_event() self=[$self] messages=[$self->{messages}]\n";
  +#            $handled = 1;
  +#        }
  +#        else {
  +#            my $w = $context->session_object($container);
  +#            $handled = $w->handle_event($wname, $event, @args);  # bubble the event to container session_object
  +#        }
  +#    }
  +#
  +#    &App::sub_exit($handled) if ($App::trace);
  +#    return($handled);
  +#}
  +
  +#############################################################################
   # Method: content()
   #############################################################################
   
  @@ -53,12 +109,10 @@
   =cut
   
   sub content {
  +    &App::sub_entry if ($App::trace);
       my $self = shift;
   
       my ($html);
  -    $self->{context}->dbgprint("App::Widget(", $self->{name}, ")->content()")
  -        if ($App::DEBUG && $self->{context}->dbg(1));
  -
       eval {
           $html = $self->html();
       };
  @@ -93,7 +147,7 @@
   EOF
       }
   
  -    my ($title, $bodyoptions, $w, $var, $value, $context_body, $context_head, $session_html);
  +    my ($title, $bodyoptions, $w, $var, $value);
   
       $title = "Widget";
       $bodyoptions = "";
  @@ -101,7 +155,7 @@
           $title = $self->get("title");
           $title = $self->get("name") if (!$title);
           foreach $var ('bgcolor', 'text', 'link', 'vlink', 'alink',
  -                      'leftmargin', 'topmargin', 'rightmargin', 'bottommargin', 'class') {
  +                      'leftmargin', 'topmargin', 'rightmargin', 'bottommargin') {
               $value = $self->get($var);
               if (defined $value && $value ne "") {
                   $bodyoptions .= " $var=\"$value\"";
  @@ -112,11 +166,33 @@
           }
       }
   
  -    $context_head = "";
  -    $context_body = "";
  +    my $context_head = "";
  +    my $context_body = "";
  +
       #$context_head = $self->{context}->head_html();
       #$context_body = $self->{context}->body_html(\%main::conf);
  -    $session_html = $self->{context}->session()->html();
  +
  +    my $context = $self->{context};
  +    my $session_html = $context->session()->html();
  +
  +    my $messages = $context->get_messages() || "";
  +    if ($messages) {
  +        $messages =~ s{&}{&amp;}gso;
  +        $messages =~ s{<}{&lt;}gso;
  +        $messages =~ s{>}{&gt;}gso;
  +        $messages =~ s{\"}{&quot;}gso;
  +        $messages =~ s{\n}{<br>\n}gso;
  +        $messages = <<EOF;
  +<table width="100%">
  +  <tr>
  +    <td bgcolor="#ffaaaa">
  +$messages
  +    </td>
  +  </tr>
  +</table>
  +EOF
  +        delete $self->{messages};
  +    }
   
       my $content = <<EOF;
   <html>
  @@ -124,7 +200,7 @@
   <title>${title}</title>
   $context_head</head>
   <body${bodyoptions}>
  -<form method="POST">
  +$messages<form method="POST">
   $session_html
   $context_body
   $html
  @@ -133,6 +209,7 @@
   </html>
   EOF
   
  +    &App::sub_exit($content) if ($App::trace);
       return $content;
   }
   
  @@ -155,7 +232,10 @@
   =cut
   
   sub content_type {
  -    'text/html';
  +    &App::sub_entry if ($App::trace);
  +    my $content_type = 'text/html';
  +    &App::sub_exit($content_type) if ($App::trace);
  +    return($content_type);
   }
   
   #############################################################################
  @@ -191,12 +271,15 @@
   # i.e.
   
   sub user_event_name {
  +    &App::sub_entry if ($App::trace);
       my ($self, $event, @args) = @_;
       my ($name, $args);
       $name = $self->{name};
       $args = "";
       $args = "(" . join(",",@args) . ")" if ($#args > -1);
  -    "app.event.{${name}}.${event}${args}";
  +    my $result = "app.event.{${name}}.${event}${args}";
  +    &App::sub_exit($result) if ($App::trace);
  +    return($result);
   }
   
   #############################################################################
  @@ -221,12 +304,15 @@
   # automatically handled when the form is posted back to the web server.
   
   sub callback_event_tag {
  +    &App::sub_entry if ($App::trace);
       my ($self, $event, @args) = @_;
       my ($name, $args);
       $name = $self->{name};
       $args = "";
       $args = "(" . join(",",@args) . ")" if ($#args > -1);
  -    "<input type=hidden name='app.event' value='${name}.${event}${args}'/>";
  +    my $result = "<input type=hidden name='app.event' value='${name}.${event}${args}'/>";
  +    &App::sub_exit($result) if ($App::trace);
  +    return($result);
   }
   
   # unescape URL-encoded data
  
  
  
  1.5       +18 -17    p5ee/App-Widget/lib/App/Widget/AppFrame.pm
  
  Index: AppFrame.pm
  ===================================================================
  RCS file: /cvs/public/p5ee/App-Widget/lib/App/Widget/AppFrame.pm,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -w -r1.4 -r1.5
  --- AppFrame.pm	19 May 2003 17:41:18 -0000	1.4
  +++ AppFrame.pm	2 Sep 2004 21:05:00 -0000	1.5
  @@ -1,10 +1,10 @@
   
   ######################################################################
  -## $Id: AppFrame.pm,v 1.4 2003/05/19 17:41:18 spadkins Exp $
  +## $Id: AppFrame.pm,v 1.5 2004/09/02 21:05:00 spadkins Exp $
   ######################################################################
   
   package App::Widget::AppFrame;
  -$VERSION = do { my @r=(q$Revision: 1.4 $=~/\d+/g); sprintf "%d."."%02d"x$#r,@r};
  +$VERSION = do { my @r=(q$Revision: 1.5 $=~/\d+/g); sprintf "%d."."%02d"x$#r,@r};
   
   use App;
   use App::Widget;
  @@ -74,16 +74,11 @@
       $name = $self->{name};
       $context   = $self->{context};
   
  -#print ">>> AppFrame->handle_event($wname, $event, @args) name=$name\n";
  -
       if ($wname eq "$name.selector" && $event eq "select") {
           $selector_widget = $context->widget("$name.selector");
           $screen_wname    = $selector_widget->get_selected("wname");
           $screen_widget   = $context->widget($screen_wname);
  -
           $screen_settings = $selector_widget->get_selected("set");
  -        $self->{context}->dbgprint("AppFrame->handle_event($wname, $event, @args): screen_settings=$screen_settings")
  -            if ($App::DEBUG && $self->{context}->dbg(1));
   
           if ($screen_settings) {
               foreach (keys %$screen_settings) {
  @@ -163,7 +158,12 @@
               $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);
           }
  @@ -204,20 +204,21 @@
   #  </tr>
   
           my ($messages, $messagebox);
  -        $messages = $context->{messages};
  +        $messages = $context->get_messages();
  +        $messages =~ s/\n/<br>\n/g;
           $messagebox = "";
           if (defined $messages && $messages ne "") {
  -            my ($elem_begin, $elem_end, $fontFace, $fontSize, $fontColor);
  -            $fontFace  = $self->{fontFace} || "verdana,geneva,arial,sans-serif";
  -            $fontSize  = $self->{fontSize} || "+1";
  -            $fontColor = $self->{fontColor};
  +            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 ($fontFace || $fontSize || $fontColor) {
  +            if ($font_face || $font_size || $font_color) {
                   $elem_begin = "<font";
  -                $elem_begin .= " face=\"$fontFace\""   if ($fontFace);
  -                $elem_begin .= " size=\"" . ($fontSize+1) . "\""   if ($fontSize);
  -                $elem_begin .= " color=\"$fontColor\"" if ($fontColor);
  +                $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>";
               }
  
  
  
  1.3       +5 -5      p5ee/App-Widget/lib/App/Widget/Button.pm
  
  Index: Button.pm
  ===================================================================
  RCS file: /cvs/public/p5ee/App-Widget/lib/App/Widget/Button.pm,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -w -r1.2 -r1.3
  --- Button.pm	25 Oct 2002 19:50:19 -0000	1.2
  +++ Button.pm	2 Sep 2004 21:05:00 -0000	1.3
  @@ -1,10 +1,10 @@
   
   ######################################################################
  -## $Id: Button.pm,v 1.2 2002/10/25 19:50:19 spadkins Exp $
  +## $Id: Button.pm,v 1.3 2004/09/02 21:05:00 spadkins Exp $
   ######################################################################
   
   package App::Widget::Button;
  -$VERSION = do { my @r=(q$Revision: 1.2 $=~/\d+/g); sprintf "%d."."%02d"x$#r,@r};
  +$VERSION = do { my @r=(q$Revision: 1.3 $=~/\d+/g); sprintf "%d."."%02d"x$#r,@r};
   
   use App;
   use App::Widget;
  @@ -47,10 +47,10 @@
   # INITIALIZATION
   ######################################################################
   
  -# uncomment this when I need to do more than just call SUPER::init()
  -#sub init {
  +# uncomment this when I need to do more than just call SUPER::_init()
  +#sub _init {
   #   my $self = shift;
  -#   $self->SUPER::init(@_);
  +#   $self->SUPER::_init(@_);
   #}
   
   ######################################################################
  
  
  
  1.6       +6 -6      p5ee/App-Widget/lib/App/Widget/DataTable.pm
  
  Index: DataTable.pm
  ===================================================================
  RCS file: /cvs/public/p5ee/App-Widget/lib/App/Widget/DataTable.pm,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -w -r1.5 -r1.6
  --- DataTable.pm	21 May 2003 15:04:25 -0000	1.5
  +++ DataTable.pm	2 Sep 2004 21:05:00 -0000	1.6
  @@ -1,10 +1,10 @@
   
   ######################################################################
  -## $Id: DataTable.pm,v 1.5 2003/05/21 15:04:25 spadkins Exp $
  +## $Id: DataTable.pm,v 1.6 2004/09/02 21:05:00 spadkins Exp $
   ######################################################################
   
   package App::Widget::DataTable;
  -$VERSION = do { my @r=(q$Revision: 1.5 $=~/\d+/g); sprintf "%d."."%02d"x$#r,@r};
  +$VERSION = do { my @r=(q$Revision: 1.6 $=~/\d+/g); sprintf "%d."."%02d"x$#r,@r};
   
   use App;
   use App::Widget;
  @@ -71,10 +71,10 @@
   # INITIALIZATION
   ######################################################################
   
  -# uncomment this when I need to do more than just call SUPER::init()
  -sub init {
  +# uncomment this when I need to do more than just call SUPER::_init()
  +sub _init {
       my $self = shift;
  -    $self->SUPER::init(@_);
  +    $self->SUPER::_init(@_);
       $self->{table} = $self->{name} if (!$self->{table});
   
       $self->{context}->dbgprint("DataTable->init()")
  @@ -374,7 +374,7 @@
           #$rows  = $rep->select_rows($table, $columns, $params, \%paramvalues, $ordercols, $startrow, $endrow, $directions);
           #$rows  = $rep->select_rows($table, $columns, undef, \%paramvalues, $ordercols, $startrow, $endrow, $directions);
           $rows  = $rep->get_rows($table, \%paramvalues, $columns,
  -            {ordercols => $ordercols, startrow => $startrow, endrow => $endrow, x_directions => $directions});
  +            {ordercols => $ordercols, startrow => $startrow, endrow => $endrow, directions => $directions});
           $error = $rep->error();
           if ($#$rows == -1 && $error) {
               $sql = $rep->{sql};
  
  
  
  1.5       +6 -6      p5ee/App-Widget/lib/App/Widget/DateDropDowns.pm
  
  Index: DateDropDowns.pm
  ===================================================================
  RCS file: /cvs/public/p5ee/App-Widget/lib/App/Widget/DateDropDowns.pm,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -w -r1.4 -r1.5
  --- DateDropDowns.pm	19 May 2003 17:41:18 -0000	1.4
  +++ DateDropDowns.pm	2 Sep 2004 21:05:00 -0000	1.5
  @@ -1,10 +1,10 @@
   
   ######################################################################
  -## $Id: DateDropDowns.pm,v 1.4 2003/05/19 17:41:18 spadkins Exp $
  +## $Id: DateDropDowns.pm,v 1.5 2004/09/02 21:05:00 spadkins Exp $
   ######################################################################
   
   package App::Widget::DateDropDowns;
  -$VERSION = do { my @r=(q$Revision: 1.4 $=~/\d+/g); sprintf "%d."."%02d"x$#r,@r};
  +$VERSION = do { my @r=(q$Revision: 1.5 $=~/\d+/g); sprintf "%d."."%02d"x$#r,@r};
   
   use App::Widget::StylizableContainer;
   @ISA = ( "App::Widget::StylizableContainer" );
  @@ -68,9 +68,9 @@
   # CONSTRUCTOR
   ######################################################################
   
  -sub init {
  +sub _init {
       my $self = shift;
  -    $self->SUPER::init(@_);
  +    $self->SUPER::_init(@_);
       my $name = $self->{name};
       my $context = $self->{context};
   
  @@ -88,8 +88,8 @@
       );
   
       my ($begin_year, $end_year);
  -    $begin_year = $self->{beginYear} || 1980;
  -    $end_year   = $self->{endYear}   || 2010;
  +    $begin_year = $self->{begin_year} || 1980;
  +    $end_year   = $self->{end_year}   || 2010;
       $context->widget("${name}.year",
           class => "App::Widget::Select",
           values => [ $begin_year .. $end_year ],
  
  
  
  1.5       +213 -135  p5ee/App-Widget/lib/App/Widget/DualListSelect.pm
  
  Index: DualListSelect.pm
  ===================================================================
  RCS file: /cvs/public/p5ee/App-Widget/lib/App/Widget/DualListSelect.pm,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -w -r1.4 -r1.5
  --- DualListSelect.pm	21 May 2003 15:04:25 -0000	1.4
  +++ DualListSelect.pm	2 Sep 2004 21:05:00 -0000	1.5
  @@ -1,10 +1,10 @@
   
   ######################################################################
  -## $Id: DualListSelect.pm,v 1.4 2003/05/21 15:04:25 spadkins Exp $
  +## $Id: DualListSelect.pm,v 1.5 2004/09/02 21:05:00 spadkins Exp $
   ######################################################################
   
   package App::Widget::DualListSelect;
  -$VERSION = do { my @r=(q$Revision: 1.4 $=~/\d+/g); sprintf "%d."."%02d"x$#r,@r};
  +$VERSION = do { my @r=(q$Revision: 1.5 $=~/\d+/g); sprintf "%d."."%02d"x$#r,@r};
   
   use App::Widget::StylizableContainer;
   @ISA = ( "App::Widget::StylizableContainer" );
  @@ -13,168 +13,79 @@
   
   =head1 NAME
   
  -App::Widget::DualListSelect - Generic HTML element can be anything with proper configuration
  +App::Widget::DualListSelect - An ordered multi-select widget made up of two HTML <select> tags and four buttons
   
   =head1 SYNOPSIS
   
      use App::Widget::DualListSelect;
   
  -   $name = "gobutton";
  -   $config = { };
  -   $state = CGI->new({});
  -   $w = App::Widget::DualListSelect->new($config,$state,"gobutton", $config, $state);
  +   ...
   
   =cut
   
  -######################################################################
  -# CONSTANTS
  -######################################################################
  -
  -######################################################################
  -# ATTRIBUTES
  -######################################################################
  -
  -# INPUTS FROM THE ENVIRONMENT
  -
  -=head1 DESCRIPTION
  -
  -This class is a <select> HTML element.
  -
  -=cut
  -
  -######################################################################
  -# CONSTRUCTOR
  -######################################################################
  -
  -# uncomment this when I need to do more than just call SUPER::init()
  -#sub init {
  -#   my $self = shift;
  -#   $self->SUPER::init(@_);
  -#}
  -
  -######################################################################
  -# EVENTS
  -######################################################################
  -
  -# Usage: $widget->handle_event($event, @args);
  -sub handle_event {
  -    my ($self, $wname, $event, @args) = @_;
  -
  -    my $name = $self->{name};
  -    $self->{context}->dbgprint("DualListSelect($name)->handle_event($wname,$event,@args)")
  -        if ($App::DEBUG && $self->{context}->dbg(1));
  -
  -    if ($event eq "select") {
  -        return 1;
  -    }
  -    elsif ($event eq "unselect") {
  -        return 1;
  -    }
  -    elsif ($event eq "move_up") {
  -        return 1;
  -    }
  -    elsif ($event eq "move_down") {
  -        return 1;
  -    }
  -    elsif ($event eq "restore") {
  -        return 1;
  -    }
  -    else {
  -        return $self->SUPER::handle_event(@_);
  -    }
  -}
  -
  -######################################################################
  -# METHODS
  -######################################################################
  +my $NONE = "[-None-]";
   
  -######################################################################
  -# OUTPUT METHODS
  -######################################################################
  -
  -sub html {
  +sub _init {
       my $self = shift;
  -    my ($context, $name, @currvalues, $values, @values, $labels);
  -    my ($size, $tabindex, @select_attribs);
  -
  -    $context  = $self->{context};
  -    $name     = $self->{name};
  +    my $name = $self->{name};
  +    my $context = $self->{context};
   
  -    $size     = $self->get("size",5);
  -    $tabindex = $self->get("tabindex");
  -    @select_attribs = ("multiple", 1, "size", 5);
  +    my $size     = $self->{size} || 5;
  +    my $tabindex = $self->{tabindex};
  +    my @select_attribs = ("multiple", 1, "size", $size);
       push(@select_attribs, "tabindex", $tabindex) if (defined $tabindex);
   
  -    ($values, $labels) = $self->values_labels();
  +    my ($values, $labels) = $self->values_labels();
   
  -    my ($value, $v, %value_exists, $value_exists, @sel_list, @unsel_list);
  -    @currvalues = $self->get_values();
  -    @sel_list = ();
  -    @unsel_list = ();
  -    foreach $value (@currvalues) {
  -        if (defined $value) {
  -            $value_exists{$value} = 1;
  -            $value_exists = 1;
  -        }
  -    }
  -    for ($v = 0; $v <= $#$values; $v++) {
  -        $value = $values->[$v];
  -        if ($value_exists{$value}) {
  -            push(@sel_list, $value);
  -        }
  -        else {
  -            push(@unsel_list, $value);
  -        }
  -    }
  -
  -    my ($html, $sel_list, $unsel_list, $var_hidden);
  -    my ($sel_button, $unsel_button, $up_button, $dn_button);
  -
  -    $unsel_list = $context->widget("${name}_unsel",
  +    $context->widget("${name}.unselected",
           class => "App::Widget::Select",
  -        values => \@unsel_list,
           labels => $labels,
  -        @select_attribs
  -    )->html();
  +        @select_attribs,
  +        lightweight => 1,
  +    );
   
  -    $sel_list = $context->widget("${name}_sel",
  +    $context->widget("${name}.selected",
           class => "App::Widget::Select",
  -        values => \@sel_list,
           labels => $labels,
  -        @select_attribs
  -    )->html();
  +        @select_attribs,
  +        lightweight => 1,
  +    );
   
       if ($self->{noimagebuttons}) {
  -        $sel_button = $context->widget("${name}_sel_button",
  +        $context->widget("${name}.select_button",
               class => "App::Widget::Button",
               label       => " >> ",
               event       => "select",
               event_target => $name,
  -        )->html();
  +            lightweight => 1,
  +        );
   
  -        $unsel_button = $context->widget("${name}_unsel_button",
  +        $context->widget("${name}.unselect_button",
               class => "App::Widget::Button",
               label       => " << ",
               event       => "unselect",
               event_target => $name,
  -        )->html();
  +            lightweight => 1,
  +        );
   
  -        $up_button = $context->widget("${name}_up_button",
  +        $context->widget("${name}.up_button",
               class => "App::Widget::Button",
               label       => " Up ",
               event       => "move_up",
               event_target => $name,
  -        )->html();
  +            lightweight => 1,
  +        );
   
  -        $dn_button = $context->widget("${name}_dn_button",
  +        $context->widget("${name}.dn_button",
               class => "App::Widget::Button",
               label       => " Dn ",
               event       => "move_down",
               event_target => $name,
  -        )->html();
  +            lightweight => 1,
  +        );
       }
       else {
  -        $sel_button = $context->widget("${name}_sel_button",
  +        $context->widget("${name}.select_button",
               class => "App::Widget::ImageButton",
               image       => "images/DualListSelect/rtarrow.gif",
               height      => "19",
  @@ -182,9 +93,10 @@
               label       => "Select",
               event       => "select",
               event_target => $name,
  -        )->html();
  +            lightweight => 1,
  +        );
       
  -        $unsel_button = $context->widget("${name}_unsel_button",
  +        $context->widget("${name}.unselect_button",
               class => "App::Widget::ImageButton",
               image       => "images/DualListSelect/lfarrow.gif",
               height      => "19",
  @@ -192,9 +104,10 @@
               label       => "Unselect",
               event       => "unselect",
               event_target => $name,
  -        )->html();
  +            lightweight => 1,
  +        );
       
  -        $up_button = $context->widget("${name}_up_button",
  +        $context->widget("${name}.up_button",
               class => "App::Widget::ImageButton",
               image       => "images/DualListSelect/uparrow.gif",
               height      => "19",
  @@ -202,9 +115,10 @@
               label       => "Up",
               event       => "move_up",
               event_target => $name,
  -        )->html();
  +            lightweight => 1,
  +        );
       
  -        $dn_button = $context->widget("${name}_dn_button",
  +        $context->widget("${name}.dn_button",
               class => "App::Widget::ImageButton",
               image       => "images/DualListSelect/dnarrow.gif",
               height      => "19",
  @@ -212,21 +126,185 @@
               label       => "Down",
               event       => "move_down",
               event_target => $name,
  -        )->html();
  +            lightweight => 1,
  +        );
       }
  +    my @curr_values = $self->get_values();
  +    $self->SUPER::_init(@_);
  +}
  +
  +######################################################################
  +# EVENTS
  +######################################################################
  +
  +# Usage: $widget->handle_event($event, @args);
  +sub handle_event {
  +    my ($self, $wname, $event, @args) = @_;
  +
  +    my $name = $self->{name};
  +    my $context = $self->{context};
  +
  +    my $success = 0;
  +    if ($event eq "select") {
  +        $success = $self->select();
  +    }
  +    elsif ($event eq "unselect") {
  +        $success = $self->unselect();
  +    }
  +    elsif ($event eq "move_up") {
  +        $success = $self->move_up();
  +    }
  +    elsif ($event eq "move_down") {
  +        $success = $self->move_down();
  +    }
  +    else {
  +        $success = $self->SUPER::handle_event($wname, $event, @args);
  +    }
  +    return($success);
  +}
  +
  +######################################################################
  +# METHODS
  +######################################################################
  +
  +sub select {
  +    my ($self) = @_;
  +    my $unselected = $self->{unselected};
  +    my @values = $self->get_values();
  +    if ($unselected) {
  +        if ($#values > -1) {
  +            push(@values, @$unselected);
  +        }
  +        else {
  +            @values = @$unselected;
  +        }
  +    }
  +    $self->set_value(\@values);
  +    return 1;
  +}
  +
  +sub unselect {
  +    my ($self) = @_;
  +    my $selected = $self->{selected};
  +    my @values = $self->get_values();
  +    my (%unselected, @newvalues);
  +    foreach my $value (@$selected) {
  +        $unselected{$value} = 1;
  +    }
  +    foreach my $value (@values) {
  +        if (!$unselected{$value}) {
  +            push(@newvalues, $value);
  +        }
  +    }
  +    $self->set_value(\@newvalues);
  +    return 1;
  +}
  +
  +sub move_up {
  +    my ($self) = @_;
  +    my $selected = $self->{selected};
  +    my @values = $self->get_values();
  +    my (%moved, @newvalues, $value);
  +    foreach $value (@$selected) {
  +        $moved{$value} = 1;
  +    }
  +    for (my $i = 0; $i < $#values; $i++) {
  +        if ($moved{$values[$i+1]} && !$moved{$values[$i]}) {
  +            $value = $values[$i+1];
  +            $values[$i+1] = $values[$i];
  +            $values[$i] = $value;
  +        }
  +    }
  +    $self->set_value(\@values);
  +    return 1;
  +}
  +
  +sub move_down {
  +    my ($self) = @_;
  +    my $selected = $self->{selected};
  +    my @values = $self->get_values();
  +    my (%moved, @newvalues, $value);
  +    foreach $value (@$selected) {
  +        $moved{$value} = 1;
  +    }
  +    for (my $i = $#values; $i > 0; $i--) {
  +        if ($moved{$values[$i-1]} && !$moved{$values[$i]}) {
  +            $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();
  +
  +    my @selected_list = $self->get_values();
  +    my @unselected_list = ();
  +    my ($value, %value_exists, $value_exists);
  +
  +    foreach $value (@selected_list) {
  +        if (defined $value) {
  +            $value_exists{$value} = 1;
  +            $value_exists = 1;
  +        }
  +    }
  +
  +    for (my $v = 0; $v <= $#$allvalues; $v++) {
  +        $value = $allvalues->[$v];
  +        if (!$value_exists{$value}) {
  +            push(@unselected_list, $value);
  +        }
  +    }
  +
  +    push(@selected_list, $NONE) if ($#selected_list == -1);
  +    push(@unselected_list, $NONE) if ($#unselected_list == -1);
  +
  +    $context->widget("$name.selected")->{values}   = \@selected_list;
  +    $context->widget("$name.unselected")->{values} = \@unselected_list;
  +    $context->so_delete($name, "selected");
  +    $context->so_delete($name, "unselected");
  +}
  +
  +sub html {
  +    my $self = shift;
  +
  +    my $context  = $self->{context};
  +    my $name     = $self->{name};
  +
  +    $self->_set_child_widget_values();
  +
  +    my $unselected_list = $context->widget("${name}.unselected")->html();
  +    my $selected_list   = $context->widget("${name}.selected")->html();
  +    my $select_button   = $context->widget("${name}.select_button")->html();
  +    my $unselect_button = $context->widget("${name}.unselect_button")->html();
  +    my $up_button       = $context->widget("${name}.up_button")->html();
  +    my $dn_button       = $context->widget("${name}.dn_button")->html();
   
  -    $var_hidden = $self->callback_event_tag("restore");
  +    my $var_hidden = "";
  +    # my $var_hidden = $self->callback_event_tag("restore");
   
  -    $html = <<EOF;
  +    my $html = <<EOF;
   <table border=0 cellspacing=3>
   <tr>
  -   <td align=center valign=middle rowspan=2>$unsel_list</td>
  -   <td align=center valign=bottom>$sel_button</td>
  -   <td align=center valign=middle rowspan=2>$sel_list</td>
  +   <td align=center valign=middle rowspan=2>$unselected_list</td>
  +   <td align=center valign=bottom>$select_button</td>
  +   <td align=center valign=middle rowspan=2>$selected_list</td>
      <td align=center valign=bottom>$up_button</td>
   </tr>
   <tr>
  -   <td align=center valign=top>$unsel_button</td>
  +   <td align=center valign=top>$unselect_button</td>
      <td align=center valign=top>$dn_button</td>
   </tr>
   <tr>
  
  
  
  1.2       +5 -5      p5ee/App-Widget/lib/App/Widget/Element.pm
  
  Index: Element.pm
  ===================================================================
  RCS file: /cvs/public/p5ee/App-Widget/lib/App/Widget/Element.pm,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -w -r1.1 -r1.2
  --- Element.pm	12 Oct 2002 03:13:08 -0000	1.1
  +++ Element.pm	2 Sep 2004 21:05:00 -0000	1.2
  @@ -1,10 +1,10 @@
   
   ######################################################################
  -## $Id: Element.pm,v 1.1 2002/10/12 03:13:08 spadkins Exp $
  +## $Id: Element.pm,v 1.2 2004/09/02 21:05:00 spadkins Exp $
   ######################################################################
   
   package App::Widget::Element;
  -$VERSION = do { my @r=(q$Revision: 1.1 $=~/\d+/g); sprintf "%d."."%02d"x$#r,@r};
  +$VERSION = do { my @r=(q$Revision: 1.2 $=~/\d+/g); sprintf "%d."."%02d"x$#r,@r};
   
   use App::Widget;
   @ISA = ( "App::Widget" );
  @@ -42,10 +42,10 @@
   # CONSTRUCTOR
   ######################################################################
   
  -# uncomment this when I need to do more than just call SUPER::init()
  -#sub init {
  +# uncomment this when I need to do more than just call SUPER::_init()
  +#sub _init {
   #   my $self = shift;
  -#   $self->SUPER::init(@_);
  +#   $self->SUPER::_init(@_);
   #}
   
   ######################################################################
  
  
  
  1.4       +19 -17    p5ee/App-Widget/lib/App/Widget/HierView.pm
  
  Index: HierView.pm
  ===================================================================
  RCS file: /cvs/public/p5ee/App-Widget/lib/App/Widget/HierView.pm,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -w -r1.3 -r1.4
  --- HierView.pm	1 Nov 2002 20:27:12 -0000	1.3
  +++ HierView.pm	2 Sep 2004 21:05:00 -0000	1.4
  @@ -1,10 +1,10 @@
   
   ######################################################################
  -## $Id: HierView.pm,v 1.3 2002/11/01 20:27:12 spadkins Exp $
  +## $Id: HierView.pm,v 1.4 2004/09/02 21:05:00 spadkins Exp $
   ######################################################################
   
   package App::Widget::HierView;
  -$VERSION = do { my @r=(q$Revision: 1.3 $=~/\d+/g); sprintf "%d."."%02d"x$#r,@r};
  +$VERSION = do { my @r=(q$Revision: 1.4 $=~/\d+/g); sprintf "%d."."%02d"x$#r,@r};
   
   use App;
   use App::Widget;
  @@ -56,10 +56,10 @@
   # INITIALIZATION
   ######################################################################
   
  -# uncomment this when I need to do more than just call SUPER::init()
  -sub init {
  +# uncomment this when I need to do more than just call SUPER::_init()
  +sub _init {
       my $self = shift;
  -    $self->SUPER::init(@_);
  +    $self->SUPER::_init(@_);
   }
   
   ######################################################################
  @@ -70,7 +70,6 @@
   sub handle_event {
       my ($self, $wname, $event, @args) = @_;
       my ($node, $nodenumber, $x, $y);
  -#print ">>> HierView->handle_event($wname, $event, @args)\n";
   
       $node = $self->get("node");
       $self->set("node", $node);
  @@ -89,14 +88,11 @@
       }
       elsif ($event eq "select") {
           ($nodenumber, $x, $y) = @args;
  -#print ">>> HierView->handle_event() selected=[$self->{selected}]\n";
           $self->set("selected", $nodenumber);  # save node number
  -#print ">>> HierView->handle_event() selected=[$self->{selected}]\n";
           # intentionally bubble "select" event to the container
           if ($wname =~ /^(.*)\.([^.]+)$/) {
               my $parent = $1;
               my $result = $self->{context}->widget($parent)->handle_event($wname, $event, @args);
  -#print ">>> HierView->handle_event() selected=[$self->{selected}]\n";
               return $result;
           }
       }
  @@ -123,7 +119,6 @@
           $nodeidx   = pop(@nextnodeidx);
           $nodelevel = pop(@nextnodelevel);
           $nodenumber = "$nodebase$nodeidx"; # create its node number
  -#print "HierView->select_first(): checking $nodenumber...\n";
   
           if (defined $node->{$nodenumber}) {      # if the node exists...
   
  @@ -142,7 +137,6 @@
           }
       }
       if ($nodenumberfound) {
  -#print "HierView->select_first(): found=$nodenumberfound\n";
           $self->set("selected", $nodenumberfound);
           my $basenodenumber = $nodenumberfound;
           $basenodenumber =~ s/\..*//;
  @@ -153,13 +147,25 @@
       }
   }
   
  +sub select {
  +    my ($self, $nodeattrib, $value) = @_;
  +    my $node = $self->get("node");
  +    my $success = 0;
  +    foreach my $nodenumber (keys %$node) {
  +        if ($node->{$nodenumber}{$nodeattrib} eq $value) {
  +            $self->set("selected", $nodenumber);
  +            $success = 1;
  +            last;
  +        }
  +    }
  +    return($success);
  +}
  +
   sub open_exclusively {
       my ($self, $opennodenumber) = @_;
       my ($nodebase, $nodeidx, $nodenumber);
       my $node = $self->get("node");
  -    #print "HierView->open_exclusively($opennodenumber) node=$node\n";
       $self->set("node", $node);
  -    #print "HierView->open_exclusively($opennodenumber) (2) node=$node (", join(",",(keys %$node)), ")\n";
   
       $nodebase = $opennodenumber;
       if ($nodebase =~ /(.*)\.[^\.]+$/) {
  @@ -169,20 +175,16 @@
           $nodebase = "";
       }
       $nodeidx = 1;
  -    #print "HierView->open_exclusively() nodebase=$nodebase nodeidx=$nodeidx\n";
   
       while (1) {
           $nodenumber = "$nodebase$nodeidx";
  -        #print "HierView->open_exclusively(): exists?=$nodenumber [$node->{$nodenumber}]\n";
           last if (!defined $node->{$nodenumber});
           $node->{$nodenumber}{open} = 0;
  -        #print "HierView->open_exclusively(): closing=$nodenumber\n";
           $nodeidx++;
       }
   
       if (defined $node->{$opennodenumber}) {
           $node->{$opennodenumber}{open} = 1;
  -        #print "HierView->open_exclusively(): opening=$opennodenumber\n";
       }
   
       if (!defined $node->{"$opennodenumber.1"}) {
  
  
  
  1.5       +4 -4      p5ee/App-Widget/lib/App/Widget/ImageButton.pm
  
  Index: ImageButton.pm
  ===================================================================
  RCS file: /cvs/public/p5ee/App-Widget/lib/App/Widget/ImageButton.pm,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -w -r1.4 -r1.5
  --- ImageButton.pm	9 Feb 2004 22:05:45 -0000	1.4
  +++ ImageButton.pm	2 Sep 2004 21:05:00 -0000	1.5
  @@ -1,10 +1,10 @@
   
   ######################################################################
  -## $Id: ImageButton.pm,v 1.4 2004/02/09 22:05:45 spadkins Exp $
  +## $Id: ImageButton.pm,v 1.5 2004/09/02 21:05:00 spadkins Exp $
   ######################################################################
   
   package App::Widget::ImageButton;
  -$VERSION = do { my @r=(q$Revision: 1.4 $=~/\d+/g); sprintf "%d."."%02d"x$#r,@r};
  +$VERSION = do { my @r=(q$Revision: 1.5 $=~/\d+/g); sprintf "%d."."%02d"x$#r,@r};
   
   use App;
   use App::Widget;
  @@ -79,7 +79,7 @@
               $url    = $image;
           }
           else {
  -            $html_url_dir = $self->{context}->iget("html_url_dir");
  +            $html_url_dir = $self->{context}->get_option("html_url_dir");
               $url    = "$html_url_dir/$image";
           }
   
  @@ -96,7 +96,7 @@
               $url    = $image_script;  # absolute URL
           }
           else {
  -            $script_url_dir = $self->{context}->iget("script_url_dir");
  +            $script_url_dir = $self->{context}->get_option("script_url_dir");
               $url    = "$script_url_dir/$image_script";
           }
           $url .= "?mode=$type&width=$width&height=$height&bevel=$bevel&text=$url_label$selected";
  
  
  
  1.2       +4 -4      p5ee/App-Widget/lib/App/Widget/RadioButtonSet.pm
  
  Index: RadioButtonSet.pm
  ===================================================================
  RCS file: /cvs/public/p5ee/App-Widget/lib/App/Widget/RadioButtonSet.pm,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -w -r1.1 -r1.2
  --- RadioButtonSet.pm	12 Oct 2002 03:13:08 -0000	1.1
  +++ RadioButtonSet.pm	2 Sep 2004 21:05:00 -0000	1.2
  @@ -1,10 +1,10 @@
   
   ######################################################################
  -## $Id: RadioButtonSet.pm,v 1.1 2002/10/12 03:13:08 spadkins Exp $
  +## $Id: RadioButtonSet.pm,v 1.2 2004/09/02 21:05:00 spadkins Exp $
   ######################################################################
   
   package App::Widget::RadioButtonSet;
  -$VERSION = do { my @r=(q$Revision: 1.1 $=~/\d+/g); sprintf "%d."."%02d"x$#r,@r};
  +$VERSION = do { my @r=(q$Revision: 1.2 $=~/\d+/g); sprintf "%d."."%02d"x$#r,@r};
   
   use App::Widget;
   @ISA = ( "App::Widget" );
  @@ -46,10 +46,10 @@
   # CONSTRUCTOR
   ######################################################################
   
  -# uncomment this when I need to do more than just call SUPER::init()
  -#sub init {
  +# uncomment this when I need to do more than just call SUPER::_init()
  +#sub _init {
   #   my $self = shift;
  -#   $self->SUPER::init(@_);
  +#   $self->SUPER::_init(@_);
   #}
   
   ######################################################################
  
  
  
  1.2       +7 -6      p5ee/App-Widget/lib/App/Widget/Select.pm
  
  Index: Select.pm
  ===================================================================
  RCS file: /cvs/public/p5ee/App-Widget/lib/App/Widget/Select.pm,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -w -r1.1 -r1.2
  --- Select.pm	12 Oct 2002 03:13:08 -0000	1.1
  +++ Select.pm	2 Sep 2004 21:05:00 -0000	1.2
  @@ -1,10 +1,10 @@
   
   ######################################################################
  -## $Id: Select.pm,v 1.1 2002/10/12 03:13:08 spadkins Exp $
  +## $Id: Select.pm,v 1.2 2004/09/02 21:05:00 spadkins Exp $
   ######################################################################
   
   package App::Widget::Select;
  -$VERSION = do { my @r=(q$Revision: 1.1 $=~/\d+/g); sprintf "%d."."%02d"x$#r,@r};
  +$VERSION = do { my @r=(q$Revision: 1.2 $=~/\d+/g); sprintf "%d."."%02d"x$#r,@r};
   
   use App::Widget::Stylizable;
   @ISA = ( "App::Widget::Stylizable" );
  @@ -46,10 +46,10 @@
   # CONSTRUCTOR
   ######################################################################
   
  -# uncomment this when I need to do more than just call SUPER::init()
  -#sub init {
  +# uncomment this when I need to do more than just call SUPER::_init()
  +#sub _init {
   #   my $self = shift;
  -#   $self->SUPER::init(@_);
  +#   $self->SUPER::_init(@_);
   #}
   
   ######################################################################
  @@ -95,7 +95,8 @@
       for ($v = 0; $v <= $#$values; $v++) {
           $value = $values->[$v];
           push(@html,"  <option value='$value'" .
  -            (($value_exists{$value} || ($v == 0 && !$value_exists)) ? " selected>" : ">") .
  +            #(($value_exists{$value} || ($v == 0 && !$value_exists)) ? " selected>" : ">") .
  +            ($value_exists{$value} ? " selected>" : ">") .
               ((defined $labels->{$value}) ? $labels->{$value} : $value) .
               "</option>\n");
       }
  
  
  
  1.5       +4 -4      p5ee/App-Widget/lib/App/Widget/SelectorView.pm
  
  Index: SelectorView.pm
  ===================================================================
  RCS file: /cvs/public/p5ee/App-Widget/lib/App/Widget/SelectorView.pm,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -w -r1.4 -r1.5
  --- SelectorView.pm	21 May 2003 15:04:25 -0000	1.4
  +++ SelectorView.pm	2 Sep 2004 21:05:00 -0000	1.5
  @@ -1,10 +1,10 @@
   
   ######################################################################
  -## $Id: SelectorView.pm,v 1.4 2003/05/21 15:04:25 spadkins Exp $
  +## $Id: SelectorView.pm,v 1.5 2004/09/02 21:05:00 spadkins Exp $
   ######################################################################
   
   package App::Widget::SelectorView;
  -$VERSION = do { my @r=(q$Revision: 1.4 $=~/\d+/g); sprintf "%d."."%02d"x$#r,@r};
  +$VERSION = do { my @r=(q$Revision: 1.5 $=~/\d+/g); sprintf "%d."."%02d"x$#r,@r};
   
   use App;
   use App::Widget::HierView;
  @@ -37,9 +37,9 @@
   # INITIALIZATION
   ######################################################################
   
  -sub init {
  +sub _init {
       my $self = shift;
  -    $self->SUPER::init(@_);
  +    $self->SUPER::_init(@_);
       if (! $self->get("selected")) {
           $self->select_first();
       }
  
  
  
  1.3       +19 -19    p5ee/App-Widget/lib/App/Widget/Stylizable.pm
  
  Index: Stylizable.pm
  ===================================================================
  RCS file: /cvs/public/p5ee/App-Widget/lib/App/Widget/Stylizable.pm,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -w -r1.2 -r1.3
  --- Stylizable.pm	19 May 2003 17:41:18 -0000	1.2
  +++ Stylizable.pm	2 Sep 2004 21:05:00 -0000	1.3
  @@ -1,10 +1,10 @@
   
   ######################################################################
  -## $Id: Stylizable.pm,v 1.2 2003/05/19 17:41:18 spadkins Exp $
  +## $Id: Stylizable.pm,v 1.3 2004/09/02 21:05:00 spadkins Exp $
   ######################################################################
   
   package App::Widget::Stylizable;
  -$VERSION = do { my @r=(q$Revision: 1.2 $=~/\d+/g); sprintf "%d."."%02d"x$#r,@r};
  +$VERSION = do { my @r=(q$Revision: 1.3 $=~/\d+/g); sprintf "%d."."%02d"x$#r,@r};
   
   use App::Widget;
   @ISA = ( "App::Widget" );
  @@ -28,24 +28,24 @@
   # These are the valid style sheet attributes
   my @style_attrib = (
       "color",
  -    "fontSize",
  -    "borderStyle",
  -    "borderWidth",
  -    "borderColor",
  +    "font_size",
  +    "border_style",
  +    "border_width",
  +    "border_color",
       "padding",
  -    "backgroundColor",
  -    "fontFamily",
  +    "background_color",
  +    "font_family",
   );
   
   my %style_attrib = (
       "color"           => "color",
  -    "fontSize"        => "font-size",
  -    "borderStyle"     => "border-style",
  -    "borderWidth"     => "border-width",
  -    "borderColor"     => "border-color",
  +    "font_size"        => "font-size",
  +    "border_style"     => "border-style",
  +    "border_width"     => "border-width",
  +    "border_color"     => "border-color",
       "padding"         => "padding",
  -    "backgroundColor" => "background-color",
  -    "fontFamily"      => "font-family",
  +    "background_color" => "background-color",
  +    "font_family"      => "font-family",
   );
   
   # TODO: consider getting list of ("lang") from parent
  @@ -70,10 +70,10 @@
   # CONSTRUCTOR
   ######################################################################
   
  -# uncomment this when I need to do more than just call SUPER::init()
  -#sub init {
  +# uncomment this when I need to do more than just call SUPER::_init()
  +#sub _init {
   #   my $self = shift;
  -#   $self->SUPER::init(@_);
  +#   $self->SUPER::_init(@_);
   #}
   
   ######################################################################
  
  
  
  1.2       +7 -17     p5ee/App-Widget/lib/App/Widget/StylizableContainer.pm
  
  Index: StylizableContainer.pm
  ===================================================================
  RCS file: /cvs/public/p5ee/App-Widget/lib/App/Widget/StylizableContainer.pm,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -w -r1.1 -r1.2
  --- StylizableContainer.pm	12 Oct 2002 03:13:08 -0000	1.1
  +++ StylizableContainer.pm	2 Sep 2004 21:05:00 -0000	1.2
  @@ -1,10 +1,10 @@
   
   ######################################################################
  -## $Id: StylizableContainer.pm,v 1.1 2002/10/12 03:13:08 spadkins Exp $
  +## $Id: StylizableContainer.pm,v 1.2 2004/09/02 21:05:00 spadkins Exp $
   ######################################################################
   
   package App::Widget::StylizableContainer;
  -$VERSION = do { my @r=(q$Revision: 1.1 $=~/\d+/g); sprintf "%d."."%02d"x$#r,@r};
  +$VERSION = do { my @r=(q$Revision: 1.2 $=~/\d+/g); sprintf "%d."."%02d"x$#r,@r};
   
   use App::Widget;
   @ISA = ( "App::Widget" );
  @@ -28,13 +28,13 @@
   # These are the valid style sheet attributes
   my @style_attrib = (
       "color",
  -    "fontSize",
  -    "borderStyle",
  -    "borderWidth",
  -    "borderColor",
  +    "font_size",
  +    "border_style",
  +    "border_width",
  +    "border_color",
       "padding",
  -    "backgroundColor",
  -    "fontFamily",
  +    "background_color",
  +    "font_family",
   );
   
   # TODO: consider getting list of ("lang") from parent
  @@ -56,16 +56,6 @@
   =cut
   
   ######################################################################
  -# CONSTRUCTOR
  -######################################################################
  -
  -# uncomment this when I need to do more than just call SUPER::init()
  -#sub init {
  -#   my $self = shift;
  -#   $self->SUPER::init(@_);
  -#}
  -
  -######################################################################
   # METHODS
   ######################################################################
   
  
  
  
  1.5       +5 -5      p5ee/App-Widget/lib/App/Widget/TabbedView.pm
  
  Index: TabbedView.pm
  ===================================================================
  RCS file: /cvs/public/p5ee/App-Widget/lib/App/Widget/TabbedView.pm,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -w -r1.4 -r1.5
  --- TabbedView.pm	21 May 2003 15:04:25 -0000	1.4
  +++ TabbedView.pm	2 Sep 2004 21:05:00 -0000	1.5
  @@ -1,10 +1,10 @@
   
   ######################################################################
  -## $Id: TabbedView.pm,v 1.4 2003/05/21 15:04:25 spadkins Exp $
  +## $Id: TabbedView.pm,v 1.5 2004/09/02 21:05:00 spadkins Exp $
   ######################################################################
   
   package App::Widget::TabbedView;
  -$VERSION = do { my @r=(q$Revision: 1.4 $=~/\d+/g); sprintf "%d."."%02d"x$#r,@r};
  +$VERSION = do { my @r=(q$Revision: 1.5 $=~/\d+/g); sprintf "%d."."%02d"x$#r,@r};
   
   use App;
   use App::Widget::HierView;
  @@ -37,9 +37,9 @@
   # INITIALIZATION
   ######################################################################
   
  -sub init {
  +sub _init {
       my $self = shift;
  -    $self->SUPER::init(@_);
  +    $self->SUPER::_init(@_);
       if (! $self->get("selected")) {
           $self->select_first();
       }
  @@ -74,7 +74,7 @@
       $selected_nodenumber = $self->{selected};
       @nodeidx = split(/\./,$selected_nodenumber);
   
  -    $html_url_dir = $context->iget("htmlUrlDir");
  +    $html_url_dir = $context->get_option("html_url_dir");
       $xgif = "$html_url_dir/images/Widget/dot_clear.gif";
   
       $html = '<table border="0" cellpadding="0" cellspacing="0" width="100%">' . "\n";
  
  
  
  1.3       +6 -6      p5ee/App-Widget/lib/App/Widget/TreeView.pm
  
  Index: TreeView.pm
  ===================================================================
  RCS file: /cvs/public/p5ee/App-Widget/lib/App/Widget/TreeView.pm,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -w -r1.2 -r1.3
  --- TreeView.pm	25 Oct 2002 19:50:19 -0000	1.2
  +++ TreeView.pm	2 Sep 2004 21:05:00 -0000	1.3
  @@ -1,10 +1,10 @@
   
   ######################################################################
  -## $Id: TreeView.pm,v 1.2 2002/10/25 19:50:19 spadkins Exp $
  +## $Id: TreeView.pm,v 1.3 2004/09/02 21:05:00 spadkins Exp $
   ######################################################################
   
   package App::Widget::TreeView;
  -$VERSION = do { my @r=(q$Revision: 1.2 $=~/\d+/g); sprintf "%d."."%02d"x$#r,@r};
  +$VERSION = do { my @r=(q$Revision: 1.3 $=~/\d+/g); sprintf "%d."."%02d"x$#r,@r};
   
   use App;
   use App::Widget::HierView;
  @@ -37,10 +37,10 @@
   # INITIALIZATION
   ######################################################################
   
  -# uncomment this when I need to do more than just call SUPER::init()
  -#sub init {
  +# uncomment this when I need to do more than just call SUPER::_init()
  +#sub _init {
   #   my $self = shift;
  -#   $self->SUPER::init(@_);
  +#   $self->SUPER::_init(@_);
   #}
   
   ######################################################################
  @@ -100,7 +100,7 @@
           }
       }
   
  -    $html_url_dir   = $self->{context}->iget("htmlUrlDir");
  +    $html_url_dir   = $self->{context}->get_option("html_url_dir");
       $imgstart       = "<img src=\"$html_url_dir/images/TreeView/";
       $imgend         = "\" width=\"19\" height=\"16\" border=\"0\"/>";
       $imgbuttonstart = "<input type=\"image\" src=$html_url_dir/images/TreeView/";
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.