a
^W$ @ s@ d dl mZ G dd deZG dd deZdd Zdd Zd
S ) )_gic @ sj e Zd ZdZG dd deZdddZddejdddddfdd Z dd
dZ
dd
ZdddZdd Z
dS )Signala Object which gives a nice API for creating and binding signals.
:param name:
Name of signal or callable closure when used as a decorator.
:type name: str or callable
:param callable func:
Callable closure method.
:param GObject.SignalFlags flags:
Flags specifying when to run closure.
:param type return_type:
Return type of the Signal.
:param list arg_types:
List of argument types specifying the signals function signature
:param str doc:
Documentation of signal object.
:param callable accumulator:
Accumulator method with the signature:
func(ihint, return_accu, handler_return, accu_data) -> boolean
:param object accu_data:
User data passed to the accumulator.
:Example:
.. code-block:: python
class Spam(GObject.Object):
velocity = 0
@GObject.Signal
def pushed(self):
self.velocity += 1
@GObject.Signal(flags=GObject.SignalFlags.RUN_LAST)
def pulled(self):
self.velocity -= 1
stomped = GObject.Signal('stomped', arg_types=(int,))
@GObject.Signal
def annotated_signal(self, a:int, b:str):
"Python3 annotation support for parameter types.
def on_pushed(obj):
print(obj)
spam = Spam()
spam.pushed.connect(on_pushed)
spam.pushed.emit()
c @ sP e Zd ZdZdd Zdd Zdd Zdd Zd
d Zdd
Z dd Z
dd ZdS )zSignal.BoundSignalz
Temporary binding object which can be used for connecting signals
without specifying the signal name string to connect.
c O s t | |S N)str__new__clsnameargskargs r 6/usr/lib64/python3.9/site-packages/gi/_signalhelper.pyr N s zSignal.BoundSignal.__new__c C s t | || _|| _d S r )r __init__signalgobj)selfr r r r r
r Q s
zSignal.BoundSignal.__init__c C s d| S )NzBoundSignal("%s")r r r r r
__repr__V s zSignal.BoundSignal.__repr__c O s | j j| jg|R i |S )zCall the signals closure.)r funcr r r
r r r r
__call__Y s zSignal.BoundSignal.__call__c O s | j j| |g|R i |S )z^Same as GObject.Object.connect except there is no need to specify
the signal name.r connect)r callbackr
r r r r
r ] s zSignal.BoundSignal.connectc O s$ | j j| d | |g|R i |S )a
Same as GObject.Object.connect except there is no need to specify
the signal name. In addition concats "::