+
    ¬øÃi$%  ã                   óJ   € ^RI Ht  ! R R]4      t ! R R]4      tR tR tR# )	é   )Ú_gic                   ó’   a € ] tR t^t o Rt ! R R]4      tRR ltRR]P                  RRRRR3R lt
RR ltR	 tRR
 ltR tRtV tR# )Ú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                   óT   a € ] tR t^It o RtR tR tR tR tR t	R t
R tR	 tR
tV tR# )ÚSignal.BoundSignalzxTemporary binding object which can be used for connecting signals
without specifying the signal name string to connect.
c                ó,   € \         P                  W4      # ©N)ÚstrÚ__new__©ÚclsÚnameÚargsÚkargss   &&*,Ú2/usr/lib/python3/dist-packages/gi/_signalhelper.pyr   ÚSignal.BoundSignal.__new__N   s   € Ü—;‘;˜sÓ)Ð)ó    c                óH   € \         P                  V 4       Wn        W n        R # r	   )r
   Ú__init__ÚsignalÚgobj)Úselfr   r   s   &&&r   r   ÚSignal.BoundSignal.__init__Q   s   € Ü�L‰L˜ÔØ ŒKØŽIr   c                ó   € R V  R2# )zBoundSignal("z")© ©r   s   &r   Ú__repr__ÚSignal.BoundSignal.__repr__V   s   € Ø" 4 &¨Ð+Ð+r   c                óV   € V P                   P                  ! V P                  .VO5/ VB # )zCall the signals closure.)r   Úfuncr   ©r   r   r   s   &*,r   Ú__call__ÚSignal.BoundSignal.__call__Y   s%   € à—;‘;×#Ò# D§I¡IÐ>°Ò>¸Ñ>Ð>r   c                óB   € V P                   P                  ! W.VO5/ VB # )zSSame as GObject.Object.connect except there is no need to specify
the signal name.
©r   Úconnect)r   Úcallbackr   r   s   &&*,r   r&   ÚSignal.BoundSignal.connect]   s#   € ð —9‘9×$Ò$ TÐD°dÒD¸eÑDÐDr   c                ó`   € V P                   P                  ! V R,           V,           V.VO5/ VB # )zÚSame as GObject.Object.connect except there is no need to specify
the signal name. In addition concats "::<detail>" to the signal name
when connecting; for use with notifications like "notify" when a property
changes.
z::r%   )r   r'   Údetailr   r   s   &&&*,r   Úconnect_detailedÚ#Signal.BoundSignal.connect_detailedc   s.   € ð —9‘9×$Ò$ T¨D¥[°6Õ%9¸8ÐTÀdÒTÈeÑTÐTr   c                ó<   € V P                   P                  V4       R# )z"Same as GObject.Object.disconnect.N)r   Ú
disconnect)r   Ú
handler_ids   &&r   r.   ÚSignal.BoundSignal.disconnectk   s   € à�I‰I× Ñ  Ö,r   c                óT   € V P                   P                  ! \        V 4      .VO5/ VB # )zPSame as GObject.Object.emit except there is no need to specify
the signal name.
)r   Úemitr
   r!   s   &*,r   r2   ÚSignal.BoundSignal.emito   s%   € ð —9‘9—>’>¤# d£)Ð<¨dÒ<°eÑ<Ð<r   )r   r   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r   r   r"   r&   r+   r.   r2   Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r   ÚBoundSignalr   I   s9   ø‡ € ñ	ò	*ò	ò
	,ò	?ò	Eò	Uò	-÷	=ð 	=r   r=   Ú c                óf   € \        V4      '       d   VP                  p\        P                  W4      # r	   )Úcallabler4   r
   r   r   s   &&*,r   r   ÚSignal.__new__u   s#   € Ü�D�>Š>Ø—=‘=ˆDÜ�{‰{˜3Ó%Ð%r   Nc	                ó@  € Vf   \        V4      '       d   TpV'       d   V'       g   VP                  p\        P                  V 4       V'       d   V'       g   V'       g   \	        V4      w  rEVf   RpW n        W0n        W@n        WPn        W`n        Wpn	        W€n
        R # )Nr   )r@   r8   r
   r   Úget_signal_annotationsr    ÚflagsÚreturn_typeÚ	arg_typesÚaccumulatorÚ	accu_data)	r   r   r    rD   rE   rF   ÚdocrG   rH   s	   &&&&&&&&&r   r   ÚSignal.__init__z   st   € ð Š<œH TŸNšNØˆDçŸØ—,‘,ˆCä�‰�TÔçŸ¯	Ü%;¸DÓ%AÑ"ˆKØÒØˆIàŒ	ØŒ
Ø&ÔØ"ŒØŒØ&ÔØ"Žr   c                ó0   € Vf   V # V P                  W4      # )z:Returns a BoundSignal when accessed on an object instance.)r=   )r   ÚinstanceÚowners   &&&r   Ú__get__ÚSignal.__get__š   s   € àÒØˆKØ×Ñ Ó/Ð/r   c                ól  € \        V\        P                  4      '       d   V P                  ! V.VO5/ VB  R# \	        V 4      '       d   \	        V 4      MVP
                  p\        V 4      ! VVV P                  V P                  V P                  V P                  V P                  V P                  R7      # )zfAllows for instantiated Signals to be used as a decorator or calling
of the underlying signal method.
©r   r    rD   rE   rF   rI   rG   rH   N)Ú
isinstancer   ÚGObjectr    r
   r4   ÚtyperD   rE   rF   r8   rG   rH   )r   Úobjr   r   r   s   &&*, r   r"   ÚSignal.__call__    sŽ   € ô �cœ3Ÿ;™;×'Ò'Ø�IŠI�cÐ*˜DÒ* EÒ*ñ  ô !$ D§	¢	”3�t”9¨s¯|©|ˆDä˜”:ØØØ—j‘jØ ×,Ñ,ØŸ.™.Ø—L‘LØ ×,Ñ,ØŸ.™.ô	ð 	r   c                óÀ   € \        V 4      ! VV P                  V P                  V P                  V P                  V P
                  V P                  V P                  R7      # )z%Returns a renamed copy of the Signal.rQ   )rT   r    rD   rE   rF   r8   rG   rH   )r   ÚnewNames   &&r   ÚcopyÚSignal.copy¹   sK   € ä�DŒzØØ—‘Ø—*‘*Ø×(Ñ(Ø—n‘nØ—‘Ø×(Ñ(Ø—n‘nô	
ð 		
r   c                ót   € V P                   V P                  V P                  V P                  V P                  3# )zLReturns a tuple of: (flags, return_type, arg_types, accumulator, accu_data).)rD   rE   rF   rG   rH   r   s   &r   Úget_signal_argsÚSignal.get_signal_argsÆ   s5   € ð �J‰JØ×ÑØ�N‰NØ×ÑØ�N‰Nð
ð 	
r   )r8   rH   rG   rF   rD   r    rE   )r>   r	   )r4   r5   r6   r7   r8   r
   r=   r   r   ÚSIGNAL_RUN_FIRSTr   rN   r"   rY   r\   r9   r:   r;   s   @r   r   r      s\   ø‡ € ñ0ôd*=�cô *=ôX&ð ØØ×"Ñ"ØØØØØô#ô@0òô2
÷
ð 
r   r   c                   ó*   a € ] tR t^Ñt o RtR tRtV tR# )ÚSignalOverridea  Specialized sub-class of Signal which can be used as a decorator for overriding
existing signals on GObjects.

:Example:

.. code-block:: python

    class MyWidget(Gtk.Widget):
        @GObject.SignalOverride
        def configure_event(self):
            pass
c                ó   € R# )zReturns the string 'override'.Úoverrider   r   s   &r   r\   ÚSignalOverride.get_signal_argsß   s   € ár   r   N)r4   r5   r6   r7   r8   r\   r9   r:   r;   s   @r   r`   r`   Ñ   s   ø‡ € ñ÷ð r   r`   c                ó4  a€ RpRp\        V R4      '       d€   ^ RIpVP                  V 4      o\        ;QJ d!    . V3R lSP                   4       F  NK  	  5M! V3R lSP                   4       4      pRSP
                  9   d   SP
                  R,          pW!3# )a  Attempt pulling python 3 function annotations off of 'func' for
use as a signals type information. Returns an ordered nested tuple
of (return_type, (arg_type1, arg_type2, ...)). If the given function
does not have annotations then (None, tuple()) is returned.
NÚ__annotations__c              3   ón   <"  € T F*  qSP                   9   g   K  SP                   V,          x € K,  	  R # 5ir	   )Úannotations)Ú.0ÚargÚspecs   & €r   Ú	<genexpr>Ú)get_signal_annotations.<locals>.<genexpr>ò   s0   øé € ð 
Ù-6 cÀ×AQÑAQÑ:QÔ!ˆD×Ñ˜S×!Ò!«Yùs   ƒ5š5Úreturnr   )ÚhasattrÚinspectÚgetfullargspecÚtupler   rg   )r    rF   rE   ro   rj   s   &   @r   rC   rC   ä   s‹   ø€ ð €IØ€KäˆtÐ&×'Ò'ãà×%Ñ% dÓ+ˆß”Eô 
Ø-1¯YªYó
—E‘Eô 
Ø-1¯YªYó
ó 
ˆ	ð �t×'Ñ'Ô'Ø×*Ñ*¨8Õ4ˆKàÐ!Ð!r   c                óT  € V P                   P                  R/ 4      p/ pV P                   P                  4        Fz  w  r4\        V\        4      '       g   K  \        V4      pV'       g    TpVP                  V4      p\        WV4       WQ9   d   \        RV R24      hWBV&   VP                  4       W&   K|  	  Wn
        VP                  4        FW  w  r4VP                  f   K  RVP                  RR4      ,           p\        W4      '       d   KA  \        WVP                  4       KY  	  R# )zŒAdds Signal instances on a GObject derived class into the '__gsignals__'
dictionary to be picked up and registered as real GObject signals.
Ú__gsignals__zSignal "z" has already been registered.NÚdo_Ú-Ú_)Ú__dict__ÚgetÚitemsrR   r   r
   rY   ÚsetattrÚ
ValueErrorr\   rs   r    Úreplacern   )r   ÚgsignalsÚ
newsignalsr   r   Ú
signalNameÚfuncNames   &      r   Úinstall_signalsr�   û   sû   € ð �|‰|×Ñ °Ó3€HØ€JØŸ™×*Ñ*Ö,‰ˆÜ�fœf×%Ô%Ü˜V›ˆJ÷ Ø!�
ØŸ™ TÓ*�Ü˜ 6Ô*ØÔ%Ü  8¨D¨6Ð1OÐ!PÓQÐQØ%+�zÑ"Ø#)×#9Ñ#9Ó#;ˆHÓ ñ -ð  Ôð #×(Ñ(Ö*‰ˆØ�;‰;Ô"Ø˜tŸ|™|¨C°Ó5Õ5ˆHÜ˜3×)Ô)Ü˜ v§{¡{Ö3ó	 +r   N)r>   r   r
   r   r`   rC   r�   r   r   r   Ú<module>r‚      s/   ðõ& ôx
ˆSô x
ôv�Vô ò&"ô.4r   