raiddlmZddlmZGddZdZedk(r ddlmZedd d dd l m Z e ey y )) Delegator)WidgetRedirectorc:eZdZdZdZd dZd dZdZdZdZ y) PercolatorcB||_t||_t|x|_|_|jj d|j|j _|jj d|j|j _g|_ y)Ninsertdelete) textrredirrtopbottomregisterrr filters)selfr s 9/opt/alt/python312/lib64/python3.12/idlelib/percolator.py__init__zPercolator.__init__sp %d+ !*404;!ZZ004;;G !ZZ004;;G  c>|j|jur4|j|j|j|jur4d|_|jjdd|_|jj d|_d|_yN)r r removefilter setdelegater closer )rs rrzPercolator.closesthhdkk)   dhh 'hhdkk) %    rNc>|jj|||yr)r r)rindexcharstagss rrzPercolator.inserts ud+rc<|jj||yr)r r )rindex1index2s rr zPercolator.deletes 'rct|tsJ|jJ|j|j||_yr) isinstancerdelegaterr )rfilters r insertfilterzPercolator.insertfilter"s;&),,,&&&488$rcbt|tsJt|tsJ|jJ|j}|j ||ur1||j usJ|j}|j ||ur1|j |j|j |yr)r!rr"r resetcacher r)rr#afterfs rinsertfilterafterzPercolator.insertfilterafter)s&),,,%+++&&& HH unDKK' '' A LLNun 1::& frct|tsJ|jJ|j}||ur#|j|_|j dy|j|ur;||j usJ|j |j}|j|ur;|j |j|j dyr)r!rr"r rr r&)rr#r(s rrzPercolator.removefilter8s&),,,*** HH ;DH   t $**F* +++ JJ**F* MM&// *   t $rr) __name__ __module__ __qualname__rrrr r$r)rrrrrs%,( %rrc ddl}Gddt}|j|}|jdt t |j jddd\}}|j d||dzfz|j|}t|}|j |j |d |d  fd } fd } |j|j|j||j|d |} | j|j||j|d| } | jy)NrceZdZdZdZdZy)_percolator..Tracerc>||_tj|dyr)namerr)rr3s rrz$_percolator..Tracer.__init__MsDI   tT *rcdt|jd||jj|y)Nz: insert)printr3r"rrargss rrz"_percolator..Tracer.insertQ& $))Z . DMM $ 'rcdt|jd||jj|y)Nz: delete)r5r3r"r r6s rr z"_percolator..Tracer.deleteUr8rN)r+r,r-rrr r.rrTracerr1Ls + ( (rr:zTest Percolator+z+%d+%dt1t2cFjryyrget)pinpoutr>var1srtoggle1z_percolator..toggle1d $ b)b)rcFjryyrrA)rCrDr?var2srtoggle2z_percolator..toggle2frGrTracer1)r commandvariableTracer2)tkinterrTopleveltitlemapintgeometrysplitTextrr$rpack focus_setIntVar Checkbutton)parenttkr:r xyr prFrJcb1cb2rCrDr>r?rErIs @@@@@@r _percolatorrbIs% ( ( ++f CII sFOO%++C04 5DAqLLQCL() 773>D B B** IIKNN 99V D ..9g. MCHHJ 99V D ..9g. MCHHJr__main__)mainz!idlelib.idle_test.test_percolatorF) verbosityexit)runN) idlelib.delegatorridlelib.redirectorrrrbr+unittestrdidlelib.idle_test.htestrhr.rrrmsH'/A%A%H'T z ,F+  r