a b^^c @sddlZddlZddlmZddlZddlmZmZddl m Z ddlm Z ddlm Z ddlmZddlmZejd ZgZdd lmZeZd D].Zee eee<ed ed eeeqd D]dZe,ede ee eee<Wdn1s0Yed ed eeeqdD]@ZedddZee eee<ed ed eeeq2dD]@ZedddZee eee<ed ed eeeqxedZ 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]BZedddZeejBeee<ed ed4eeeq~ejCZCejDZDejEZEejFZFejGZGejHZHejIZIejJZJejKZKejLZLegd57Zd6d7iZMejNZNejOZOejPZPe jQZQejRZRegd87ZGd9d:d:ej:Z:ee:Z:ed:d;d<Zed<d=d>ZSed>d?d@ZTdAdBZUedBdCdDZVedDdEdFZWedFedGgdHZXdddIdJZYedJGdKdLdLeZZ[dMdNZ\edNdOdPZ]edPdQdRZ^edRdedSdTZ_edTdfdUdVZ`edVejaZaejbZbedWdXg7ZGdYdZdZeZZcd[d\ZdGd]d^d^ejeZeeeeZeeeZGed^d g7ZGd_d`d`ejfZfeefZfed`e jgZgejhZhejiZiegZjed dadbegdc7ZdS)gN) namedtuple)overridedeprecated_attr)GLib)PyGIDeprecationWarning)_propertyhelper) _signalhelper)_giGObject)_option)Zmarkup_escape_textZget_application_nameZset_application_nameZ get_prgnameZ set_prgnameZ main_depthZfilename_display_basenameZfilename_display_nameZfilename_from_utf8Zuri_list_extract_urisZMainLoopZ MainContextZmain_context_defaultZ source_removeZSourceZIdleZTimeoutZPollFDZidle_addZ timeout_addZtimeout_add_secondsZ io_add_watchZchild_watch_addZget_current_timeZ spawn_asynczGLib.)*ZPRIORITY_DEFAULTZPRIORITY_DEFAULT_IDLEZ PRIORITY_HIGHZPRIORITY_HIGH_IDLEZ PRIORITY_LOWZIO_INZIO_OUTZIO_PRIZIO_ERRZIO_HUPZIO_NVALZIO_STATUS_ERRORZIO_STATUS_NORMALZ IO_STATUS_EOFZIO_STATUS_AGAINZIO_FLAG_APPENDZIO_FLAG_NONBLOCKZIO_FLAG_IS_READABLEZIO_FLAG_IS_WRITEABLEZIO_FLAG_IS_SEEKABLEZ IO_FLAG_MASKZIO_FLAG_GET_MASKZIO_FLAG_SET_MASKZSPAWN_LEAVE_DESCRIPTORS_OPENZSPAWN_DO_NOT_REAP_CHILDZSPAWN_SEARCH_PATHZSPAWN_STDOUT_TO_DEV_NULLZSPAWN_STDERR_TO_DEV_NULLZSPAWN_CHILD_INHERITS_STDINZSPAWN_FILE_AND_ARGV_ZEROZOPTION_FLAG_HIDDENZOPTION_FLAG_IN_MAINZOPTION_FLAG_REVERSEZOPTION_FLAG_NO_ARGZOPTION_FLAG_FILENAMEZOPTION_FLAG_OPTIONAL_ARGZOPTION_FLAG_NOALIASZOPTION_ERROR_UNKNOWN_OPTIONZOPTION_ERROR_BAD_VALUEZOPTION_ERROR_FAILEDZOPTION_REMAININGZ glib_versionZignore) Z G_MININT8Z G_MAXINT8Z G_MAXUINT8Z G_MININT16Z G_MAXINT16Z G_MAXUINT16Z G_MININT32Z G_MAXINT32Z G_MAXUINT32Z G_MININT64Z G_MAXINT64Z G_MAXUINT64Z_i)Z G_MINFLOATZ G_MAXFLOATZ G_MINDOUBLEZ G_MAXDOUBLEZ G_MINSHORTZ G_MAXSHORTZ G_MAXUSHORTZG_MININTZG_MAXINTZ G_MAXUINTZ G_MINLONGZ G_MAXLONGZ G_MAXULONGZ G_MAXSIZEZ G_MINSSIZEZ G_MAXSSIZEZ G_MINOFFSETZ G_MAXOFFSETZinvalidZvoid GInterfaceZgcharZgucharZgbooleanZgintZguintZglongZgulongZgint64Zguint64GEnumGFlagsZgfloatZgdoubleZ gchararrayZgpointerGBoxedZGParamZPyObjectGTypeZGStrvZGVariantZGString) 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)ZPidZGErrorZ OptionGroupZ OptionContext)ZPARAM_CONSTRUCTZPARAM_CONSTRUCT_ONLYZPARAM_LAX_VALIDATIONZPARAM_READABLEZPARAM_WRITABLEzGObject.ParamFlags.PARAM_READWRITEzGObject.ParamFlags.READWRITE)Z SIGNAL_ACTIONZSIGNAL_DETAILEDZSIGNAL_NO_HOOKSZSIGNAL_NO_RECURSEZSIGNAL_RUN_CLEANUPZSIGNAL_RUN_FIRSTZSIGNAL_RUN_LASTzGObject.SignalFlags.) rr rr r GObjectWeakRef GParamSpecGPointerrWarningzgeneric-c-marshallerT)featureslist_propertiesnewpygobject_version threads_init type_registerc@sJeZdZdddZeddZddZdd Zd d Zd d Z ddZ dS)ValueNcCs4tj||dur0|||dur0||dSN) GObjectModuler8__init__Zinit set_value)selfZ value_typepy_valuer?8/usr/lib/python3.9/site-packages/gi/overrides/GObject.pyr;s   zValue.__init__cCs t|Sr9)rZ_gvalue_get_typer=r?r?r@Z__g_typeszValue.__g_typecCs,|jtstjdtddt||dS)Nz2Calling set_boxed() on a non-boxed type deprecatedZ stacklevel)_Value__g_typeis_ar#warningswarnrr _gvalue_set)r=Zboxedr?r?r@ set_boxeds  zValue.set_boxedcCs&|jtstjdtddt|S)Nz2Calling get_boxed() on a non-boxed type deprecatedrBrC)rDrEr#rFrGrr _gvalue_getrAr?r?r@ get_boxeds  zValue.get_boxedcCs|j}|tkr||n|tkr.||n|tkrjt|ts\|dur\td|t |ft ||n|t kr~| |n|tr||nv|tkr||nb|tkr||nN|tkr||n:zt ||Wn(ty|tkrtdYn0dS)NzExpected string but got %s%sz+GObject.Value needs to be initialized first)rDrZset_charrZ set_ucharr!Z isinstanceZstr TypeErrorZtyperrHr$Z set_paramrErZ set_flagsr"Z set_pointerr'Z set_gtyper)Z set_variantr)r=r>gtyper?r?r@r<s6          zValue.set_valuecCs|j}|tkr|S|tkr&|S|tkr6|S|trH| S|t rZ| S|t krj| S|tkrz|S|tkr|Sz t|WSty|tkrYdSYn0dSr9)rDrZget_charrZ get_ucharr$Z get_paramrErZget_enumrZ get_flagsr"Z get_pointerr'Z get_gtyper)Z dup_variantrrJrLr)r=rMr?r?r@ get_values.    zValue.get_valuecCsd|jj|fS)Nz)rDnamerNrAr?r?r@__repr__$szValue.__repr__)NN) __name__ __module__ __qualname__r;propertyrDrIrKr<rNrPr?r?r?r@r8s    r8cCs"t|}|tkrtd||S)Nzunknown type name: %s)r:type_from_namer RuntimeErrorrOtype_r?r?r@rU,s  rUcCst|}|tkrtd|S)Nzno parent for type)r: type_parentrrV)rXZparentr?r?r@rY6s rYcCs0t|dr|j}|s,|s,td|dS)N __gtype__z1type must be instantiable or an interface, got %s)hasattrrZZis_instantiatableZ is_interfacerLrXr?r?r@ _validate_type_for_signal_method@s r]cCst|t|Sr9)r]r:signal_list_idsr\r?r?r@r^Gsr^cCst|}tdd|DS)Ncss|]}t|VqdSr9)r: signal_name)Z.0Zir?r?r@Z Qsz$signal_list_names..)r^tuple)rXZidsr?r?r@signal_list_namesOsracCst|t||Sr9)r]r: signal_lookuprWr?r?r@rbWsrb SignalQuery) signal_idr_itype signal_flags return_type param_typescCsX|durt||}t|}|dus(J|jdkr6dSt|j|j|j|j|jt |j S)Nr) rbr: signal_queryrdrcr_rerfrgr`rh)Z id_or_namerXresr?r?r@riis    ric@s$eZdZddZddZddZdS)_HandlerBlockManagercCs||_||_dSr9obj handler_id)r=rmrnr?r?r@r;sz_HandlerBlockManager.__init__cCsdSr9r?rAr?r?r@ __enter__sz_HandlerBlockManager.__enter__cCst|j|jdSr9)r:signal_handler_unblockrmrnr=Zexc_typeZ exc_valueZ tracebackr?r?r@__exit__sz_HandlerBlockManager.__exit__NrQrRrSr;rorrr?r?r?r@rksrkcCst||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 )r:signal_handler_blockrkrlr?r?r@rts rtcCs4t|||\}}}|r ||fStd||fdS)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: %sN)r:signal_parse_name ValueError)detailed_signalreZforce_detail_quarkrjrddetailr?r?r@rus  rucCs t||d\}}t||dS)NT)rur:Zsignal_remove_emission_hook)rmrwZhook_idrdrxr?r?r@remove_emission_hooksrycCsd|fS)NFr?ZihintZ return_accuZhandler_returnZ user_datar?r?r@signal_accumulator_first_winssr{cCs | |fSr9r?rzr?r?r@signal_accumulator_true_handledsr|add_emission_hook signal_newc@s$eZdZddZddZddZdS)_FreezeNotifyManagercCs ||_dSr9)rm)r=rmr?r?r@r;sz_FreezeNotifyManager.__init__cCsdSr9r?rAr?r?r@rosz_FreezeNotifyManager.__enter__cCs|jdSr9)rmZ thaw_notifyrqr?r?r@rrsz_FreezeNotifyManager.__exit__Nrsr?r?r?r@rsrcstfdd}|S)Ncs|i|Sr9r?)argskwargsfuncr?r@methsz_signalmethod..meth) functoolsZwraps)rrr?rr@ _signalmethodsrcsjeZdZddZddZeZeZeZeZeZ eZ eZ eZ eZ eZeZeZeZeZeZejjZejjZejjZejjZeZeZeZeZejj 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/ejj0Z0fddZ1ddZ2e3Z4e5ej6Z7e5ej8Z9e5ej8Z:e5ej;Zd d Z?e?Z@ZAS) ObjectcOs tddS)Nz%This method is currently unsupported.rVr=rZkargsr?r?r@_unsupported_methodszObject._unsupported_methodcOs tddS)NzIData access methods are unsupported. Use normal Python attributes insteadrrr?r?r@_unsupported_data_methodszObject._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_notifyrrAZ __class__r?r@r-szObject.freeze_notifycsv|dd}|tjj@r"tjj}ntjj}|tjj@r^t |dkrPt 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. Z connect_flagsrr zWUsing GObject.ConnectFlags.SWAPPED requires exactly one argument for user data, got: %scs*t|}|}||g}|g|RSr9)ZlistZpop)rmrZswaphandlerr?r@ new_handlerXs z(Object.connect_data..new_handler) Zgetr:Z ConnectFlagsZAFTERrr connect_afterconnectZSWAPPEDZlenrv)r=rwrZdatarZflagsZ connect_funcrr?rr@ connect_data?s     zObject.connect_datacCstj|jjtdd||S)z-Deprecated, please use stop_emission_by_name.rBrC)rFrG stop_emissionZ__doc__rstop_emission_by_name)r=rwr?r?r@rsszObject.stop_emission)BrQrRrSrrZget_dataZ get_qdataZset_dataZ steal_dataZ steal_qdataZ replace_dataZ replace_qdataZbind_property_fullZcompat_controlZinterface_find_propertyZinterface_install_propertyZinterface_list_propertiesZnotify_by_pspecZ run_disposeZ watch_closurer:rZrefZ_refZref_sinkZ _ref_sinkZunrefZ_unrefZforce_floatingZ_force_floatingrr Z get_propertyZget_propertiesZ set_propertyZset_propertiesZ bind_propertyrrZconnect_objectZconnect_object_afterZdisconnect_by_funcZhandler_block_by_funcZhandler_unblock_by_funcZemitZchainZweak_refZ__copy__Z __deepcopy__rrrtZ handler_blockrrpZhandler_unblockZsignal_handler_disconnectZ disconnectZhandler_disconnectZsignal_handler_is_connectedZhandler_is_connectedZsignal_stop_emission_by_namerrZemit_stop_by_name __classcell__r?r?rr@rsh )     rcs$eZdZddZfddZZS)BindingcCstjdtdd|S)NzUsing parentheses (binding()) to retrieve the Binding object is no longer needed because the binding is returned directly from "bind_property.rBrC)rFrGrrAr?r?r@__call__szBinding.__call__csTtjtjtjfdkr"tt|St|dr6tdnt |ddtt|dS)N)rBi9iZ_unboundz$binding has already been cleared outT) rZ MAJOR_VERSIONZ MINOR_VERSIONZ MICRO_VERSIONrrunbindr[rvZsetattrrArr?r@rs    zBinding.unbind)rQrRrSrrrr?r?rr@rsrrTzGObject.Property)PropertySignalSignalOverriderT)N)N)N)krrFZ collectionsrZ gi.moduleZgiZ gi.overridesrrZ gi.repositoryrrrZpropertyhelperrZ signalhelperrZmoduleZget_introspection_moduler:Z__all__r ZoptionrOZgetattrZglobalsZappendZcatch_warningsZ simplefilterZsplitZnew_namerUrrrrrrrrrrrrrrrr r!r"r#r$r%r&r'r(r)r*r8rZr,r+Z ParamFlagsZREADABLEZWRITABLEr-Z SignalFlagsrr rr r r.r/r0rr1r2r3r4r5r6r7rYr]r^rarbrcriZobjectrkrtruryr{r|r}r~rrrrrrrrTr?r?r?r@Zs(            0                                ^