MINI MINI MANI MO
ó
§Zc           @   s‰   d  d l  Z  d d l m Z d e  j k o6 d k  n rG d „  Z n  d e f d	 „  ƒ  YZ d
 e f d „  ƒ  YZ d „  Z d
 „  Z	 d S(   iÿÿÿÿNi   (   t   _gobjecti   i    i   c         C   s
   t  |  d ƒ S(   Nt   __call__(   t   hasattr(   t   fn(    (    s6   /usr/lib64/python2.7/site-packages/gi/_signalhelper.pyt   callable   s    t   Signalc        	   B   s~   e  Z d  Z d e f d „  ƒ  YZ d d „ Z d d
 e j d
 d
 d d
 d
 d „ Z	 d
 d „ Z
 d „  Z d
 d „ Z d	 „  Z
 RS(   s¸  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()
    t   BoundSignalc           B   sV   e  Z d  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 RS(	   s‘   
        Temporary binding object which can be used for connecting signals
        without specifying the signal name string to connect.
        c         O   s   t  j |  | ƒ S(   N(   t   strt   __new__(   t   clst   namet   argst   kargs(    (    s6   /usr/lib64/python2.7/site-packages/gi/_signalhelper.pyR   X   s    c         C   s#   t  j |  ƒ | |  _ | |  _ d  S(   N(   R   t   __init__t   signalt   gobj(   t   selfR   R   (    (    s6   /usr/lib64/python2.7/site-packages/gi/_signalhelper.pyR
   [   s    
	c         C   s   d |  S(   Ns   BoundSignal("%s")(    (   R   (    (    s6   /usr/lib64/python2.7/site-packages/gi/_signalhelper.pyt   __repr__`   s    c         O   s   |  j  j |  j | | Ž S(   s   Call the signals closure.(   R   t   funcR   (   R   R   R   (    (    s6   /usr/lib64/python2.7/site-packages/gi/_signalhelper.pyR   c   s    c         O   s   |  j  j |  | | | Ž S(   s^   Same as GObject.Object.connect except there is no need to specify
            the signal name.(   R   t   connect(   R   t   callbackR   R   (    (    s6   /usr/lib64/python2.7/site-packages/gi/_signalhelper.pyR   g   s    c         O   s!   |  j  j |  d | | | | Ž S(   s
  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.
            s   ::(   R   R   (   R   R   t   detailR   R   (    (    s6   /usr/lib64/python2.7/site-packages/gi/_signalhelper.pyt   connect_detailedl   s    c         C   s   |  j  j | ƒ d S(   s"