Your IP : 18.220.110.45
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"