3 2aH@s"ddlZddlZddlZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd ZdZdZdZdZdZdZdZdZdZdZdTZdUZdVZdWZdXZdYZej dkrd^Z!eeeefZ"ndcZ!eeeefZ"e#d d!e$e%e!DZ&d"Z'Gd#d$d$Z(e$de%e!>Z)d%d!e)DZ*d&d'Z+e+e)Z,gZ-xNe)D]FZ.dZ/x0e$e%e!D] Z0de0>e.@r2e/e"e0OZ/q2We-j1e/qWGd(d)d)Z2d{Z3e2fde(fe%e3dZ4e#dCd!e$e%e3DZ5ej6dDZ7ej6dEZ8dFdGZ9dHdIZ:iZ;dJdKZdNkrddOl?m@Z@e@dPddQdRddSlAmBZBeBe=dS)|N darwinShiftControlOptionCommandAltMetaMcCs"g|]}t|D] }||fqqS) _modifiers).0numbernamer r ./opt/alt/python36/lib64/python3.6/multicall.py 7sr&zapplication has been destroyedc@s,eZdZddZddZddZddZd S) _SimpleBindercCs8||_dt|dd|_||_||_g|_d|_dS)N)type_typessequencewidget widgetinst bindedfuncs handlerid)selfr*r-r.r r r%__init__Js z_SimpleBinder.__init__cCs>|js.|j|jfdd}|jj|j|j||_|jj|dS)NcSsT||_i}xDtt|dddD],}||}||kr d||<||}|r |Sq WdS)NrTr3)mc_typerangelen)eventlr4 wascalledifuncrr r r%handlerTsz#_SimpleBinder.bind..handler)r0r/r*r-bindr.r,append)r1tripletr;r=r r r%r>Rs   z_SimpleBinder.bindcCs2|jj||js.|jj|j|j|jd|_dS)N)r/remover-unbindr.r,r0)r1r@r;r r r%rBbs z_SimpleBinder.unbindcCsZ|jrVy|jj|j|j|jWn4tjk rT}zt|jdkrDWYdd}~XnXdS)Nr) r0r-rBr.r,tkinterTclErrorAPPLICATION_GONEargs)r1er r r%__del__hs z_SimpleBinder.__del__N)__name__ __module__ __qualname__r2r>rBrHr r r r%r'Isr'cs(g|] djfddttDqS)c3s*|]"\}}d|>@r|ddVqdS)rr-Nr )r"r:m)sr r% wsz.)join enumerater!)r"r )rOr%r&wscsPdd}g}x>|D]6ttfdd|D}|j|dd|j|qW|S)NcSs(d}x|r"t|d\}}||7}qW|S)Nrr)divmod)nnbZremr r r%nbitss  zexpand_substates..nbitsc3s|]}|@VqdS)Nr )r"x)stater r%rPsz#expand_substates..T)keyreverse)listsetsortr?)ZstatesrVZ statelistZ substatesr )rXr%expand_substates|s r^c@s4eZdZddZddZddZddZd d Zd S) _ComplexBindercCs||||j|jfdd}|S)Nc Ssdg|dd<||_||_i}d}xZ|D]R}xFtt|dddD].} || } | |krBd|| <|| |}|rBPqBW|r(Pq(Wg|dd<x|D] } | qWg|dd<|r|SdS)NTrr3r3)r4mc_stater5r6) r7listsr4r`ishandlerrunningdoafterhandlerr9r<r8r:r;fr r r%r=s*      z0_ComplexBinder.__create_handler..handler)rbrc)r1rar4r`r=r r r%Z__create_handlers z_ComplexBinder.__create_handlercs|_t|d_|_|_dddtDi_g_g_g_ xhtD]`}fddt |D}j ||t |}dt |jd}jj|jjj||fqLWdS)NrcSsg|]}gqSr r )r"rOr r r%r&sz+_ComplexBinder.__init__..csg|]}jd|qS)N)r/)r"r:)r1r r%r&sr(r))r*r+typenamer-r._statesr/ handleridsrbrc_state_subsets_ComplexBinder__create_handler _state_codes _state_namesr?r>)r1r*r-r.rOrar=seqr )r1r%r2s z_ComplexBinder.__init__csdjkrddtDjd<xrtD]jfddddfD}j|jt}dtjdf}jj|j j j ||fq,Wfdd}j s|n j j|dS)NrcSsg|]}gqSr r )r"rOr r r%r&sz'_ComplexBinder.bind..cs(g|] }tD]}j||qqSr )rhr/)r"detailr:)rOr1r r%r&sz <%s%s-%s>csjddjS)Nrr)r/r?r )r;r1r@r r%sz%_ComplexBinder.bind..)r/rfrir*rjrkrergr?r-r>r.rbrc)r1r@r;rar=rldoitr )r;rOr1r@r%r>s    z_ComplexBinder.bindcs.fdd}js|n jj|dS)NcsjddjS)Nrr)r/rAr )r;r1r@r r%rnsz'_ComplexBinder.unbind..)rbrcr?)r1r@r;ror )r;r1r@r%rBsz_ComplexBinder.unbindcCsdx^|jD]T\}}y|jj|j||Wqtjk rZ}zt|jdkrJWYdd}~XqXqWdS)Nr)rgr-rBr.rCrDrErF)r1rlidrGr r r%rHs z_ComplexBinder.__del__N)rIrJrKrir2r>rBrHr r r r%r_s r_KeyPressKey KeyRelease ButtonPressButton ButtonReleaseActivate CirculateColormap Configure DeactivateDestroyEnterExposeFocusInFocusOutGravityLeaveMapMotion MouseWheelPropertyReparentUnmap VisibilitycCs"g|]}t|D] }||fqqSr )r+)r"r#r$r r r%r&sz^\w+$z^[1-5]$cCs| s|ddks|d dkr"dS|dd jd}d}x.|rf|dtkrf|dt|d>O}|d=q:W|r|dtkrt|d}|d=ndSt|tkr|s|rdSd}nP|ddd Dkrt}nt}|sd}n*t|dko|j|dr|d}ndS|||fS) Nrr(rr)rMcSsg|] }t|qSr ) _type_names)r"rOr r r%r&$sz#_parse_sequence..rqrsr3r3)rqrs) split_modifier_namesr_binder_classesr' _keysym_re _button_rer6match)r,Zwords modifiersr*rmZtype_rer r r%_parse_sequence s0    rcCs`|dr8dt|dt|ddd|ddSdt|dt|dddSdS)Nrr(rrrMr))rkr+)r@r r r%_triplet_to_sequence2s0rcs0tkrtSGfddd}|t<|S)NcsbeZdZfddZdfdd Zdfdd Zfdd Zfd d Zdfd d ZddZ dS)z#MultiCallCreator..MultiCallcs:jf||i_fddtttD_dS)Ncsg|]}t||qSr )r)r"r:)r1r-r r%r&Ksz@MultiCallCreator..MultiCall.__init__..)r2_MultiCall__eventinfor5r6r+_MultiCall__binders)r1rFkwargs)r-)r1r%r2Es z,MultiCallCreator..MultiCall.__init__Ncst|tkrt|dkr|dddkr|dddkr||jkr|j|}|ddk rx*|dD]}|j|dj||dqbW||d<|ddk rx6|dD]}|j|dj||qWn|gg|j|<j||||S)Nrz<>rr)r*strr6rrrBr>)r1r,r;addZeir@)r-r r%r>Ns     z(MultiCallCreator..MultiCall.bindcst|tkrt|dkr|dddkr|dddkr||jkr|j|\}}|dk rx"|D]}|j|dj||q^Wd|j|d<j|||S)Nrz<>rrr)r*rr6rrrB)r1r,Zfuncidr;tripletsr@)r-r r%rB`s   z*MultiCallCreator..MultiCall.unbindcs||jkrdgg|j|<|j|\}}xT|D]L}t|}|dkrPj|||q,|dk rn|j|dj|||j|q,WdS)Nr)rr event_addrr>r?)r1virtual sequencesr;rrlr@)r-r r%rks  z-MultiCallCreator..MultiCall.event_addcsv||jkrdS|j|\}}xT|D]L}t|}|dkrFj|||q"|dk rd|j|dj|||j|q"WdS)Nr)rr event_deleterrBrA)r1rrr;rrlr@)r-r r%r|s  z0MultiCallCreator..MultiCall.event_deletecsF|dks||jkrj||Sttt|j|dj||SdS)Nr)r event_infotuplemapr)r1r)r-r r%rs  z.MultiCallCreator..MultiCall.event_infocSsx~|jD]t}|j|\}}|rx\|D]T}y|j|dj||Wq$tjk rv}zt|jdkrfWYdd}~Xq$Xq$WqWdS)Nrr)rrrBrCrDrErF)r1rr;rr@rGr r r%rHs  z+MultiCallCreator..MultiCall.__del__)NNN)N)N) rIrJrKr2r>rBrrrrHr )r-r r% MultiCallBs   r)_multicall_dict)r-rr )r-r%MultiCallCreator:s [rcstj|}|jdtt|jjddd\}}|jd||dfttj|j dgffdd }|d |d |d |d |d |d|d|d|d|d|d|ddS)NzTest MultiCall+rz+%d+%drcsHfdd}jd|d|jd|d|dd7<dS)Ncs tdS)N)print)r7)rlr r%r=sz-_multi_call..bindseq..handlerz <>rr)r>r)rlrTr=)text)rlr%bindseqs z_multi_call..bindseqzz z zzzzz zz zz) rCZTopleveltitlerintZgeometryrrZTextpack)parenttoprWyrr )rr% _multi_calls&   r__main__)mainzidlelib.idle_test.test_mainmenuF) verbosityexit)runrrr @rrrr)rrrrrrrrr)rrrrrqrrrsrtrurvrwrxryrzr{r|r}r~rrrrrrrrrrr)rrrrrrrrrrrrrrrrrrrrrrr)CresysrCZ MC_KEYPRESSZ MC_KEYRELEASEZMC_BUTTONPRESSZMC_BUTTONRELEASEZ MC_ACTIVATEZ MC_CIRCULATEZ MC_COLORMAPZ MC_CONFIGUREZ MC_DEACTIVATEZ MC_DESTROYZMC_ENTERZ MC_EXPOSEZ MC_FOCUSINZ MC_FOCUSOUTZ MC_GRAVITYZMC_LEAVEZMC_MAPZ MC_MOTIONZ MC_MOUSEWHEELZ MC_PROPERTYZ MC_REPARENTZMC_UNMAPZ MC_VISIBILITYZMC_SHIFTZ MC_CONTROLZMC_ALTZMC_METAZ MC_OPTIONZ MC_COMMANDplatformr!Z_modifier_masksdictr5r6rrEr'rfrkr^rhrjrOr<r:r?r_r+rrcompilerrrrrrrrIZunittestrZidlelib.idle_test.htestrr r r r%s   - `  'g