Ticket #4128: motion.py

File motion.py, 888 bytes (added by erikos, 11 years ago)

Test app that prints motion events, touch events and button-release events

Line 
1from gi.repository import Gtk
2from gi.repository import Gdk
3
4def _destroy_cb(widget, data=None):
5    Gtk.main_quit()
6
7def __touch_event_cb(widget, event):
8    print 'touch: ', event.type
9
10def __button_release_event_cb(widget, event):
11    print 'button release: ', event.button
12
13def __motion_event_cb(widget, event):
14    print 'motion: ', event.x, event.y, event.get_source_device().get_source()
15
16window = Gtk.Window()
17window.connect("destroy", _destroy_cb)
18window.show()
19
20box = Gtk.EventBox()
21window.add(box)
22box.show()
23
24box.add_events(Gdk.EventMask.BUTTON_PRESS_MASK |
25               Gdk.EventMask.TOUCH_MASK |
26               Gdk.EventMask.POINTER_MOTION_MASK |
27               Gdk.EventMask.BUTTON_RELEASE_MASK)
28
29box.connect('button-release-event', __button_release_event_cb)
30box.connect('touch-event', __touch_event_cb)
31box.connect('motion-notify-event', __motion_event_cb)
32
33Gtk.main()