B ^UO@s"ddlZddlZddlZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd ZdZdZdZdZdZdZdZdZdZdZdZdZd ZdZdZdZej dkrdZ!eeeefZ"ndZ!eeeefZ"e#dde$e%e!DZ&d Z'Gd!d"d"Z(e$de%e!>Z)d#de)DZ*d$d%Z+e+e)Z,gZ-xNe)D]FZ.dZ/x0e$e%e!D] Z0de0>e.@r2e/e"e0OZ/q2We-1e/qWGd&d'd'Z2d(Z3e2fde(fe%e3dZ4e#d)de$e%e3DZ5e6d*Z7e6d+Z8d,d-Z9d.d/Z:iZ;d0d1Zd4krdd5l?m@Z@e@d6dd7d8dd9lAmBZBeBe=dS):N  @darwin))Shift)Control)ZOption)ZCommand))r)ZAlt)r)ZMetaMcCs"g|]}t|D] }||fqqS) _modifiers).0numbernamerr4/opt/alt/python37/lib/python3.7/idlelib/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-rrr$__init__Js z_SimpleBinder.__init__cCs>|js.|j|jfdd}|j|j|j||_|j|dS)NcSsT||_i}xDtt|dddD],}||}||kr d||<||}|r |Sq WdS)NrT)mc_typerangelen)eventlr3 wascalledifuncrrrr$handlerTsz#_SimpleBinder.bind..handler)r/r.r)r,bindr-r+append)r0tripletr:r<rrr$r=Rs   z_SimpleBinder.bindcCs2|j||js.|j|j|j|jd|_dS)N)r.remover,unbindr-r+r/)r0r?r:rrr$rAbs z_SimpleBinder.unbindc CsZ|jrVy|j|j|j|jWn4tjk rT}zt|jdkrDWdd}~XYnXdS)Nr) r/r,rAr-r+tkinterTclErrorAPPLICATION_GONEargs)r0errr$__del__hs z_SimpleBinder.__del__N)__name__ __module__ __qualname__r1r=rArGrrrr$r&Isr&cs(g|] dfddttDqS)c3s*|]"\}}d|>@r|ddVqdS)rr-Nr)r!r9m)srr$ wsz.)join enumerater )r!r)rNr$r%wscsPdd}g}x>|D]6ttfdd|D}|j|dd||qW|S)NcSs(d}x|r"t|d\}}||7}qW|S)Nrr)divmod)nnbZremrrr$nbitss  zexpand_substates..nbitsc3s|]}|@VqdS)Nr)r!x)staterr$rOsz#expand_substates..T)keyreverse)listsetsortr>)ZstatesrUZ statelistZ substatesr)rWr$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)NTrr2)r3mc_stater4r5) r6listsr3r_ishandlerrunningdoafterhandlerr8r;r7r9r:frrr$r<s*      z0_ComplexBinder.__create_handler..handler)rarb)r0r`r3r_r<rrr$Z__create_handlers z_ComplexBinder.__create_handlerc s|_t|d_|_|_dddtDi_g_g_g_ xhtD]`}fddt |D} ||t |}dt |jd}j|jj||fqLWdS)NrcSsg|]}gqSrr)r!rNrrr$r%sz+_ComplexBinder.__init__..csg|]}jd|qS)N)r.)r!r9)r0rr$r%sr'r()r)r*typenamer,r-_statesr. handleridsrarb_state_subsets_ComplexBinder__create_handler _state_codes _state_namesr>r=)r0r)r,r-rNr`r<seqr)r0r$r1s z_ComplexBinder.__init__c sdjkrddtDjd<xrtD]jfddddfD}|jt}dtjdf}j|j j ||fq,Wfdd}j s|n j |dS)NrcSsg|]}gqSrr)r!rNrrr$r%sz'_ComplexBinder.bind..cs(g|] }tD]}j||qqSr)rgr.)r!detailr9)rNr0rr$r%sz <%s%s-%s>csjddS)Nrr)r.r>r)r:r0r?rr$z%_ComplexBinder.bind..)r.rerhr)rirjrdrfr>r,r=r-rarb)r0r?r:r`r<rkdoitr)r:rNr0r?r$r=s    z_ComplexBinder.bindcs.fdd}js|n j|dS)NcsjddS)Nrr)r.r@r)r:r0r?rr$rmrnz'_ComplexBinder.unbind..)rarbr>)r0r?r:ror)r:r0r?r$rAsz_ComplexBinder.unbindc Csdx^|jD]T\}}y|j|j||Wqtjk rZ}zt|jdkrJWdd}~XYqXqWdS)Nr)rfr,rAr-rBrCrDrE)r0rkidrFrrr$rGs z_ComplexBinder.__del__N)rHrIrJrhr1r=rArGrrrr$r^s r^))KeyPressZKey) KeyRelease)Z ButtonPressZButton)Z ButtonRelease)ZActivate)Z Circulate)ZColormap)Z Configure)Z Deactivate)ZDestroy)ZEnter)ZExpose)ZFocusIn)ZFocusOut)ZGravity)ZLeave)ZMap)ZMotion)Z MouseWheel)ZProperty)ZReparent)ZUnmap)Z VisibilitycCs"g|]}t|D] }||fqqSr)r*)r!r"r#rrr$r%sz^\w+$z^[1-5]$cCs|r|ddks|ddkr dS|ddd}d}x.|rd|dtkrd|dt|d>O}|d=q8W|r|dtkrt|d}|d=ndSt|tkr|s|rdSd}nN|ddd Dkrt}nt}|sd}n(t|dkr||dr|d}ndS|||fS) Nrr'r2r(rrLcSsg|] }t|qSr) _type_names)r!rNrrr$r%$sz#_parse_sequence..)rqrr) split_modifier_namesrs_binder_classesr& _keysym_re _button_rer5match)r+Zwords modifiersr)rlZtype_rerrr$_parse_sequence s0    r{cCs`|dr8dt|dt|ddd|ddSdt|dt|dddSdS)Nrr'rrrLr()rjr*)r?rrr$_triplet_to_sequence2s0r|cs0tkrtSGfddd}|t<|S)NcsbeZdZfddZdfdd Zdfdd Zfdd Zfd d Zdfd d ZddZ dS)z#MultiCallCreator..MultiCallcs:jf||i_fddtttD_dS)Ncsg|]}t||qSr)rv)r!r9)r0r,rr$r%Ksz@MultiCallCreator..MultiCall.__init__..)r1_MultiCall__eventinfor4r5r*_MultiCall__binders)r0rEkwargs)r,)r0r$r1Es z,MultiCallCreator..MultiCall.__init__Ncst|tkrt|dkr|dddkr|dddkr||jkr|j|}|ddk rx*|dD]}|j|d||dqbW||d<|ddk rx6|dD]}|j|d||qWn|gg|j|<||||S)Nrz<>rr)r)strr5r}r~rAr=)r0r+r:addZeir?)r,rr$r=Ns     z(MultiCallCreator..MultiCall.bindcst|tkrt|dkr|dddkr|dddkr||jkr|j|\}}|dk rx"|D]}|j|d||q^Wd|j|d<|||S)Nrz<>rr)r)rr5r}r~rA)r0r+Zfuncidr:tripletsr?)r,rr$rA`s   z*MultiCallCreator..MultiCall.unbindcs||jkrdgg|j|<|j|\}}xT|D]L}t|}|dkrP|||q,|dk rn|j|d||||q,WdS)Nr)r}r{ event_addr~r=r>)r0virtual sequencesr:rrkr?)r,rr$rks  z-MultiCallCreator..MultiCall.event_addcsv||jkrdS|j|\}}xT|D]L}t|}|dkrF|||q"|dk rd|j|d||||q"WdS)Nr)r}r{ event_deleter~rAr@)r0rrr:rrkr?)r,rr$r|s  z0MultiCallCreator..MultiCall.event_deletecsF|dks||jkr||Sttt|j|d||SdS)Nr)r} event_infotuplemapr|)r0r)r,rr$rs  z.MultiCallCreator..MultiCall.event_infoc Ssx~|jD]t}|j|\}}|rx\|D]T}y|j|d||Wq$tjk rv}zt|jdkrfWdd}~XYq$Xq$WqWdS)Nrr)r}r~rArBrCrDrE)r0rr:rr?rFrrr$rGs  z+MultiCallCreator..MultiCall.__del__)NNN)N)N) rHrIrJr1r=rArrrrGr)r,rr$ MultiCallBs   r)_multicall_dict)r,rr)r,r$MultiCallCreator:s [rcst|}|dtt|ddd\}}|d||dfttj| dgffdd }|d |d |d |d |d |d|d|d|d|d|d|ddS)NzTest MultiCall+rz+%d+%drcsHfdd}d|d|d|d|dd7<dS)Ncs tdS)N)print)r6)rkrr$r<sz-_multi_call..bindseq..handlerz <>rr)r=r)rkrSr<)text)rkr$bindseqs z_multi_call..bindseqzz z zzzzz zz zz) rBZTopleveltitlerintZgeometryrtrZTextpack)parenttoprVyrr)rr$ _multi_calls&   r__main__)mainzidlelib.idle_test.test_mainmenuF) verbosityexit)run)CresysrBZ 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_masksdictr4r5rurDr&rerjr]rgrirNr;r9r>r^r*rvrscompilerwrxr{r|rrrrHZunittestrZidlelib.idle_test.htestrrrrr$s   - `   'g