Your IP : 18.188.218.219


Current Path : /opt/alt/python34/lib64/python3.4/idlelib/__pycache__/
Upload File :
Current File : //opt/alt/python34/lib64/python3.4/idlelib/__pycache__/ReplaceDialog.cpython-34.pyc

�
e f��@s�ddlTddlmZddlmZddlZdd�ZGdd�de�Zd	d
�Ze	dkr�ddl
mZee�ndS)
�)�*)�SearchEngine)�SearchDialogBaseNcCsY|j�}tj|�}t|d�s?t||�|_n|j}|j|�dS)N�_replacedialog)Z_rootr�get�hasattr�
ReplaceDialogr�open)�text�root�engineZdialog�r
�:/opt/alt/python34/lib64/python3.4/idlelib/ReplaceDialog.py�replaces	rc@s�eZdZdZdZdd�Zdd�Zdd�Zd	d
�Zddd
�Z	ddd�Z
ddd�Zdd�Zddd�Z
ddd�Zdd�Zdd�Zddd�ZdS)rzReplace Dialog�ReplacecCs&tj|||�t|�|_dS)N)r�__init__Z	StringVar�replvar)�selfrrr
r
rrszReplaceDialog.__init__cCs�tj||�y|jd�}Wntk
r=d}YnXy|jd�}Wntk
rkd}YnX|p~|jd�}|p�|}|j||�d|_dS)Nz	sel.firstzsel.last�insert�)rr	�index�TclError�show_hit�ok)rr
�first�lastr
r
rr	s

zReplaceDialog.opencCs-tj|�|jd|j�d|_dS)Nz
Replace with:r)r�create_entriesZ
make_entryrZreplent)rr
r
rr)s
zReplaceDialog.create_entriescCs`tj|�|jd|j�|jd|j�|jd|jd�|jd|j�dS)NZFindrzReplace+FindrzReplace All)r�create_command_buttonsZmake_button�find_it�
replace_it�default_command�replace_all)rr
r
rr-s

z$ReplaceDialog.create_command_buttonsNcCs|jd�dS)Nr)�do_find)r�eventr
r
rr4szReplaceDialog.find_itcCs#|j|j�r|j�ndS)N)r"r�
do_replace)rr#r
r
rr7szReplaceDialog.replace_itcCs5|j|j�r1|j�r1|jd�q1ndS)Nr)r"rr$)rr#r
r
rr ;szReplaceDialog.default_commandcCs`|jj�rVy|j|�}Wq\tjk
rR|jj|d�d}Yq\Xn|}|S)za Helper function for expanding a regular expression
            in the replace field, if needed. zInvalid Replace ExpressionN)rZisre�expand�re�errorZreport_error)r�m�repl�newr
r
r�_replace_expandAszReplaceDialog._replace_expandcCsB|jj�}|sdS|jj�}|j}|jj||�}|sZ|j�dS|jddd�|jddd�|d}|dj�}|jj	�r�d}d}nd}d}	}
|j
�x6|jj||||d|�}|sPn|\}}|jd|d|d�}|j�}
|j
||�}|dkrXPn|j�\}}d||f}	d||f}
||
kr�|jd	|
�nH|jd	|	�|	|
kr�|j|	|
�n|r�|j|	|�n|t|�}d}q�W|j�|	r4|
r4|j|	|
�n|j�dS)
N�selz1.0�end�hitrrz%d.0z%d.%dr)r�getprogrrr
�search_text�bell�
tag_remove�startZiswrap�undo_block_startZsearch_forward�groupr+�span�mark_set�deleter�len�undo_block_stopr�close)rr#�progr)r
�res�line�colrrrr(�charsZorigr*�i�jr
r
rr!OsZ	

	

!

zReplaceDialog.replace_allrc
Cs�|jj�sdS|j}|jj|d|�}|sH|j�dS|\}}|j�\}}d||f}d||f}	|j||	�d|_dS)NFz%d.%drT)rr/r
r0r1r6rr)
rrr
r=r>r(rArBrrr
r
rr"�s	
	zReplaceDialog.do_findc
Cs|jj�}|sdS|j}y&|jd�}}|jd�}Wntk
rbd}YnX|s�|jd�}}}ntj|�\}}|jd|d|d�}|j||�}	|s�dS|j	|	|j
j��}
|
dkr�dS|jd|�|j�|	j
�r6|j||�n|
rO|j||
�n|j�|j||jd��d|_dS)	NFz	sel.firstzsel.lastrz%d.0rrT)rr/r
rrrZget_line_colr�matchr+rr7r4r5r8rr:rr)rr<r
r�posrr>r?r@r(r*r
r
rr$�s:	


	zReplaceDialog.do_replacecCs�|j}|jd|�|jddd�|jd||�|jddd�||krq|jd|�n|jd||�|jd�|j�dS)Nrr,z1.0r-r.)r
r7r2�tag_addZseeZupdate_idletasks)rrrr
r
r
rr�s	
zReplaceDialog.show_hitcCs*tj||�|jjddd�dS)Nr.z1.0r-)rr;r
r2)rr#r
r
rr;�szReplaceDialog.close)�__name__�
__module__�__qualname__�titleZiconrr	rrrrr r+r!r"r$rr;r
r
r
rrs1
rc
s�t�}|jd�ttttjd|j����\}}}}|jd||df�dd�}dd�}t|��|�_	|�_
�j��jd	d
d��fdd
�}t
|ddd|�}	|	j�dS)NzTest ReplaceDialogz[x+]z+%d+%d�cSsdS)Nr
r
r
r
rr4�sz)_replace_dialog.<locals>.undo_block_startcSsdS)Nr
r
r
r
rr:�sz(_replace_dialog.<locals>.undo_block_stoprzThis is a sample string.
�
cs4�jtdt�t���jtdt�dS)Nz1.0)rEZSELZENDrr2r
)r
r
r�show_replace�s
z%_replace_dialog.<locals>.show_replacer
rZcommand)ZTkrI�list�map�intr&�splitZgeometryZTextr4r:ZpackrZButton)
�parentr�widthZheight�x�yr4r:rLZbuttonr
)r
r�_replace_dialog�s	
3		
rU�__main__)�run)ZtkinterZidlelibrZidlelib.SearchDialogBaserr&rrrUrFZidlelib.idle_test.htestrWr
r
r
r�<module>s
	�

?>