
    d                         d dl mZ d dlmZ  G d d          Zd Zedk    r'd dlmZ  edd	d
           d dl	m
Z
  e
e           dS dS )    )	Delegator)WidgetRedirectorc                   <    e Zd Zd Zd Zd	dZd	dZd Zd Zd Z	dS )

Percolatorc                 (   || _         t          |          | _        t          |          x| _        | _        | j                            d| j                  | j        _        | j                            d| j                  | j        _        g | _	        d S )Ninsertdelete)
textr   redirr   topbottomregisterr   r	   filters)selfr
   s     $  /croot/python-split_1694437901252/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/lib/python3.11/idlelib/percolator.py__init__zPercolator.__init__   ss    	%d++
!*404;!Z004;GG!Z004;GG    c                    | j         | j        ur(|                     | j                    | j         | j        u(d | _         | j                            d            d | _        | j                                         d | _        d | _        d S N)r   r   removefiltersetdelegater   closer
   )r   s    r   r   zPercolator.close   s    hdk))dh''' hdk))%%%

			r   Nc                 >    | j                             |||           d S r   )r   r   )r   indexcharstagss       r   r   zPercolator.insert   s     ud+++++r   c                 <    | j                             ||           d S r   )r   r	   )r   index1index2s      r   r	   zPercolator.delete   s    '''''r   c                     t          |t                    sJ |j        J |                    | j                   || _        d S r   )
isinstancer   delegater   r   )r   filters     r   insertfilterzPercolator.insertfilter"   sG    &),,,,,&&&48$$$r   c                 d   t          |t                    sJ t          |t                    sJ |j        J | j        }|                                 ||ur*|| j        usJ |j        }|                                 ||u*|                    |j                   |                    |           d S r   )r!   r   r"   r   
resetcacher   r   )r   r#   afterfs       r   insertfilterafterzPercolator.insertfilterafter)   s    &),,,,,%+++++&&&H	unnDK''''
ALLNNN unn
 	1:&&&	fr   c                 p   t          |t                    sJ |j        J | j        }||u r#|j        | _        |                    d            d S |j        |ur/|| j        usJ |                                 |j        }|j        |u/|                    |j                   |                    d            d S r   )r!   r   r"   r   r   r   r&   )r   r#   r(   s      r   r   zPercolator.removefilter8   s    &),,,,,***H;;DHt$$$$$*F**++++J *F** MM&/***t$$$$$r   r   )
__name__
__module____qualname__r   r   r   r	   r$   r)   r    r   r   r   r      s            , , , ,( ( ( (    % % % % %r   r   c                 8   dd l } G d dt                    }|                    |           }|                    d           t	          t
          |                                                     d          dd                    \  }}|                    d||dz   fz             |                    |          }t          |          }|j
        |j         |d	           |d
          fd}fd}	|                                 |                    |           |                    |d|          }
|
                                 |                    |           |                    |d|	          }|                                 d S )Nr   c                        e Zd Zd Zd Zd ZdS )_percolator.<locals>.Tracerc                 >    || _         t          j        | d            d S r   )namer   r   )r   r3   s     r   r   z$_percolator.<locals>.Tracer.__init__M   s"    DItT*****r   c                 P    t          | j        d|            | j        j        |  d S )Nz: insert)printr3   r"   r   r   argss     r   r   z"_percolator.<locals>.Tracer.insertQ   .    $)Z... DM $''''r   c                 P    t          | j        d|            | j        j        |  d S )Nz: delete)r5   r3   r"   r	   r6   s     r   r	   z"_percolator.<locals>.Tracer.deleteU   r8   r   N)r+   r,   r-   r   r   r	   r.   r   r   Tracerr1   L   sA        	+ 	+ 	+	( 	( 	(	( 	( 	( 	( 	(r   r:   zTest Percolator+   z+%d+%d   t1t2c                  J                                      r n           d S r   get)pinpoutr>   var1s   r   toggle1z_percolator.<locals>.toggle1d   *    	$

	$b)))))r   c                  J                                      r n           d S r   rA   )rC   rD   r?   var2s   r   toggle2z_percolator.<locals>.toggle2f   rG   r   Tracer1)r
   commandvariableTracer2)tkinterr   TopleveltitlemapintgeometrysplitTextr   r$   r   packIntVarCheckbutton)parenttkr:   boxxyr
   prF   rJ   cb1cb2rC   rD   r>   r?   rE   rI   s               @@@@@@r   _percolatorrb   I   s   ( ( ( ( ( ( ( ( ++f

CII   sFOO%%++C00455DAqLLQCL()))773<<D4A
.C>D	B	B* * * * * * * ** * * * * * * * 	IIKKK99VD
..9g.
M
MCHHJJJ99VD
..9g.
M
MCHHJJJJJr   __main__)mainz!idlelib.idle_test.test_percolator   F)	verbosityexit)runN)idlelib.delegatorr   idlelib.redirectorr   r   rb   r+   unittestrd   idlelib.idle_test.htestrh   r.   r   r   <module>rm      s    ' ' ' ' ' ' / / / / / /A% A% A% A% A% A% A% A%H& & &P zD	,FFFF++++++C r   