POE-XUL

 view release on metacpan or  search on metacpan

t/test-app.pl  view on Meta::CPAN

sub Click3
{
    my( $self, $kernel, $event ) = @_[ OBJECT, KERNEL, ARG0 ];

    DEBUG and warn "# Click3 event=$event";
    $self->message( $self->{textbox2}->getAttribute( 'value' )  );
    $self->{textbox2}->setAttribute( value => '' );
    $self->{button3}->setAttribute( 'disabled' => 1 ); 
}

###############################################################
sub Alert
{
    my( $self, $kernel, $event ) = @_[ OBJECT, KERNEL, ARG0 ];

    DEBUG and warn "# Alert event=$event";
    $self->{W}->appendChild( Script( 'alert( "ACTIVATE!" )' ) );
}


###############################################################
sub Radio1
{
    my( $self, $kernel, $event ) = @_[ OBJECT, KERNEL, ARG0 ];

    DEBUG and warn "# Radio1";

    foreach my $R ( $event->source->children ) {
        next unless $R->selected;

        $self->recolour( lc $R->label );
        $self->message( $R->label );
        return;
    }
    die "Why can't I find a selected radio button?";
}


###############################################################
sub Round
{
    my( $self, $kernel, $event ) = @_[ OBJECT, KERNEL, ARG0 ];

    DEBUG and warn "# Round";
    $self->message( "Hey!  That's not even a colour!" );
}


###############################################################
sub MenuSelect
{
    my( $self, $kernel, $event ) = @_[ OBJECT, KERNEL, ARG0 ];

    DEBUG and warn "# MenuSelect event=$event";

    my $menulist = $event->source;

    my $index = $menulist->selectedIndex;
    DEBUG and warn "# Selected index=$index";

    my $popup = $menulist->firstChild;
    my $item  = $popup->get_item( $index );

    $self->message( "You chose ".$item->label );
}


###############################################################
sub ListSelect
{
    my( $self, $kernel, $event ) = @_[ OBJECT, KERNEL, ARG0 ];

    DEBUG and warn "# ListSelect event=$event";

    my $list = $event->source;

    my $index = $list->selectedIndex;
    DEBUG and warn "# Selected index=$index";

    my $item  = $list->get_item( $index );
    my @msg;
    foreach my $L ( $item->children ) {
        push @msg, $L->label;
    }
#    use Data::Dumper;
#    die Dumper $item unless @msg;

    $self->message( "You chose ".join '-', @msg );
}


###############################################################
sub Framify
{
    my( $self, $kernel, $event ) = @_[ OBJECT, KERNEL, ARG0 ];

    my $gb2 = $event->CM->getElementById( 'GB2' );

    $gb2->framify();

    $kernel->yield( 'expandGB2', $gb2 );
}

sub expandGB2
{
    my( $self, $kernel, $gb2 ) = @_[ OBJECT, KERNEL, ARG0 ];

    DEBUG and warn "# CM=", $POE::XUL::Node::CM;

    for my $n ( 0..40 ) {
        $gb2->appendChild( Description( "Line #$n" ) );
    }
}


###############################################################
sub message
{
    my( $self, $text ) = @_;
    $self->{message}->appendChild( "$text\n" );
}



( run in 0.608 second using v1.01-cache-2.11-cpan-364913b4093 )