Gtk2-Ex-Dragger
view release on metacpan or search on metacpan
devel/run.pl view on Meta::CPAN
my ($area, $event) = @_;
if ($event->keyval == Gtk2::Gdk->keyval_from_name('Page_Down')) {
$vadj->set_value (min ($vadj->upper - $vadj->page_size,
$vadj->value + $vadj->page_increment));
} elsif ($event->keyval == Gtk2::Gdk->keyval_from_name('Page_Up')) {
$vadj->set_value (max ($vadj->lower,
$vadj->value - $vadj->page_increment));
} elsif ($event->keyval == Gtk2::Gdk->keyval_from_name('Down')) {
$vadj->set_value (min ($vadj->upper - $vadj->page_size,
$vadj->value + $vadj->step_increment));
} elsif ($event->keyval == Gtk2::Gdk->keyval_from_name('Up')) {
$vadj->set_value (max ($vadj->lower,
$vadj->value - $vadj->step_increment));
} elsif ($event->keyval == Gtk2::Gdk->keyval_from_name('Left')) {
$hadj->set_value (min ($hadj->upper - $hadj->page_size,
$hadj->value + $hadj->step_increment));
} elsif ($event->keyval == Gtk2::Gdk->keyval_from_name('Right')) {
$hadj->set_value (max ($hadj->lower,
$hadj->value - $hadj->step_increment));
}
return 0; # propagate
});
}
$area->add_events ('button-press-mask');
$area->signal_connect (button_press_event =>
sub {
my ($widget, $event) = @_;
print "$progname: start button press on $widget\n";
if ($sleep) {
print "$progname: sleep 1\n";
sleep 1;
}
make();
print "$progname: start now 1\n";
$dragger->start ($event);
return 0; # propagate
});
$toplevel->show_all;
### $dragger
### area events: $area->window->get_events.''
Gtk2->main;
exit 0;
__END__
=head1 BUGS
There's no C<notify> signal if the C<widget> property becomes C<undef> due
to weakening.
( run in 0.808 second using v1.01-cache-2.11-cpan-5c0b1e786e0 )