Ë
    çôfS7  ã                   óT  — d dl mZ d dlmZmZmZmZmZmZm	Z	m
Z
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ ej6                  Zej8                  Zej:                  Zej<                  Zej>                  Zej@                  Z ejB                  Z!ejD                  Z" G d„ de#«      Z$d„ Z%y)é   )Ú_gi)Ú	TYPE_NONEÚTYPE_INTERFACEÚ	TYPE_CHARÚ
TYPE_UCHARÚTYPE_BOOLEANÚTYPE_INTÚ	TYPE_UINTÚ	TYPE_LONGÚ
TYPE_ULONGÚ
TYPE_INT64ÚTYPE_UINT64Ú	TYPE_ENUMÚ
TYPE_FLAGSÚ
TYPE_FLOATÚTYPE_DOUBLEÚTYPE_STRINGÚTYPE_POINTERÚ
TYPE_BOXEDÚ
TYPE_PARAMÚTYPE_OBJECTÚTYPE_PYOBJECTÚ
TYPE_GTYPEÚ	TYPE_STRVÚTYPE_VARIANTc                   ó@  — e Zd ZdZeeeeee	e
eeeiZedededee e	e eeeeediZeeeeededeee	eeeeeiZedededededededede	di	Z G d„ d	e «      Z!d
d
d
d
dde"jF                  d
d
f	d„Z$d„ Z%d„ Z&d„ Z'd„ Z(d„ Z)d„ Z*d„ Z+d„ Z,d„ Z-d„ Z.d„ Z/d„ Z0d„ Z1d„ Z2d„ Z3d„ Z4y
)ÚPropertyaÄ  Creates a new Property which when used in conjunction with
    GObject subclass will create a Python property accessor for the
    GObject ParamSpec.

    :param callable getter:
        getter to get the value of the property
    :param callable setter:
        setter to set the value of the property
    :param type type:
        type of property
    :param default:
        default value, must match the property type.
    :param str nick:
        short description
    :param str blurb:
        long description
    :param GObject.ParamFlags flags:
        parameter flags
    :keyword minimum:
        minimum allowed value (int, float, long only)
    :keyword maximum:
        maximum allowed value (int, float, long only)

    .. code-block:: python

         class MyObject(GObject.Object):
             prop = GObject.Property(type=str)

         obj = MyObject()
         obj.prop = 'value'

         obj.prop  # now is 'value'

    The API is similar to the builtin :py:func:`property`:

    .. code-block:: python

        class AnotherObject(GObject.Object):
            value = 0

            @GObject.Property
            def prop(self):
                'Read only property.'
                return 1

            @GObject.Property(type=int)
            def propInt(self):
                'Read-write integer property.'
                return self.value

            @propInt.setter
            def propInt(self, value):
                self.value = value
    é    lûÿÿÿ         l   ÿÿÿÿ l   ÿÿÿÿ Ú g        c                   ó   — e Zd Zd„ Zy)úProperty.__metaclass__c                  ó   — y)Nz<class 'GObject.Property'>© ©Úselfs    ú4/usr/lib/python3/dist-packages/gi/_propertyhelper.pyÚ__repr__zProperty.__metaclass__.__repr__Š   s   € Ø/ó    N)Ú__name__Ú
__module__Ú__qualname__r'   r#   r(   r&   Ú__metaclass__r!   ‰   s   „ ó	0r(   r,   Nc
                 óH  — d | _         |€t        }| j                  |«      | _        | j	                  |«      | _        | j                  «        t        |t        «      st        d«      ‚|| _
        t        |t        «      st        d«      ‚|| _        || _        || _        |r|s| j                  }n-|r|s| j                  }n|s|s| j                   }| j"                  }| j%                  |«       || _        |�;|| j)                  «       k  r8t        d| j                  | j)                  «       fz  «      ‚| j)                  «       }|| _        |	�;|	| j-                  «       kD  r8t        d| j                  | j-                  «       fz  «      ‚| j-                  «       }	|	| _        d | _        y )Nznick must be a stringzblurb must be a stringz+Minimum for type %s cannot be lower than %dz,Maximum for type %s cannot be higher than %d)ÚnameÚobjectÚ_type_from_pythonÚtypeÚ_get_defaultÚdefaultÚ_check_defaultÚ
isinstanceÚstrÚ	TypeErrorÚnickÚblurbÚ__doc__ÚflagsÚ_readonly_setterÚ_writeonly_getterÚ_default_getterÚ_default_setterÚgetterÚfsetÚ_get_minimumÚminimumÚ_get_maximumÚmaximumÚ_exc)
r%   r@   Úsetterr1   r3   r8   r9   r;   rC   rE   s
             r&   Ú__init__zProperty.__init__�   s˜  € ð ˆŒ	àˆ<ÜˆDØ×*Ñ*¨4Ó0ˆŒ	Ø×(Ñ(¨Ó1ˆŒØ×ÑÔä˜$¤Ô$ÜÐ3Ó4Ð4ØˆŒ	ä˜%¤Ô%ÜÐ4Ó5Ð5ØˆŒ
ð ˆŒØˆŒ
ñ ™&Ø×*Ñ*‰FÙ™FØ×+Ñ+‰FÙ¡Ø×)Ñ)ˆFØ×)Ñ)ˆFØ�‰�FÔð ˆŒ	àÐØ˜×*Ñ*Ó,Ò,ÜØAØ—Y‘Y × 1Ñ 1Ó 3Ð4ñ5ó6ð 6ð ×'Ñ'Ó)ˆGØˆŒØÐØ˜×*Ñ*Ó,Ò,ÜØBØ—Y‘Y × 1Ñ 1Ó 3Ð4ñ5ó6ð 6ð ×'Ñ'Ó)ˆGØˆŒàˆ�	r(   c                 óX   — d| j                   xs d›d| j                  j                   ›d�S )Nz<GObject Property z(uninitialized)z (z)>)r.   r1   r$   s    r&   r'   zProperty.__repr__Å   s'   � à�I‰IÒ*Ð*Ñ*Ø�I‰I�N‹Nðð 	r(   c                 ó€   — |€| S d | _         | j                  |«      }| j                   r| j                   }d | _         |‚|S ©N)rF   Úfget)r%   ÚinstanceÚklassÚvalueÚexcs        r&   Ú__get__zProperty.__get__Ê   sC   € ØÐØˆKàˆŒ	Ø—	‘	˜(Ó#ˆØ�9Š9Ø—)‘)ˆCØˆDŒIØˆIàˆr(   c                 óœ   — |€t         ‚d | _        |j                  | j                  |«       | j                  r| j                  }d | _        |‚y rK   )r7   rF   Úset_propertyr.   )r%   rM   rO   rP   s       r&   Ú__set__zProperty.__set__×   sI   € ØÐÜˆOàˆŒ	Ø×Ñ˜dŸi™i¨Ô/Ø�9Š9Ø—)‘)ˆCØˆDŒIØˆIð r(   c                 ó$   — | j                  |«      S )z;Allows application of the getter along with init arguments.)r@   ©r%   rL   s     r&   Ú__call__zProperty.__call__â   s   € à�{‰{˜4Ó Ð r(   c                 óp   — |j                   r"|j                   | _        |j                   | _         || _        | S )z8Set the getter function to fget. For use as a decorator.)r:   r9   rL   rV   s     r&   r@   zProperty.getteræ   s+   € à�<Š<àŸ™ˆDŒJØŸ<™<ˆDŒLØˆŒ	Øˆr(   c                 ób   — || _         | j                  s| j                  j                  | _        | S )z8Set the setter function to fset. For use as a decorator.)rA   r.   rL   r)   )r%   rA   s     r&   rG   zProperty.setterï   s(   € àˆŒ	ð �yŠyØŸ	™	×*Ñ*ˆDŒIØˆr(   c                 ó&  — || j                   v r| j                   |   S t        |t        «      rct        |t        j
                  t        j                  t        j                  t        j                  t        j                  f«      r|j                  S |t        t        t        t        t        t         t"        t$        t&        t(        t*        t,        t.        t0        t2        t4        t6        t8        t:        t<        t>        t@        fv r|S tC        d|›�«      ‚)NzUnsupported type: )"Ú_type_from_pytype_lookupr5   r1   Ú
issubclassr   ÚGObjectÚGEnumÚGFlagsÚGBoxedÚ
GInterfaceÚ	__gtype__r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r7   )r%   Útype_s     r&   r0   zProperty._type_from_pythonù   s½   € Ø�D×1Ñ1Ñ1Ø×0Ñ0°Ñ7Ð7Ü˜¤Ô%Ü˜¤§¡Ü!$§¡Ü!$§¡Ü!$§¡Ü!$§¡ð	!1ô 2ð
 —?‘?Ð"Ø”y¤.´)¼ZÜ¤¬L¼)Ü!¤:¬{Ü!¤;´Ü!¤:¬{¼KÜ$¤j´)¼\ðKñ Kð ˆLå±eÐ=Ó>Ð>r(   c                 óV   — |�|S | j                   j                  | j                  d «      S rK   )Ú_default_lookupÚgetr1   )r%   r3   s     r&   r2   zProperty._get_default  s*   € ØÐØˆNØ×#Ñ#×'Ñ'¨¯	©	°4Ó8Ð8r(   c                 ó°  — | j                   }| j                  }|t        k(  r|dvrt        d|›�«      ‚|t        k(  r|�t        d«      ‚y |t
        k(  r|�t        d«      ‚y |j                  t        «      rC|€t        d«      ‚t        j                  |«      j                  |«      st        d|›d|›�«      ‚y |j                  t        «      r6t        j                  |«      j                  |«      st        d|›d|›�«      ‚y |j                  t        «      r_|�]t        |t        «      st        d	t        |«      z  «      ‚|D ]0  }t        |«      t        t         fvsŒt        d
t        |«      z  «      ‚ y |j                  t"        «      rI|�Ft%        |d«      r(t        j                  |«      j                  t"        «      st        d|›d|›�«      ‚y y y )N)TFz#default must be True or False, not z)object types does not have default valuesz(GType types does not have default valuesz%enum properties needs a default valuezenum value z must be an instance of zflags value zStrv value %s must be a listz'Strv value %s must contain only stringsrb   zvariant value )r1   r3   r   r7   r   r   Úis_ar   r   ÚGTyper   r   r5   ÚlistÚreprr6   Úbytesr   Úhasattr)r%   Úptyper3   Úvals       r&   r4   zProperty._check_default  sË  € Ø—	‘	ˆØ—,‘,ˆØ”\Ò! w°mÑ'CÝÙ;BÐDóFð Fà”mÒ#ØÐ"ÜÐ KÓLÐLð #à”jÒ ØÐ"ÜÐ JÓKÐKð #à�Z‰Zœ	Ô"ØˆÜÐ GÓHÐHÜ—Y‘Y˜wÓ'×,Ñ,¨UÔ3ÝÚ!(©%ð!1ó 2ð 2ð 4ð �Z‰Zœ
Ô#Ü—9‘9˜WÓ%×*Ñ*¨5Ô1ÝÚ!(©%ð!1ó 2ð 2ð 2ð �Z‰Zœ	Ô" wÐ':Ü˜g¤tÔ,ÜÐ >ÄÀgÃÑ NÓOÐOØò ^�Ü˜“9¤S¬% LÒ0Ü#Ð$MÔPSÐT[ÓP\Ñ$\Ó]Ð]ñ^ð �Z‰ZœÔ%¨'Ð*=Ü˜7 KÔ0¼¿	¹	À'Ó8J×8OÑ8OÔP\Ô8]ÝÚ!(©%ð!1ó 2ð 2ð 9^ð +>Ð%r(   c                 óN   — | j                   j                  | j                  d «      S rK   )Ú_min_value_lookuprf   r1   r$   s    r&   rB   zProperty._get_minimum3  ó   € Ø×%Ñ%×)Ñ)¨$¯)©)°TÓ:Ð:r(   c                 óN   — | j                   j                  | j                  d «      S rK   )Ú_max_value_lookuprf   r1   r$   s    r&   rD   zProperty._get_maximum6  rr   r(   c                 ó8   — t        |d| j                  z   |«       y ©NÚ_property_helper_)Úsetattrr.   ©r%   rM   rO   s      r&   r?   zProperty._default_setter=  s   € Ü�Ð-°·	±	Ñ9¸5ÕAr(   c                 óJ   — t        |d| j                  z   | j                  «      S rv   )Úgetattrr.   r3   ©r%   rM   s     r&   r>   zProperty._default_getter@  s   € Ü�xÐ!4°t·y±yÑ!@À$Ç,Á,ÓOÐOr(   c                 ój   — t        | j                  ›dt        |«      j                  ›d�«      | _        y )Nú property of z is read-only©r7   r.   r1   r)   rF   ry   s      r&   r<   zProperty._readonly_setterC  ó&   € ÜØ�I‹I”t˜H“~×.Ó.ð0ó 1ˆ�	r(   c                 ój   — t        | j                  ›dt        |«      j                  ›d�«      | _        y )Nr~   z is write-onlyr   r|   s     r&   r=   zProperty._writeonly_getterG  r€   r(   c           	      ór  — | j                   }|t        t        t        t        t
        t        t        t        fv r$| j                  | j                  | j                  f}n¨|t        k(  sH|t        k(  s?|j                  t        «      s*|j                  t         «      s|j                  t"        «      r| j                  f}nI|t$        t&        fv rd}n8|j                  t(        «      s|j                  t*        «      rd}nt-        |«      ‚| j                   | j.                  | j0                  f|z   | j2                  fz   S )Nr#   )r1   r	   r
   r   r   r   r   r   r   rC   rE   r3   r   r   rh   r   r   r   r   r   r   r   ÚNotImplementedErrorr8   r9   r;   )r%   rn   Úargss      r&   Úget_pspec_argszProperty.get_pspec_argsO  sâ   € Ø—	‘	ˆØ”Xœy¬)´ZÜ¤¬j¼+ðGñ Gà—<‘< §¡¨t¯|©|Ð;‰DØ”{Ò" e¬|Ò&;Ø�j‰jœÔ# u§z¡z´*Ô'=Ø�j‰jœÔ&Ø—L‘L�?‰DØ”}¤jÐ1Ñ1Ø‰DØ�Z‰ZœÔ$¨¯
©
´:Ô(>Ø‰Dä% eÓ,Ð,à—	‘	˜4Ÿ9™9 d§j¡jÐ1°DÑ8¸D¿J¹J¸=ÑHÐHr(   )5r)   r*   r+   r:   Úintr	   Úboolr   Úfloatr   r6   r   r/   r   r[   r
   r   r   r   Ú
G_MAXFLOATÚG_MAXDOUBLEÚG_MININTr   Ú	G_MINLONGr   rq   Ú	G_MAXUINTÚ
G_MAXULONGÚG_MAXINTÚ	G_MAXLONGrt   re   r1   r,   r   ÚPARAM_READWRITErH   r'   rQ   rT   rW   r@   rG   r0   r2   r4   rB   rD   r?   r>   r<   r=   r…   r#   r(   r&   r   r   '   sL  „ ñ5ðn 	ˆXØˆlØˆ{Øˆ[Ø�ð Ðð 	�1Ø�AØ�Qà�Z�KØ�k�\Ø�(Ø�9Ø�Hð
Ðð 	�9Ø�JØ�KØ�[Ø�JØ�[Ø�(Ø�9ð	Ðð 	�!Ø�1Ø�1Ø�AØ�AØ�QØ�RØ�CØ�Sð
€Oô0˜ô 0ð #¨4°dÀDØ ¨#×*=Ñ*=Ø tó6òpò
ò	ò!òòò?ò(9ò
2òB;ò;òBòPò1ò1óIr(   r   c                 óÔ  ‡ — ‰ j                   j                  di «      }g }‰ j                   j                  «       D ]ž  \  }}t        |t        «      sŒ|j
                  s||_        |j
                  |v r9||j
                     |j                  «       k(  rŒYt        d|j
                  z  «      ‚|j                  «       ||j
                  <   |j                  |«       Œ  |sy|‰ _	        d‰ j                   v sd‰ j                   v rR|D ]M  }|j                  |j                  k7  s|j                  |j                  k7  sŒ6t        d‰ j                  ›d�«      ‚ d„ }|‰ _        ˆ fd	„}|‰ _        y)
z“
    Scans the given class for instances of Property and merges them
    into the classes __gproperties__ dict if it exists or adds it if not.
    Ú__gproperties__z0Property %s was already found in __gproperties__NÚdo_get_propertyÚdo_set_propertyzGObject subclass zl defines do_get/set_property and it also uses a property with a custom setter or getter. This is not allowedc                 óT   — |j                   j                  dd«      }t        | |d «      S ©Nú-Ú_)r.   Úreplacer{   )r%   Úpspecr.   s      r&   Úobj_get_propertyz,install_properties.<locals>.obj_get_propertyˆ  s'   € Ø�z‰z×!Ñ! # sÓ+ˆÜ�t˜T 4Ó(Ð(r(   c                 ó‚   •— |j                   j                  dd«      }t        ‰|d «      }|r|j                  | |«       y y r—   )r.   rš   r{   rA   )r%   r›   rO   r.   ÚpropÚclss        €r&   Úobj_set_propertyz,install_properties.<locals>.obj_set_property�  s=   ø€ Ø�z‰z×!Ñ! # sÓ+ˆÜ�s˜D $Ó'ˆÙØ�I‰I�d˜EÕ"ð r(   )Ú__dict__rf   Úitemsr5   r   r.   r…   Ú
ValueErrorÚappendr“   rL   r>   rA   r?   r7   r)   r”   r•   )rŸ   ÚgpropertiesÚpropsr.   rž   rœ   r    s   `      r&   Úinstall_propertiesr§   b  sT  ø€ ð
 —,‘,×"Ñ"Ð#4°bÓ9€Kà€EØ—l‘l×(Ñ(Ó*ò ‰
ˆˆdÜ�dœHÕ%ð —9’9Ø �”	ð �y‰y˜KÑ'Ø˜tŸy™yÑ)¨T×-@Ñ-@Ó-BÒBØÜ Ð!SÐVZ×V_ÑV_Ñ!_Ó`Ð`Ø%)×%8Ñ%8Ó%:ˆK˜Ÿ	™	Ñ"Ø�L‰L˜Õðñ  Øà%€CÔà˜CŸL™LÑ(Ð,=ÀÇÁÑ,MØò 	%ˆDØ�y‰y˜D×0Ñ0Ò0°D·I±IÀ×AUÑAUÓ4UÝð —\“\ð$ó%ð %ð	%ò)ð +€CÔô#ð
 +€CÕr(   N)&r   r   Ú
_constantsr   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r‰   rŠ   r‹   r�   r�   rŒ   r�   rŽ   r/   r   r§   r#   r(   r&   ú<module>r©      s�   ðõ( ÷7÷ 7÷ 7÷ 7÷ 7÷ 7ó 7ð �^‰^€
Ø�o‰o€Ø�<‰<€Ø�<‰<€Ø�M‰M€	Ø�M‰M€	Ø�M‰M€	Ø�^‰^€
ôxIˆvô xIóv	0+r(   