o `^ @sddlZddlZddlmZddlZddlmZmZddl m Z ddlm Z ddlm Z ddlmZddlmZejd ZgZdd lmZeZd D]Zee eee<ed ed eeeqJd D]1Zeede ee eee<Wdn1swYed ed eeeqddD]ZedddZee eee<ed ed eeeqdD]ZedddZee eee<ed ed eeeqedZ edZ!edZ"edZ#edZ$edZ%edZ&edZ'edZ(edZ)edZ*edZ+ed Z,ed!Z-ed"Z.ed#Z/ed$Z0ed%Z1ed&Z2ed'Z3ed Z4ed(Z5ed)Z6ed*Z7ed+Z8ed,Z9ej:j;Zeee<ed ed0eeeqej>j?ej>j@BZAed d1d2ed1d3D]!ZedddZeejBeee<ed ed4eeeqejCZCejDZDejEZEejFZFejGZGejHZHejIZIejJZJejKZKejLZLegd57Zd6d7iZMejNZNejOZOejPZPe jQZQejRZRegd87ZGd9d:d:ej:Z:ee:Z:ed:d;d<Zed<d=d>ZSed>d?d@ZTdAdBZUedBdCdDZVedDdEdFZWedFedGgdHZXdddIdJZYedJGdKdLdLeZZ[dMdNZ\edNdOdPZ]edPdQdRZ^edRdddSdTZ_edTdddUdVZ`edVejaZaejbZbedWdXg7ZGdYdZdZeZZcd[d\ZdGd]d^d^ejeZeeeeZeeeZGed^d g7ZGd_d`d`ejfZfeefZfed`e jgZgejhZhejiZiegZjed dadbegdc7ZdS)eN) namedtuple)overridedeprecated_attr)GLib)PyGIDeprecationWarning)_propertyhelper) _signalhelper)_giGObject)_option)markup_escape_textget_application_nameset_application_name get_prgname set_prgname main_depthfilename_display_basenamefilename_display_namefilename_from_utf8uri_list_extract_urisMainLoop MainContextmain_context_default source_removeSourceIdleTimeoutPollFDidle_add timeout_addtimeout_add_seconds io_add_watchchild_watch_addget_current_time spawn_asynczGLib.)*PRIORITY_DEFAULTPRIORITY_DEFAULT_IDLE PRIORITY_HIGHPRIORITY_HIGH_IDLE PRIORITY_LOWIO_INIO_OUTIO_PRIIO_ERRIO_HUPIO_NVALIO_STATUS_ERRORIO_STATUS_NORMAL IO_STATUS_EOFIO_STATUS_AGAINIO_FLAG_APPENDIO_FLAG_NONBLOCKIO_FLAG_IS_READABLEIO_FLAG_IS_WRITEABLEIO_FLAG_IS_SEEKABLE IO_FLAG_MASKIO_FLAG_GET_MASKIO_FLAG_SET_MASKSPAWN_LEAVE_DESCRIPTORS_OPENSPAWN_DO_NOT_REAP_CHILDSPAWN_SEARCH_PATHSPAWN_STDOUT_TO_DEV_NULLSPAWN_STDERR_TO_DEV_NULLSPAWN_CHILD_INHERITS_STDINSPAWN_FILE_AND_ARGV_ZEROOPTION_FLAG_HIDDENOPTION_FLAG_IN_MAINOPTION_FLAG_REVERSEOPTION_FLAG_NO_ARGOPTION_FLAG_FILENAMEOPTION_FLAG_OPTIONAL_ARGOPTION_FLAG_NOALIASOPTION_ERROR_UNKNOWN_OPTIONOPTION_ERROR_BAD_VALUEOPTION_ERROR_FAILEDOPTION_REMAINING glib_versionignore) G_MININT8 G_MAXINT8 G_MAXUINT8 G_MININT16 G_MAXINT16 G_MAXUINT16 G_MININT32 G_MAXINT32 G_MAXUINT32 G_MININT64 G_MAXINT64 G_MAXUINT64_) G_MINFLOAT G_MAXFLOAT G_MINDOUBLE G_MAXDOUBLE G_MINSHORT G_MAXSHORT G_MAXUSHORTG_MININTG_MAXINT G_MAXUINT G_MINLONG G_MAXLONG G_MAXULONG G_MAXSIZE G_MINSSIZE G_MAXSSIZE G_MINOFFSET G_MAXOFFSETinvalidvoid GInterfacegcharguchargbooleangintguintglonggulonggint64guint64GEnumGFlagsgfloatgdouble gchararraygpointerGBoxedGParamPyObjectGTypeGStrvGVariantGString) TYPE_INVALID TYPE_NONETYPE_INTERFACE TYPE_CHAR TYPE_UCHAR TYPE_BOOLEANTYPE_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 TYPE_GSTRING TYPE_UNICHAR TYPE_VALUE)PidGError OptionGroup OptionContext)PARAM_CONSTRUCTPARAM_CONSTRUCT_ONLYPARAM_LAX_VALIDATIONPARAM_READABLEPARAM_WRITABLEzGObject.ParamFlags.PARAM_READWRITEzGObject.ParamFlags.READWRITE) SIGNAL_ACTIONSIGNAL_DETAILEDSIGNAL_NO_HOOKSSIGNAL_NO_RECURSESIGNAL_RUN_CLEANUPSIGNAL_RUN_FIRSTSIGNAL_RUN_LASTzGObject.SignalFlags.) rr}r~rsr GObjectWeakRef GParamSpecGPointerrWarningzgeneric-c-marshallerT)featureslist_propertiesnewpygobject_version threads_init type_registerc@sJeZdZdddZeddZddZdd Zd d Zd d Z ddZ dS)ValueNcCs<tj||dur|||dur||dSdSdSN) GObjectModuler__init__init set_value)self value_typepy_valuer6/usr/lib/python3/dist-packages/gi/overrides/GObject.pyrs  zValue.__init__cCs t|Sr)r _gvalue_get_typerrrr__g_types zValue.__g_typecCs,|jtstjdtddt||dS)Nz2Calling set_boxed() on a non-boxed type deprecated stacklevel)_Value__g_typeis_arwarningswarnrr _gvalue_set)rboxedrrr set_boxeds zValue.set_boxedcCs&|jtstjdtddt|S)Nz2Calling get_boxed() on a non-boxed type deprecatedrr)rrrrrrr _gvalue_getrrrr get_boxeds  zValue.get_boxedcCs|j}|tkr||dS|tkr||dS|tkr8t|ts0|dur0td|t |ft ||dS|t krC| |dS|trO||dS|tkrZ||dS|tkre||dS|tkrp||dSz t ||WdSty|tkrtdw)NzExpected string but got %s%sz+GObject.Value needs to be initialized first)rrset_charr set_ucharr isinstancestr TypeErrortyper rr set_paramrr set_flagsr set_pointerr set_gtyper set_variantr)rrgtyperrrrs8   zValue.set_valuecCs|j}|tkr |S|tkr|S|tkr|S|tr$| S|t r-| S|t kr5| S|tkr=|S|tkrE|Szt|WStyZ|tkrYYdSwr)rrget_charr get_ucharr get_paramrrget_enumr get_flagsr get_pointerr get_gtyper dup_variantr rrr)rrrrr get_values0    zValue.get_valuecCsd|jj|fS)Nz)rnamerrrrr__repr__$zValue.__repr__)NN) __name__ __module__ __qualname__rpropertyrrrrrrrrrrrs    rcCs"t|}|tkrtd||S)Nzunknown type name: %s)rtype_from_namer RuntimeErrorrtype_rrrr,s  rcCst|}|tkr td|S)Nzno parent for type)r type_parentrr)rparentrrrr6s rcCs4t|dr|j}|s|std|dSdS)N __gtype__z1type must be instantiable or an interface, got %s)hasattrris_instantiatable is_interfacerrrrr _validate_type_for_signal_method@s  rcCst|t|Sr)rrsignal_list_idsrrrrrGs rcCst|}tdd|DS)Ncss|]}t|VqdSr)r signal_name).0irrr Qsz$signal_list_names..)rtuple)ridsrrrsignal_list_namesOsr cCst|t||Sr)rr signal_lookuprrrrr Ws r  SignalQuery) signal_idritype signal_flags return_type param_typescCsX|dur t||}t|}|dusJ|jdkrdSt|j|j|j|j|jt |j S)Nr) r r signal_queryr r rrrrrr) id_or_namerresrrrris    rc@$eZdZddZddZddZdS)_HandlerBlockManagercCs||_||_dSrobj handler_id)rrrrrrrs z_HandlerBlockManager.__init__cCdSrrrrrr __enter__z_HandlerBlockManager.__enter__cCst|j|jdSr)rsignal_handler_unblockrrrexc_type exc_value tracebackrrr__exit__rz_HandlerBlockManager.__exit__Nrrrrrr"rrrrrs rcCst||t||S)aBlocks the signal handler from being invoked until handler_unblock() is called. :param GObject.Object obj: Object instance to block handlers for. :param int handler_id: Id of signal to block. :returns: A context manager which optionally can be used to automatically unblock the handler: .. code-block:: python with GObject.signal_handler_block(obj, id): pass )rsignal_handler_blockrrrrrr$s  r$cCs0t|||\}}}|r||fStd||f)a%Parse a detailed signal name into (signal_id, detail). :param str detailed_signal: Signal name which can include detail. For example: "notify:prop_name" :returns: Tuple of (signal_id, detail) :raises ValueError: If the given signal is unknown. z%s: unknown signal name: %s)rsignal_parse_name ValueError)detailed_signalrforce_detail_quarkrr detailrrrr%s   r%cCs t||d\}}t||dS)NT)r%rsignal_remove_emission_hook)rr'hook_idr r)rrrremove_emission_hooksr,cCsd|fS)NFrihint return_accuhandler_return user_datarrrsignal_accumulator_first_winssr2cCs | |fSrrr-rrrsignal_accumulator_true_handleds r3add_emission_hook signal_newc@r)_FreezeNotifyManagercCs ||_dSr)r)rrrrrrs z_FreezeNotifyManager.__init__cCrrrrrrrrrz_FreezeNotifyManager.__enter__cCs|jdSr)r thaw_notifyrrrrr"sz_FreezeNotifyManager.__exit__Nr#rrrrr6s r6cstfdd}|S)Ncs|i|Srr)argskwargsfuncrrmethsz_signalmethod..meth) functoolswraps)r;r<rr:r _signalmethodsr?csfeZdZddZddZeZeZeZeZeZ eZ eZ eZ eZ eZeZeZeZeZejjZejjZejjZejjZeZeZeZeZejjZejj Z ejj!Z!ejj"Z"ejj#Z#ejj$Z$ejj%Z%ejj&Z&ejj'Z'ejj(Z(ejj)Z)ejj*Z*ejj+Z+ejj,Z,ejj-Z-ejj.Z.ejj/Z/fddZ0ddZ1e2Z3e4ej5Z6e4ej7Z8e4ej7Z9e4ej:Z;e4ej<Z=d d Z>e>Z?Z@S) ObjectcOtd)Nz%This method is currently unsupported.rrr8kargsrrr_unsupported_methodzObject._unsupported_methodcOrA)NzIData access methods are unsupported. Use normal Python attributes insteadrBrCrrr_unsupported_data_methodrFzObject._unsupported_data_methodcstt|t|S)aFreezes the object's property-changed notification queue. :returns: A context manager which optionally can be used to automatically thaw notifications. This will freeze the object so that "notify" signals are blocked until the thaw_notify() method is called. .. code-block:: python with obj.freeze_notify(): pass )superr@ freeze_notifyr6r __class__rrrI,szObject.freeze_notifycsv|dd}|tjj@rtjj}ntjj}|tjj@r/t |dkr(t d|gfdd}n}||||g|RS)aConnect a callback to the given signal with optional user data. :param str detailed_signal: A detailed signal to connect to. :param callable handler: Callback handler to connect to the signal. :param *data: Variable data which is passed through to the signal handler. :param GObject.ConnectFlags connect_flags: Flags used for connection options. :returns: A signal id which can be used with disconnect. connect_flagsrr]zWUsing GObject.ConnectFlags.SWAPPED requires exactly one argument for user data, got: %scs*t|}|}||g}|g|RSr)listpop)rr8swaphandlerrr new_handlerWs z(Object.connect_data..new_handler) getr ConnectFlagsAFTERr r connect_afterconnectSWAPPEDlenr&)rr'rQdatar9flags connect_funcrRrrPr connect_data>s     zObject.connect_datacCstj|jjtdd||S)z-Deprecated, please use stop_emission_by_name.rr)rr stop_emission__doc__rstop_emission_by_name)rr'rrrr^rs zObject.stop_emission)ArrrrErGget_data get_qdataset_data steal_data steal_qdata replace_data replace_qdatabind_property_fullcompat_controlinterface_find_propertyinterface_install_propertyinterface_list_propertiesnotify_by_pspec watch_closurerr@ref_refref_sink _ref_sinkunref_unrefforce_floating_force_floatingr r get_propertyget_properties set_propertyset_properties bind_propertyrWrVconnect_objectconnect_object_afterdisconnect_by_funchandler_block_by_funchandler_unblock_by_funcemitchainweak_ref__copy__ __deepcopy__rIr]r$ handler_blockr?rhandler_unblocksignal_handler_disconnect disconnecthandler_disconnectsignal_handler_is_connectedhandler_is_connectedsignal_stop_emission_by_namer`r^emit_stop_by_name __classcell__rrrJrr@sh )      r@cs$eZdZddZfddZZS)BindingcCstjdtdd|S)NzUsing parentheses (binding()) to retrieve the Binding object is no longer needed because the binding is returned directly from "bind_property.rr)rrrrrrr__call__szBinding.__call__csRtjtjtjfdkrtt|St|drtdt |ddtt|dS)N)r9_unboundz$binding has already been cleared outT) r MAJOR_VERSION MINOR_VERSION MICRO_VERSIONrHrunbindrr&setattrrrJrrrs   zBinding.unbind)rrrrrrrrrJrrsrrzGObject.Property)PropertySignalSignalOverriderr)kr=r collectionsr gi.modulegi gi.overridesrr gi.repositoryrrrpropertyhelperr signalhelperr moduleget_introspection_moduler__all__r optionrgetattrglobalsappendcatch_warnings simplefiltersplitnew_namerrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr ParamFlagsREADABLEWRITABLEr SignalFlagsrr}r~rsr rrrrrrrrrrrrrrr r r robjectrr$r%r,r2r3r4r5r6r?r@rrrrrrrrrs,                                               ^