On 08/09/2012 10:27 PM, Manuel Quiñones wrote:
Thanks Gonzalo,
Thanks Gonzalo. I was intrigued by that fact and looked a bit at the issue.
2012/8/9 <godi...@sugarlabs.org>:
From: Gonzalo Odiard <godi...@gmail.com>
Use clicked instead of button-pressed, because this is not triggered
by touch device.
Makes sense, clicked is more general than button-pressed. From the
docs, "is emitted when the button has been activated (pressed and
released)".
http://developer.gnome.org/gtk3/stable/GtkButton.html#GtkButton-clicked
Signed-off-by: Gonzalo Odiard <gonz...@laptop.org>
Acked-by: Manuel Quiñones <ma...@laptop.org>
I tested the behavior in GTK+3 and GTK+2, and it does behave differently:
In Gtk+2 I do get as well the press&release events with touch. In Gtk+3
I do not, only the clicked signal. Looking at the docs [1] the
button-release-event is only submitted when it is enabled using the
mask. Tried that, but the behavior is the same.
I am fine to go with 'clicked' as Gonzalo suggested but would be nice to
know the details as well.
Regards,
Simon
[1]
http://developer.gnome.org/gtk3/3.2/GtkWidget.html#GtkWidget-button-release-event
------------------------------------
from gi.repository import Gtk, Gdk
def _destroy_cb(widget, data=None):
Gtk.main_quit()
def __pressed_cb(button, event):
print 'pressed'
def __released_cb(button, event):
print 'released'
def __clicked_cb(button):
print 'clicked'
window = Gtk.Window()
window.connect("destroy", _destroy_cb)
window.set_default_size(450, 450)
b = Gtk.Button()
b.connect('clicked', __clicked_cb)
b.add_events(Gdk.EventMask.BUTTON_PRESS_MASK |
Gdk.EventMask.BUTTON_RELEASE_MASK)
b.connect('button-press-event', __pressed_cb)
b.connect('button-release-event', __released_cb)
window.add(b)
b.show()
window.show()
Gtk.main()
---------------------------
import gtk
def _destroy_cb(widget, data=None):
gtk.main_quit()
def __pressed_cb(button, event):
print 'pressed'
def __released_cb(button, event):
print 'released'
def __clicked_cb(button):
print 'clicked'
window = gtk.Window()
window.connect("destroy", _destroy_cb)
window.set_default_size(450, 450)
b = gtk.Button()
b.connect('button-press-event', __pressed_cb)
b.connect('button-release-event', __released_cb)
b.connect('clicked', __clicked_cb)
window.add(b)
b.show()
window.show()
gtk.main()
_______________________________________________
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel