File: //lib64/python3.6/site-packages/gi/__pycache__/_propertyhelper.cpython-36.opt-1.pyc
3
��<_�:  �               @   s�   d dl Z d dlZddlmZ ddlmZmZmZmZm	Z	m
Z
mZmZm
Z
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ ejZejZejZej Z ej!Z!ej"Z"ej#Z#ej$Z$e j%d
kr�e&Z'e(Z)ne*Z'e+Z)G dd� de,�Z-dd	� Z.dS )�    N�   )�_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_VARIANT�   c               @   sN  e Zd ZdZeeeeee	e
eee
eeiZedededee ee eeeeed/iZeeeeed1ed3eeeeeeeeiZedededededede
dededi	Z G d	d
� d
e!�Z"dddddde#j$ddf	dd
�Z%dd� Z&dd� Z'dd� Z(dd� Z)dd� Z*dd� Z+dd� Z,dd� Z-dd� Z.d d!� Z/d"d#� Z0d$d%� Z1d&d'� Z2d(d)� Z3d*d+� Z4d,d-� Z5dS )4�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
    r   �   �?   r   �@   � g        c               @   s   e Zd Zdd� ZdS )zProperty.__metaclass__c             C   s   dS )Nz<class 'GObject.Property'>� )�selfr"