HEX
Server: Apache
System: Linux 162-240-236-42.bluehost.com 3.10.0-1160.114.2.el7.x86_64 #1 SMP Wed Mar 20 15:54:52 UTC 2024 x86_64
User: bt667 (1004)
PHP: 8.2.29
Disabled: NONE
Upload Files
File: //proc/self/root/usr/share/doc/pygobject2-2.28.6/examples/signal.py
import pygtk; pygtk.require("2.0")
import gobject

class C(gobject.GObject):
    __gsignals__ = {
        'my_signal': (gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE,
                      (gobject.TYPE_INT,))
    }
    def __init__(self):
        self.__gobject_init__() # default constructor using our new GType
    def do_my_signal(self, arg):
        print "C: class closure for `my_signal' called with argument", arg

class D(C):
    def do_my_signal(self, arg):
        print "D: class closure for `my_signal' called.  Chaining up to C"
        C.do_my_signal(self, arg)

def my_signal_handler(object, arg, *extra):
    print "handler for `my_signal' called with argument", arg, \
          "and extra args", extra

inst = C()
inst2 = D()

inst.connect("my_signal", my_signal_handler, 1, 2, 3)
inst.emit("my_signal", 42)
inst2.emit("my_signal", 42)