mς
­fIc           @   sY   d  k  l  Z  d k l Z d f  d     YZ d   Z e d j o d k Te   n d S(   (   s   WidgetRedirector(   s	   Delegatort
   Percolatorc           B   sD   t  Z d   Z d   Z d  d  Z d  d  Z d   Z d   Z RS(   Nc         C   sw   | |  _  t |  |  _ t |  |  _ |  _ |  i i d |  i  |  i _ |  i i d |  i	  |  i _	 g  |  _
 d  S(   Nt   insertt   delete(   t   textt   selft   WidgetRedirectort   redirt	   Delegatort   topt   bottomt   registerR   R   t   filters(   R   R   (    (    t/   /mit/python/lib/python2.4/idlelib/Percolator.pyt   __init__   s    	c         C   sp   x( |  i |  i j	 o |  i |  i  q Wd  |  _ |  i i d   d  |  _ |  i i   d  |  _ d  |  _ d  S(   N(	   R   R   R	   t   removefiltert   Nonet   setdelegateR   t   closeR   (   R   (    (    R   R      s     	c         C   s   |  i i | | |  d  S(   N(   R   R   R   t   indext   charst   tags(   R   R   R   R   (    (    R   R      s    c         C   s   |  i i | |  d  S(   N(   R   R   R   t   index1t   index2(   R   R   R   (    (    R   R      s    c         C   sK   t  | t  p t  | i d  j p t  | i |  i  | |  _ d  S(   N(	   t
   isinstancet   filterR   t   AssertionErrort   delegateR   R   R   R   (   R   R   (    (    R   t   insertfilter   s    c         C   sΔ   t  | t  p t  | i d  j	 p t  |  i } | | j o | i |  _ | i	 d   n` x? | i | j	 o. | |  i
 j	 p t  | i   | i } qd W| i	 | i  | i	 d   d  S(   N(   R   R   R   R   R   R   R   R   t   fR   R	   t
   resetcache(   R   R   R   (    (    R   R   &   s    	 
(	   t   __name__t
   __module__R   R   R   R   R   R   R   (    (    (    R   R       s   				c          C   sΦ   d t  f d     Y} t   } | i d | i  t   }  |  i   |  i	   t
 |   } | d  } | d  } | i |  | i |  | i   | i |  | i   | i |  | i |  | i   d  S(   Nt   Tracerc           B   s#   t  Z d   Z d   Z d   Z RS(   Nc         C   s   | |  _  t i |  d   d  S(   N(   t   nameR   R   R   R   (   R   R!   (    (    R   R   9   s    	c         G   s$   |  i Gd G| GH|  i i |   d  S(   Ns   : insert(   R   R!   t   argsR   R   (   R   R"   (    (    R   R   <   s    c         G   s$   |  i Gd G| GH|  i i |   d  S(   Ns   : delete(   R   R!   R"   R   R   (   R   R"   (    (    R   R   ?   s    (   R   R   R   R   R   (    (    (    R   R    8   s   		t   WM_DELETE_WINDOWt   t1t   t2(   R   R    t   Tkt   roott   wm_protocolt   quitt   TextR   t   packt	   focus_setR    t   pR$   R%   R   t   mainloopR   (   R   R%   R$   R-   R'   R    (    (    R   t   main7   s"    
		



t   __main__(   t   *N(   R   R   R    R/   R   t   Tkinter(   R/   R   R   R    (    (    R   t   ?   s   3	