cvsuser     02/03/12 09:01:27

  Modified:    P5EEx/Blue/P5EEx/Blue/Context CGI.pm
  Log:
  detect lightweight widgets and propagate events directly to their containers
  
  Revision  Changes    Path
  1.9       +14 -2     p5ee/P5EEx/Blue/P5EEx/Blue/Context/CGI.pm
  
  Index: CGI.pm
  ===================================================================
  RCS file: /cvs/public/p5ee/P5EEx/Blue/P5EEx/Blue/Context/CGI.pm,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -w -r1.8 -r1.9
  --- CGI.pm    6 Mar 2002 23:02:37 -0000       1.8
  +++ CGI.pm    12 Mar 2002 17:01:27 -0000      1.9
  @@ -1,6 +1,6 @@
   
   #############################################################################
  -## $Id: CGI.pm,v 1.8 2002/03/06 23:02:37 spadkins Exp $
  +## $Id: CGI.pm,v 1.9 2002/03/12 17:01:27 spadkins Exp $
   #############################################################################
   
   package P5EEx::Blue::Context::CGI;
  @@ -461,7 +461,19 @@
                           #$self->add_message("Event (input): name=[$name] 
event=[$event] args=[@args]\n");
                           $self->dbgprint(ref($self), "->process_request(button): 
$name->$event(@args)")
                               if ($P5EEx::Blue::DEBUG && $self->dbg(1));
  +                        if ($self->widget_exists($name)) {
                           $self->widget($name)->handle_event($name, $event, @args);
  +                        }
  +                        else {
  +                            my ($parent_name);
  +                            $parent_name = $name;
  +                            while ($parent_name =~ s/\.[^\.]+$//) {
  +                                if ($self->widget_exists($parent_name)) {
  +                                    
$self->widget($parent_name)->handle_event($name, $event, @args);
  +                                    last;
  +                                }
  +                            }
  +                        }
                       }
                   }
                   elsif ($key eq "p5ee.event") {
  
  
  


Reply via email to