Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?
 
PerlMonks  

Re: Gtk2::Entry scroll-event

by Anonymous Monk
on Sep 01, 2012 at 00:03 UTC ( #991101=note: print w/ replies, xml ) Need Help??


in reply to Gtk2::Entry scroll-event

interrogate the event object :)


Comment on Re: Gtk2::Entry scroll-event
Re^2: Gtk2::Entry scroll-event
by laybrother (Initiate) on Sep 01, 2012 at 07:23 UTC

    I'm trying to reach this event object.
    Navigating the documentation is beeing a little bit difficult.
    Somebody can give me a hint about how can I refer to a not explicitly instantiated event ?

    my $imp_entry = Gtk2::Entry->new_with_max_length( 6 ) ; ... $imp_entry->signal_connect( 'scroll-event' => sub { # if($imp_entry->scroll-event->direction() eq 'up'){} !?!? $imp_entry->set_text( $imp_entry->get_text() + 0.05 ) ; } ) ;
    i.e.: as in the Gtk2::Gdk::Event::Scroll doc :
    METHODS ... scrolldirection = $eventscroll->direction ($newvalue=0)
    What $eventscroll ? Thanks for your attention.

      I'm trying to reach this event object. Navigating the documentation is beeing a little bit difficult. Somebody can give me a hint about how can I refer to a not explicitly instantiated event ?

      I imagine it would be covered in some introductory tutorial (even if it is for the c++)

      Luckily http://search.cpan.org/grep?cpanid=TSCH&release=Gtk2-1.245&string=event&i=1&n=1&C=0 showed

      110: # warn Gtk2->get_current_event;

      Which worked for me

      #!/usr/bin/perl -- use Gtk2 -init; # Gtk2->init; works if you didn't use -init on use my $window = Gtk2::Window->new ('toplevel'); my $button = Gtk2::Button->new ('Quit'); $button->signal_connect (clicked => sub { warn "@_"; warn Gtk2::Gdk::Event->get; warn Gtk2->get_current_event; Gtk2->main_quit }); $window->add ($button); $window->show_all; Gtk2->main; __END__ Gtk2::Button=HASH(0xc6f164) at - line 7. Warning: something's wrong at - line 8. Gtk2::Gdk::Event::Key=SCALAR(0xa18d94) at - line 9.
        103:isa_ok ($event = Gtk2::Gdk::Event->new ('scroll'), 104: 'Gtk2::Gdk::Event::Scroll', 'Gtk2::Gdk::Event->new scroll'); 106:$event->direction ('down'); 107:is ($event->direction, 'down', '$scroll_event->direction'); 109:$event->device ($device);
        Fine! it is!
        $imp_entry->signal_connect( 'scroll-event' => sub { my $eventscroll = Gtk2->get_current_event ; my $scrolldirection = $eventscroll->direction() ; if( $scrolldirection eq 'up' ) { $imp_entry->set_text( $imp_entry->get_text() - 1 ) ; } elsif( $scrolldirection eq 'down' ) { $imp_entry->set_text( $imp_entry->get_text() + 1 ) ; } return FALSE ; } ) ;
        Thank You very much, Your Anonymous Wisdom, and all the Fatherhood.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://991101]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others contemplating the Monastery: (5)
As of 2014-12-28 07:26 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    Is guessing a good strategy for surviving in the IT business?





    Results (179 votes), past polls