3 § f: ã@shddlmZddlmZGdd„dƒZdd„ZedkrdddlmZed d d d �dd l m Z e eƒdS)é)Ú Delegator)ÚWidgetRedirectorc@s@eZdZdd„Zdd„Zddd„Zddd „Zd d „Zd d „ZdS)Ú PercolatorcCsR||_t|ƒ|_t|ƒ|_|_|jjd|jƒ|j_|jjd|jƒ|j_g|_ dS)NÚinsertÚdelete) ÚtextrÚredirrÚtopÚbottomÚregisterrrÚfilters)Úselfr©rú7/opt/alt/python36/lib64/python3.6/idlelib/percolator.pyÚ__init__s  zPercolator.__init__cCsPx|j|jk r|j|jƒqWd|_|jjdƒd|_|jjƒd|_d|_dS)N)r r Ú removefilterÚ setdelegaterÚcloser)r rrrrs  zPercolator.closeNcCs|jj|||ƒdS)N)r r)r ÚindexÚcharsZtagsrrrrszPercolator.insertcCs|jj||ƒdS)N)r r)r Zindex1Zindex2rrrrszPercolator.deletecCs2t|tƒst‚|jdkst‚|j|jƒ||_dS)N)Ú isinstancerÚAssertionErrorÚdelegaterr )r ÚfilterrrrÚ insertfilter"s zPercolator.insertfiltercCs„t|tƒst‚|jdk st‚|j}||kr>|j|_|jdƒnBx*|j|k rh||jk sXt‚|jƒ|j}q@W|j|jƒ|jdƒdS)N)rrrrr rr Z resetcache)r rÚfrrrr)s    zPercolator.removefilter)N)N) Ú__name__Ú __module__Ú __qualname__rrrrrrrrrrrs    rc sddl}Gdd„dtƒ}|j|ƒ}|jdƒtt|jƒjdƒdd…ƒ\}}|jd||dfƒ|j|ƒ}t |ƒ}|j ‰|j ‰|d ƒ‰|d ƒ‰‡‡‡‡fd d „}‡‡‡‡fd d„} |j ƒ|j |ƒ‰|j|d|ˆd�} | j ƒ|j |ƒ‰|j|d| ˆd�} | j ƒdS)Nrc@s$eZdZdd„Zdd„Zdd„ZdS)z_percolator..TracercSs||_tj|dƒdS)N)Únamerr)r rrrrr>sz$_percolator..Tracer.__init__cWst|jd|ƒ|jj|ŽdS)Nz: insert)Úprintrrr)r ÚargsrrrrBsz"_percolator..Tracer.insertcWst|jd|ƒ|jj|ŽdS)Nz: delete)r rrr)r r!rrrrFsz"_percolator..Tracer.deleteN)rrrrrrrrrrÚTracer=sr"zTest Percolatorú+éz+%d+%dé¯Út1Út2csˆjƒr ˆnˆˆƒdS)N)Úgetr)ÚpinÚpoutr&Úvar1rrÚtoggle1Usz_percolator..toggle1csˆjƒr ˆnˆˆƒdS)N)r(r)r)r*r'Úvar2rrÚtoggle2Wsz_percolator..toggle2ZTracer1)rZcommandZvariableZTracer2)ZtkinterrZToplevelÚtitleÚmapÚintZgeometryÚsplitZTextrrrZpackZIntVarZ Checkbutton) ÚparentZtkr"ZboxÚxÚyrÚpr,r.Zcb1Zcb2r)r)r*r&r'r+r-rÚ _percolator:s*      r7Ú__main__)Úmainz!idlelib.idle_test.test_percolatoréF)Ú verbosityÚexit)ÚrunN) Zidlelib.delegatorrZidlelib.redirectorrrr7rZunittestr9Zidlelib.idle_test.htestr=rrrrÚs  5(