Module signals
source code
Provide Signal class.
A signals implementation.
Example usage
>>> class Button:
... def __init__(self):
...
... self.sigClick = Signal()
>>> class Listener:
...
... def onClick(self):
... print "onClick ", repr(self)
>>>
>>> def listenFunction():
... print "listenFunction"
>>>
>>> def listenWithArgs(text):
... print "listenWithArgs: ", text
>>> b = Button()
>>> l = Listener()
>>> b.sigClick.connect(l.onClick)
>>> b.sigClick()
onClick <__main__.Listener instance at 0x4024cf2c>
>>>
>>> b.sigClick.disconnectAll()
>>> b.sigClick()
>>>
>>> l2 = Listener()
>>> b.sigClick.connect(l.onClick)
>>> b.sigClick.connect(l2.onClick)
>>> b.sigClick()
onClick <__main__.Listener instance at 0x4024cf2c>
onClick <__main__.Listener instance at 0x4024ce0c>
>>>
>>> b.sigClick.disconnect(l.onClick)
>>> b.sigClick.connect(listenFunction)
>>> b.sigClick()
onClick <__main__.Listener instance at 0x4024ce0c>
listenFunction
>>>
>>> b.sigClick.disconnectAll()
>>> b.sigClick.connect(l.onClick)
>>> b.sigClick.connect(l2.onClick)
>>> del l2
>>> b.sigClick()
onClick <__main__.Listener instance at 0x4024cf2c>
>>>
>>> sig = Signal()
>>> sig.connect(listenWithArgs)
>>> sig("Hello, World!")
listenWithArgs: Hello, World!
Based on a Patrick Chasco's code.
- Authors:
-
Benjamin Longuet,
Frederic Mantegazza,
Cyrille Boullier
Copyright:
2003-2005
Organization:
CEA-Grenoble
License:
GPL
|
__revision__ = ' $Id: signals.py,v 1.2 2007-05-15 15:19:42 jero ...
|