
   \cN                       d dl mZ  G d d          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 )    )TclErrorc                   4    e Zd Z	 d Zd Zd Zd Zd Zd ZdS )WidgetRedirectorc                     	 i | _         || _        |j        x| _        }|j        }|dz   | _        |                    d|| j                   |                    || j                   d S )N_origrename)_operationswidgettk_worigcallcreatecommanddispatch)selfr
   r   ws       `/nix/store/c6yb989sl77467xxwhylnkph1pqyi47p-python3-3.11.15/lib/python3.11/idlelib/redirector.py__init__zWidgetRedirector.__init__   sp    		 y "IK	
!TY''' 	DM*****    c                 Z    | j         }| j        j        f d|j        j         d|j         dS )N(<z>))r
   	__class____name__r   )r   r   s     r   __repr__zWidgetRedirector.__repr__1   s7    K.)+LLQ[-ALLADLLLLr   c                     	 t          | j                  D ]}|                     |           | j        }|j        }|j        }|                    |           |                    d| j        |           | `| `d S )Nr   )	listr	   
unregisterr
   r   r   deletecommandr   r   )r   	operationr
   r   r   s        r   closezWidgetRedirector.close5   s    Ld.// 	' 	'IOOI&&&&YI

$)Q'''Kr   c                 d    	 || j         |<   t          | j        ||           t          | |          S N)r	   setattrr
   OriginalCommandr   r    functions      r   registerzWidgetRedirector.registerB   s:    		 '/#Y111tY///r   c                     	 || j         v r>| j         |         }| j         |= 	 t          | j        |           n# t          $ r Y nw xY w|S d S r#   )r	   delattrr
   AttributeErrorr&   s      r   r   zWidgetRedirector.unregisterQ   ss    	 ((('	2H +Y////!   O4s   7 
AAc                     	 | j                             |          }	 |r || S | j                            | j        |f|z             S # t
          $ r Y dS w xY w)N )r	   getr   r   r   r   )r   r    argsms       r   r   zWidgetRedirector.dispatcha   sz    
	   ++	 Cq$xw||TY	$:T$ABBB 	 	 	22	s   A #A 
AAN)	r   
__module____qualname__r   r   r!   r(   r   r    r   r   r   r      sv        .+ + +,M M M
! 
! 
!0 0 0       r   r   c                   "    e Zd Z	 d Zd Zd ZdS )r%   c                     	 || _         || _        |j        | _        |j        | _        |j        j        | _        |j        |f| _        d S r#   )redirr    r   r   r   tk_callorig_and_operation)r   r6   r    s      r   r   zOriginalCommand.__init__   sI    	
 
"(J	x}#(:y"9r   c                 B    | j         j        f d| j        d| j        dS )Nr   z, ))r   r   r6   r    )r   s    r   r   zOriginalCommand.__repr__   s-    .)+PPTZPPT^PPPPr   c                 <    |                      | j        |z             S r#   )r7   r8   )r   r/   s     r   __call__zOriginalCommand.__call__   s    ||D3d:;;;r   N)r   r1   r2   r   r   r<   r3   r   r   r%   r%   w   sI        : : :Q Q Q< < < < <r   r%   c                   	 ddl m}m}  ||           }|                    d           t	          t
          |                                                     d          dd                    \  }}|                    d||dz   fz              ||          }|                                 |	                                 t          |          }	fd}|                    d	|          	d S )
Nr   )ToplevelTextzTest WidgetRedirector+   z+%d+%d   c                  2    t          d|             |   d S )Ninsert)print)r/   original_inserts    r   	my_insertz%_widget_redirector.<locals>.my_insert   s&    hr   rD   )tkinterr>   r?   titlemapintgeometrysplitpack	focus_setr   r(   )
parentr>   r?   topxytextr6   rG   rF   s
            @r   _widget_redirectorrU      s    &&&&&&&&
(6

CII%&&&sFOO%%++C00455DAqLLQCL()))499DIIKKKNNT""E     nnXy99OOOr   __main__)mainz!idlelib.idle_test.test_redirector   F)	verbosityexit)runN)
rH   r   r   r%   rU   r   unittestrW   idlelib.idle_test.htestr[   r3   r   r   <module>r^      s         q q q q q q q qh< < < < < < < <@: : :" zD	,FFFF++++++C r   