Ticket #3992: lptest.py

File lptest.py, 1.9 KB (added by erikos, 12 years ago)

test for long-press gesture

Line 
1import os
2
3from gi.repository import Gtk
4from gi.repository import Gdk
5
6from sugar3.graphics import style
7from sugar3.graphics.icon import Icon
8from sugar3.graphics.icon import EventIcon
9from sugar3.graphics.palette import Palette
10from sugar3.graphics.menuitem import MenuItem
11
12def _destroy_cb(widget, data=None):
13    Gtk.main_quit()
14
15def __enter_notify_event_cb(button, event):
16    print 'enter event.mode=', event.mode
17
18def __leave_notify_event_cb(button, event):
19    print 'leave event.mode=', event.mode
20
21def __button_press_event_cb(button, event):
22    print 'press event.button=', event.button
23
24def __button_release_event_cb(button, event):
25    print 'release event.button=', event.button
26
27settings = Gtk.Settings.get_default()
28sugar_theme = 'sugar-72'
29if 'SUGAR_SCALING' in os.environ:
30    if os.environ['SUGAR_SCALING'] == '100':
31        sugar_theme = 'sugar-100'
32settings.set_property('gtk-theme-name', sugar_theme)
33settings.set_property('gtk-icon-theme-name', 'sugar')
34
35window = Gtk.Window()
36window.set_default_size(800, 640)
37window.connect("destroy", _destroy_cb)
38
39fixed = Gtk.Fixed()
40window.add(fixed)
41fixed.show()
42
43
44icon2 = EventIcon(icon_name='computer-xo')
45fixed.put(icon2, 90, 90)
46icon2.show()
47
48icon2.connect('enter-notify-event',
49              __enter_notify_event_cb)
50icon2.connect('leave-notify-event',
51               __leave_notify_event_cb)
52icon2.connect('button-press-event',
53             __button_press_event_cb)
54icon2.connect('button-release-event',
55              __button_release_event_cb)
56
57palette_icon = Icon(icon_name='computer-xo',
58                    pixel_size=style.STANDARD_ICON_SIZE)
59icon2.props.palette = Palette('test', icon=palette_icon)
60icon2.props.palette_invoker.props.toggle_palette = True
61vbox_menu = Gtk.VBox()
62label = Gtk.Button('Click me')
63vbox_menu.add(label)
64icon2.props.palette.set_content(vbox_menu)
65vbox_menu.show_all()
66
67window.show()
68Gtk.main()