B
� f: � @ sh d dl mZ d dlmZ G dd� d�Zdd� Zedkrdd dlmZ ed d
dd� d d
l m
Z
e
e� dS )� )� Delegator)�WidgetRedirectorc @ s@ e Zd Zdd� Zdd� Zddd�Zddd �Zd
d� Zdd
� ZdS )�
Percolatorc C sR || _ t|�| _t|� | _| _| j�d| j�| j_| j�d| j�| j_g | _ d S )N�insert�delete)
�textr �redirr �top�bottom�registerr r �filters)�selfr � r �7/opt/alt/python37/lib64/python3.7/idlelib/percolator.py�__init__ s
zPercolator.__init__c C sP x| j | jk r| �| j � qW d | _ | j�d � d | _| j�� d | _d | _d S )N)r r
�removefilter�setdelegater �closer )r
r r r r s
zPercolator.closeNc C s | j �|||� d S )N)r r )r
�index�charsZtagsr r r r s zPercolator.insertc C s | j �||� d S )N)r r )r
Zindex1Zindex2r r r r s zPercolator.deletec C s |� | j� || _d S )N)r r )r
�filterr r r �insertfilter" s zPercolator.insertfilterc C sZ | j }||kr"|j| _ |�d � n4x|j|k r>|�� |j}q$W |�|j� |�d � d S )N)r �delegater Z
resetcache)r
r �fr r r r ) s
zPercolator.removefilter)N)N) �__name__�
__module__�__qualname__r r r r r r r r r r r s
r c s dd l }G dd� dt�}|�| �}|�d� tt| �� �d�dd � �\}}|�d||d f � |�|�}t |�}|j
� |j�|d ��|d
��� ���fdd�}� ���fd
d�} |�� |�
| ��|j|d|�d�}
|
�� |�
| ��|j|d| �d�}|�� d S )Nr c @ s$ e Zd Zdd� Zdd� Zdd� ZdS )z_percolator.