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: [EMAIL PROTECTED]" 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: [EMAIL PROTECTED]" 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 => [EMAIL PROTECTED],
           labels => $labels,
  -        @select_attribs
  -    )->html();
  +        @select_attribs,
  +        lightweight => 1,
  +    );
   
  -    $sel_list = $context->widget("${name}_sel",
  +    $context->widget("${name}.selected",
           class => "App::Widget::Select",
  -        values => [EMAIL PROTECTED],
           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([EMAIL PROTECTED]);
  +    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([EMAIL PROTECTED]);
  +    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([EMAIL PROTECTED]);
  +    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([EMAIL PROTECTED]);
  +    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}   = [EMAIL PROTECTED];
  +    $context->widget("$name.unselected")->{values} = [EMAIL PROTECTED];
  +    $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/";
  
  
  

Reply via email to