;i ddlZddlmZddlmZmZddlmZddlm Z  ddl m Z n #e $rddl m Z Gdd ee Z YnwxYwGd d e ZGd d eZdS)N)Thread)AnyCallable)Self) escape_string)StrEnum)EnumceZdZdS)rN)__name__ __module__ __qualname__AC:\PYTHON\MyICR_Workspace\venv\Lib\site-packages\webview/state.pyrrs rrceZdZdZdZdS)StateEventTypechangedeleteN)r r r CHANGEDELETErrrrrs F FFFrrceZdZdZdZdZddZdfd ZdZd Z d e d e fd e fd Z d e d e fd e fdZd e d e fd e fdZd e d e fd e fdZxZS)StateFc"g|_||_dSN)_State__event_handlers_State__window)selfwindows r__init__zState.__init__s " rcd|z}d|dttj|d}|j|dS)N__pywebviewHaltUpdate__zwindow.pywebview.state.z = JSON.parse('z'))rjsondumpsrrun_js)rkeyvalue special_keyscripts r __update_jszState.__update_jssU/#5 k;kk}UYU_`eUfUfGgGgkkk V$$$$$rNcffd}t|}|dS)NcjD]L}t|r;tjkr|/tjkr |MdSr)rcallablerrr)handlerr%rtyper&s rnotify_handlersz0State.__notify_handlers..notify_handlers$sw0 2 2G$$2~444c51111!666c5111  2 2r)target)rstart)rr.r%r&r/ts```` r__notify_handlerszState.__notify_handlers#sQ 2 2 2 2 2 2 2 2 / * * *  rTcfd}dr$tdSvs kru<|s#tjdSjjj r |dSjjxj|z c_dSdS)NcvtjdSr)_State__update_js_State__notify_handlersrr)r%rr&srupdate_and_notifyz,State.__setattr__..update_and_notify0s:   S% ( ( (  " ">#8#u E E E E Er_State__) startswithsuper __setattr__r7rrreventsloadedis_set)rr%r&should_update_jsr8 __class__s``` rr<zState.__setattr__/s F F F F F F F >>* % %  GG  U + + + F d??d3i500DI# &&~'>3 4 4 ++7<#8#y I I I I I!!ZT$ZZ%7!Z!ZTW!Z!Z!Z[[ [ritem.returnc:|j||SrrappendrrNs r__add__z State.__add__] $$T*** rc:|j||SrrremoverSs r__sub__z State.__sub__arUrc:|j||SrrQrSs r__iadd__zState.__iadd__erUrc:|j||SrrWrSs r__isub__zState.__isub__irUrr)T)r r r _serializablerr6r7r<rGrMrrrrTrYr[r] __classcell__)rAs@rrrsJM%%%    AAAAAA*XXX \\\(HS#X.4HS#X.4Xc3h/DXc3h/Drr)r" threadingrtypingrrtyping_extensionsr webview.utilrenumr ImportErrorr strrdictrrrrrhsA  """"""&&&&&&         #t      W TTTTTDTTTTTs'AA