\d ddlmZddlmZGddZdZedkr'ddlmZedd d dd l m Z e ed Sd S)) Delegator)WidgetRedirectorc<eZdZdZdZd dZd dZdZdZdZ dS) Percolatorc(||_t||_t|x|_|_|jd|j|j_|jd|j|j_g|_ dS)Ninsertdelete) textrredirrtopbottomregisterrr filters)selfr s #..\python\lib\idlelib\percolator.py__init__zPercolator.__init__ss %d++ !*404;!Z004;GG !Z004;GG  c|j|jur(||j|j|ju(d|_|jdd|_|jd|_d|_dSN)r r removefilter setdelegater closer )rs rrzPercolator.closeshdk))   dh ' ' 'hdk)) %%%    rNc>|j|||dSr)r r)rindexcharstagss rrzPercolator.inserts  ud+++++rc<|j||dSr)r r )rindex1index2s rr zPercolator.deletes '''''rct|tsJ|jJ||j||_dSr) isinstancerdelegaterr )rfilters r insertfilterzPercolator.insertfilter"sG&),,,,,&&&48$$$rcdt|tsJt|tsJ|jJ|j}|||ur*||jusJ|j}|||u*||j||dSr)r!rr"r resetcacher r)rr#afterfs rinsertfilterafterzPercolator.insertfilterafter)s&),,,,,%+++++&&& H unnDK'''' A LLNNNunn 1:&&& frcpt|tsJ|jJ|j}||ur#|j|_|ddS|j|ur/||jusJ||j}|j|u/||j|ddSr)r!rr"r rr r&)rr#r(s rrzPercolator.removefilter8s&),,,,,*** H ;;DH   t $ $ $ $ $*F** ++++ J*F** MM&/ * * *   t $ $ $ $ $rr) __name__ __module__ __qualname__rrrr r$r)rrrrrs,,,,((((   %%%%%rrc8 ddl}Gddt}||}|dt t |ddd\}}|d||dzfz||}t|}|j |j |d |d  fd } fd } | | |||d |} | | |||d| } | dS)Nrc eZdZdZdZdZdS)_percolator..Tracerc>||_tj|ddSr)namerr)rr3s rrz$_percolator..Tracer.__init__Ms"DI  tT * * * * *rcPt|jd||jj|dS)Nz: insert)printr3r"rrargss rrz"_percolator..Tracer.insertQ. $)Z . . . DM $ ' ' ' 'rcPt|jd||jj|dS)Nz: delete)r5r3r"r r6s rr z"_percolator..Tracer.deleteUr8rN)r+r,r-rrr r.rrTracerr1LsA + + + ( ( ( ( ( ( ( (rr:zTest Percolator+z+%d+%dt1t2cJrndSrget)pinpoutr>var1srtoggle1z_percolator..toggle1d* $ $b)))))rcJrndSrrA)rCrDr?var2srtoggle2z_percolator..toggle2frGrTracer1)r commandvariableTracer2)tkinterrTopleveltitlemapintgeometrysplitTextrr$rpackIntVar Checkbutton)parenttkr:boxxyr prFrJcb1cb2rCrDr>r?rErIs @@@@@@r _percolatorrbIs ( ( ( ( ( ( ( ( ++f  CII   sFOO%%++C004 5 5DAqLLQCL())) 773<D B B**************** IIKKK 99V  D ..9g. M MCHHJJJ 99V  D ..9g. M MCHHJJJJJr__main__)mainz!idlelib.idle_test.test_percolatorF) verbosityexit)runN) idlelib.delegatorridlelib.redirectorrrrbr+unittestrdidlelib.idle_test.htestrhr.rrrms''''''//////A%A%A%A%A%A%A%A%H&&&P zD ,FFFF++++++C  r