a  ze: @shddlmZddlmZGdddZddZedkrdddlmZed d d d dd l m Z e edS)) Delegator)WidgetRedirectorc@s@eZdZddZddZdddZddd Zd d Zd d ZdS) PercolatorcCsR||_t||_t||_|_|jd|j|j_|jd|j|j_g|_ dS)Ninsertdelete) textrredirrtopbottomregisterrrfilters)selfrrF/opt/bitninja-python-dojo/embedded/lib/python3.9/idlelib/percolator.py__init__s  zPercolator.__init__cCsL|j|jur||jqd|_|jdd|_|jd|_d|_dSN)r r removefilter setdelegatercloser)r rrrrs   zPercolator.closeNcCs|j|||dSr)r r)r indexcharstagsrrrrszPercolator.insertcCs|j||dSr)r r)r Zindex1index2rrrrszPercolator.deletecCs||j||_dSr)rr )r filterrrr insertfilter"s zPercolator.insertfiltercCsV|j}||ur"|j|_|dn0|j|ur<||j}q"||j|ddSr)r delegaterZ resetcache)r rfrrrr)s   zPercolator.removefilter)N)N) __name__ __module__ __qualname__rrrrrrrrrrrs    rc sddl}Gdddt}||}|dtt|ddd\}}|d||df||}t |}|j |j |d |d fd d }fd d} | | ||j|d|d} | | ||j|d| d} | dS)Nrc@s$eZdZddZddZddZdS)z_percolator..TracercSs||_t|ddSr)namerr)r r rrrr>sz$_percolator..Tracer.__init__cWst|jd||jj|dS)Nz: insert)printr rrr argsrrrrBsz"_percolator..Tracer.insertcWst|jd||jj|dS)Nz: delete)r!r rrr"rrrrFsz"_percolator..Tracer.deleteN)rrrrrrrrrrTracer=sr$zTest Percolator+z+%d+%dt1t2csr ndSrgetr)pinpoutr(var1rrtoggle1Usz_percolator..toggle1csr ndSrr*r)r,r-r)var2rrtoggle2Wsz_percolator..toggle2ZTracer1)rZcommandvariableZTracer2)tkinterrZTopleveltitlemapintZgeometrysplitTextrrrpackZIntVarZ Checkbutton) parentZtkr$Zboxxyrpr/r1Zcb1Zcb2r)r,r-r(r)r.r0r _percolator:s*      r>__main__)mainz!idlelib.idle_test.test_percolatorF) verbosityexit)runN) Zidlelib.delegatorrZidlelib.redirectorrrr>rZunittestr@Zidlelib.idle_test.htestrDrrrrs  5(