ó {fc@sÇddlZddlTddlmZdefd„ƒYZddd„ƒYZdefd „ƒYZd efd „ƒYZd efd „ƒYZd„Z e dkrÃddl m Z e e ƒndS(iÿÿÿÿN(t*(t Delegatort UndoDelegatorcBsªeZdZd„Zd„Zd„Zd„Zd„Zd„ZdZ d„Z dZ d „Z dd „Zdd „Zd „Zd „Zed„Zd„Zd„ZRS(iècCstj|ƒ|jƒdS(N(Rt__init__t reset_undo(tself((s-/usr/lib64/python2.7/idlelib/UndoDelegator.pyRs cCs•|jdk r9|jdƒ|jdƒ|jdƒntj||ƒ|dk r‘|jd|jƒ|jd|jƒ|jd|jƒndS(Ns<>s<>s<>( tdelegatetNonetunbindRt setdelegatetbindt undo_eventt redo_eventt dump_event(RR((s-/usr/lib64/python2.7/idlelib/UndoDelegator.pyR s   cCslddlm}||j|j ƒdG|jGdG|jGdG|jGdG|jƒGH||j|jƒdS(Niÿÿÿÿ(tpprintspointer:ssaved:s can_merge:s get_saved():tbreak(Rtundolisttpointertsavedt can_merget get_saved(RteventR((s-/usr/lib64/python2.7/idlelib/UndoDelegator.pyR &s   cCs5d|_d|_g|_d|_|jdƒdS(Niÿÿÿÿii(t was_savedRRt undoblockt set_saved(R((s-/usr/lib64/python2.7/idlelib/UndoDelegator.pyR0s     cCs5|r|j|_n d|_t|_|jƒdS(Niÿÿÿÿ(RRtFalseRt check_saved(Rtflag((s-/usr/lib64/python2.7/idlelib/UndoDelegator.pyR7s   cCs|j|jkS(N(RR(R((s-/usr/lib64/python2.7/idlelib/UndoDelegator.pyR?scCs ||_dS(N(tsaved_change_hook(Rthook((s-/usr/lib64/python2.7/idlelib/UndoDelegator.pytset_saved_change_hookDsiÿÿÿÿcCsA|jƒ}||jkr=||_|jr=|jƒq=ndS(N(RRR(Rtis_saved((s-/usr/lib64/python2.7/idlelib/UndoDelegator.pyRIs    cCs|jt|||ƒƒdS(N(taddcmdt InsertCommand(Rtindextcharsttags((s-/usr/lib64/python2.7/idlelib/UndoDelegator.pytinsertPscCs|jt||ƒƒdS(N(R t DeleteCommand(Rtindex1tindex2((s-/usr/lib64/python2.7/idlelib/UndoDelegator.pytdeleteSscCs/|jdkrtƒ|_n|jjƒdS(Ni(RtCommandSequencet bump_depth(R((s-/usr/lib64/python2.7/idlelib/UndoDelegator.pytundo_block_startascCsz|jjdƒdkrv|j}d|_t|ƒdkrvt|ƒdkr`|jdƒ}n|j|dƒqvndS(Niÿÿÿÿii(RR+tlentgetcmdR (Rtcmd((s-/usr/lib64/python2.7/idlelib/UndoDelegator.pytundo_block_stopfs  cCs-|r|j|jƒn|jdkr<|jj|ƒdS|jr~|jdkr~|j|jd}|j|ƒr~dSn|g|j|j)|j|jkr¯d|_n|jd|_t |jƒ|j kr|jd=|jd|_|jdkr|jd|_qnt |_|j ƒdS(Niiiÿÿÿÿ( tdoRRtappendRRRtmergeRR-tmax_undotTrueR(RR/texecutetlastcmd((s-/usr/lib64/python2.7/idlelib/UndoDelegator.pyR rs(   cCsh|jdkr|jƒdS|j|jd}|j|jƒ|jd|_t|_|jƒdS(NiRi(RtbellRtundoRRRR(RRR/((s-/usr/lib64/python2.7/idlelib/UndoDelegator.pyR ‰s   cCsm|jt|jƒkr&|jƒdS|j|j}|j|jƒ|jd|_t|_|jƒdS(NRi( RR-RR8tredoRRRR(RRR/((s-/usr/lib64/python2.7/idlelib/UndoDelegator.pyR ”s   N(t__name__t __module__R4RR R RRRRRRRRR%R)R,R0R5R R R (((s-/usr/lib64/python2.7/idlelib/UndoDelegator.pyRs$           tCommandcBsYeZdZdd„Zd„Zd„Zd„Zd„Zd„Z d„Z d„Z RS( cCsCi|_i|_||_||_||_|r?||_ndS(N(t marks_beforet marks_afterR'R(R#R$(RR'R(R#R$((s-/usr/lib64/python2.7/idlelib/UndoDelegator.pyR¦s     cCsT|jj}|j|j|j|jf}|jdkrF|d }n|t|ƒS(Niÿÿÿÿ(t __class__R;R'R(R#R$Rtrepr(Rtstt((s-/usr/lib64/python2.7/idlelib/UndoDelegator.pyt__repr__¯s   cCsdS(N((Rttext((s-/usr/lib64/python2.7/idlelib/UndoDelegator.pyR1¶scCsdS(N((RRE((s-/usr/lib64/python2.7/idlelib/UndoDelegator.pyR:¹scCsdS(N((RRE((s-/usr/lib64/python2.7/idlelib/UndoDelegator.pyR9¼scCsdS(Ni((RR/((s-/usr/lib64/python2.7/idlelib/UndoDelegator.pyR3¿scCsOi}xB|jƒD]4}|dkr|dkr|j|ƒ||send-1cs%s+%dc( RJR>R"R'tcompareR%R#R$R-R(R?(RRE((s-/usr/lib64/python2.7/idlelib/UndoDelegator.pyR1Õs(cCsS|jd|jƒ|j|j|j|jƒ|j||jƒ|jdƒdS(NR%(RLR'R%R#R$RMR?tsee(RRE((s-/usr/lib64/python2.7/idlelib/UndoDelegator.pyR:àscCsM|jd|jƒ|j|j|jƒ|j||jƒ|jdƒdS(NR%(RLR'R)R(RMR>RP(RRE((s-/usr/lib64/python2.7/idlelib/UndoDelegator.pyR9çscCs³|j|jk rtS|j|jkr,tS|j|jkrBtSt|jƒdkr[tS|jr|j|jdƒ|j|jƒkrtS|j|_|j|j|_tS(Niiÿÿÿÿ( R@RR(R'R$R-R#tclassifyR5(RR/((s-/usr/lib64/python2.7/idlelib/UndoDelegator.pyR3îs ( t_cCs'||jkrdS|dkr#dSdS(Nt alphanumerics tnewlinet punctuation(RS(Rtc((s-/usr/lib64/python2.7/idlelib/UndoDelegator.pyRQs  N( R;R<RRR1R:R9R3tstringt ascii_letterstdigitsRSRQ(((s-/usr/lib64/python2.7/idlelib/UndoDelegator.pyR!Îs    R&cBs/eZdd„Zd„Zd„Zd„ZRS(cCstj|||ddƒdS(N(R=RR(RR'R(((s-/usr/lib64/python2.7/idlelib/UndoDelegator.pyR scCsÕ|j|ƒ|_|j|jƒ|_|jrH|j|jƒ|_n|j|jdƒ|_|j|jddƒrŽ|jdƒ|_n|j|j|jƒ|_|j|j|jƒ|j|ƒ|_ dS(Ns +1cRNsend-1c( RJR>R"R'R(ROtgetR#R)R?(RRE((s-/usr/lib64/python2.7/idlelib/UndoDelegator.pyR1s cCsM|jd|jƒ|j|j|jƒ|j||jƒ|jdƒdS(NR%(RLR'R)R(RMR?RP(RRE((s-/usr/lib64/python2.7/idlelib/UndoDelegator.pyR:scCsM|jd|jƒ|j|j|jƒ|j||jƒ|jdƒdS(NR%(RLR'R%R#RMR>RP(RRE((s-/usr/lib64/python2.7/idlelib/UndoDelegator.pyR9%sN(R;R<RRR1R:R9(((s-/usr/lib64/python2.7/idlelib/UndoDelegator.pyR&s   R*cBsSeZd„Zd„Zd„Zd„Zd„Zd„Zd„Zdd„Z RS( cCsg|_d|_dS(Ni(tcmdstdepth(R((s-/usr/lib64/python2.7/idlelib/UndoDelegator.pyR1s cCsS|jj}g}x%|jD]}|jd|fƒqW|ddj|ƒdS(Ns %rs( s, s )(R@R;R[R2tjoin(RRBtstrsR/((s-/usr/lib64/python2.7/idlelib/UndoDelegator.pyRD5s  cCs t|jƒS(N(R-R[(R((s-/usr/lib64/python2.7/idlelib/UndoDelegator.pyt__len__<scCs|jj|ƒdS(N(R[R2(RR/((s-/usr/lib64/python2.7/idlelib/UndoDelegator.pyR2?scCs |j|S(N(R[(Rti((s-/usr/lib64/python2.7/idlelib/UndoDelegator.pyR.BscCs%x|jD]}|j|ƒq WdS(N(R[R:(RRER/((s-/usr/lib64/python2.7/idlelib/UndoDelegator.pyR:EscCs6|j}|jƒx|D]}|j|ƒqWdS(N(R[treverseR9(RRER[R/((s-/usr/lib64/python2.7/idlelib/UndoDelegator.pyR9Is   icCs|j||_|jS(N(R\(Rtincr((s-/usr/lib64/python2.7/idlelib/UndoDelegator.pyR+Os( R;R<RRDR_R2R.R:R9R+(((s-/usr/lib64/python2.7/idlelib/UndoDelegator.pyR*,s       c sgddlm}tƒ}|jdƒttttjd|j ƒƒƒƒ\}}}}|j d||dfƒt |ƒ}|j ddƒ|j ƒ|j ƒ||ƒ}tƒ‰|jˆƒt|d d d ‡fd †ƒ} | j d dƒt|d dd ‡fd†ƒ} | j d dƒt|d dd ‡fd†ƒ} | j d dƒ|jƒdS(Niÿÿÿÿ(t PercolatorsTest UndoDelegators[x+]s+%d+%di–theighti REtUndotcommandcs ˆjdƒS(N(R R((td(s-/usr/lib64/python2.7/idlelib/UndoDelegator.pytbttsidetlefttRedocs ˆjdƒS(N(R R((Rg(s-/usr/lib64/python2.7/idlelib/UndoDelegator.pyRhdRitDumpcs ˆjdƒS(N(R R((Rg(s-/usr/lib64/python2.7/idlelib/UndoDelegator.pyRhfRi(tidlelib.PercolatorRctTkttitletlisttmaptinttretsplittgeometrytTexttconfigtpackt focus_setRt insertfiltertButtontmainloop( tparentRctroottwidthRdtxtyREtpR9R:tdump((Rgs-/usr/lib64/python2.7/idlelib/UndoDelegator.pyt_undo_delegatorSs&  3      !!!t__main__(trun(( RWtTkintertidlelib.DelegatorRRR=R!R&R*R…R;tidlelib.idle_test.htestR‡(((s-/usr/lib64/python2.7/idlelib/UndoDelegator.pyts  .:$'