
    .hh                     |    S SK Jr  S SKJr   " S S5      rS r\S:X  a  S SKJr  \" SS	S
S9  S SK	J
r
  \
" \5        gg)    )	Delegator)WidgetRedirectorc                   F    \ rS rSrS rS rSS jrSS jrS rS r	S	 r
S
rg)
Percolator   c                 @   Xl         [        U5      U l        [        U5      =U l        U l        U R                  R                  SU R                  5      U R
                  l        U R                  R                  SU R                  5      U R
                  l        / U l	        g )Ninsertdelete)
textr   redirr   topbottomregisterr	   r
   filters)selfr   s     ;/opt/python-3.13.8/usr/lib/python3.13/idlelib/percolator.py__init__Percolator.__init__   sn    	%d+
!*404;!ZZ004;;G!ZZ004;;G    c                 D   U R                   U R                  La6  U R                  U R                   5        U R                   U R                  La  M6  S U l         U R                  R                  S 5        S U l        U R                  R                  5         S U l        S U l        g N)r   r   removefiltersetdelegater   closer   )r   s    r   r   Percolator.close   st    hhdkk)dhh' hhdkk)%


	r   Nc                 <    U R                   R                  XU5        g r   )r   r	   )r   indexcharstagss       r   r	   Percolator.insert   s    d+r   c                 :    U R                   R                  X5        g r   )r   r
   )r   index1index2s      r   r
   Percolator.delete   s    'r   c                     [        U[        5      (       d   eUR                  b   eUR                  U R                  5        Xl        g r   )
isinstancer   delegater   r   )r   filters     r   insertfilterPercolator.insertfilter"   s<    &),,,,&&&488$r   c                 z   [        U[        5      (       d   e[        U[        5      (       d   eUR                  b   eU R                  nUR	                  5         X2La2  X0R
                  Ld   eUR                  nUR	                  5         X2La  M2  UR                  UR                  5        UR                  U5        g r   )r&   r   r'   r   
resetcacher   r   )r   r(   afterfs       r   insertfilterafterPercolator.insertfilterafter)   s    &),,,,%++++&&&HH	nKK'''

ALLN n
 	1::&	fr   c                    [        U[        5      (       d   eUR                  c   eU R                  nX!L a#  UR                  U l        UR	                  S 5        g UR                  ULa=  X R
                  Ld   eUR                  5         UR                  nUR                  ULa  M=  UR	                  UR                  5        UR	                  S 5        g r   )r&   r   r'   r   r   r   r,   )r   r(   r.   s      r   r   Percolator.removefilter8   s    &),,,,***HH;DHt$**F*+++JJ **F* MM&//*t$r   )r   r   r   r   r   r   )__name__
__module____qualname____firstlineno__r   r   r	   r
   r)   r/   r   __static_attributes__ r   r   r   r      s%    ,(%r   r   c                   ^^^^^^ SS K n " S S[        5      nUR                  U 5      nUR                  S5        [	        [
        U R                  5       R                  S5      SS  5      u  pEUR                  SXES-   4-  5        UR                  U5      n[        U5      nUR                  mUR                  mU" S	5      mU" S
5      mUUUU4S jnUUUU4S jn	UR                  5         UR                  5         UR                  U 5      mUR                  USUTS9n
U
R                  5         UR                  U 5      mUR                  USU	TS9nUR                  5         g )Nr   c                   &    \ rS rSrS rS rS rSrg)_percolator.<locals>.TracerL   c                 >    Xl         [        R                  " U S 5        g r   )namer   r   )r   r>   s     r   r   $_percolator.<locals>.Tracer.__init__M   s    ItT*r   c                 d    [        U R                  SU5        U R                  R                  " U6   g )Nz: insert)printr>   r'   r	   r   argss     r   r	   "_percolator.<locals>.Tracer.insertQ   $    $))Z.MM  $'r   c                 d    [        U R                  SU5        U R                  R                  " U6   g )Nz: delete)rA   r>   r'   r
   rB   s     r   r
   "_percolator.<locals>.Tracer.deleteU   rE   r   )r>   N)r3   r4   r5   r6   r   r	   r
   r7   r8   r   r   Tracerr;   L   s    	+	(	(r   rH   zTest Percolator+   z+%d+%d   t1t2c                  D   > TR                  5       (       a  T OT" T5        g r   get)pinpoutrL   var1s   r   toggle1_percolator.<locals>.toggle1d       

	$b)r   c                  D   > TR                  5       (       a  T OT" T5        g r   rO   )rQ   rR   rM   var2s   r   toggle2_percolator.<locals>.toggle2f   rV   r   Tracer1)r   commandvariableTracer2)tkinterr   TopleveltitlemapintgeometrysplitTextr   r)   r   pack	focus_setIntVarCheckbutton)parenttkrH   r   xyr   prT   rY   cb1cb2rQ   rR   rL   rM   rS   rX   s               @@@@@@r   _percolatorrr   I   s+   ( ( ++f
CII sFOO%++C045DALLQCL()773<D4A
..C>>D	B	B* ** * 	IIKNN99VD
..9g.
MCHHJ99VD
..9g.
MCHHJr   __main__)mainz!idlelib.idle_test.test_percolator   F)	verbosityexit)runN)idlelib.delegatorr   idlelib.redirectorr   r   rr   r3   unittestrt   idlelib.idle_test.htestrx   r8   r   r   <module>r}      sH    ' /A% A%H'T z	,F+ r   