Greetings,
This is a request for an exception to include the python signal helper to
pygobject for gnome 3.6:
https://bugzilla.gnome.org/show_bug.cgi?id=434924
The original ticket is over 5 years old. I submitted a first pass patch 6
months ago and a final patch over a month ago and it was finally just
looked at and approved, just too late for the upcoming release.
Essentially the feature removes a thorn in the side of GObject signals for
python programmers. Currently to create a signal you use a dictionary,
specifying types and flags along with a magically named closure:
class Spam(GObject.GObject):
__gsignals__ = {
'eggs_thrown': (GObject.SIGNAL_RUN_FIRST, None, (int,))
}
def do_eggs_thrown(self, count):
print "egg count", count
The patch adds a sugary syntax that makes use of python decorators and
function annotations available in python 3:
class Spam(GObject.GObject):
@GObject.Signal
def eggs_thrown(self, count:int):
print("egg count", count)
The use of __gsignals__ simply becomes an implementation detail so no C
binding code was changed and it is fully backwards compatible.
Thanks,
-Simon
_______________________________________________
[email protected]
https://mail.gnome.org/mailman/listinfo/release-team
Release-team lurker? Do NOT participate in discussions.