<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>

Š¹¼]9  ã               @   s³   d  d l  Td  d l m Z d  d l m Z d  d l Z d d „  Z Gd d „  d e ƒ Z d	 d
 „  Z e	 d k r¯ d  d l
 Z
 e
 j d d d d d ƒd  d l m Z e e ƒ d S)é    )Ú*)ÚSearchEngine)ÚSearchDialogBaseNc             C   sV   |  j  ƒ  } t j | ƒ } t | d ƒ s< t | | ƒ | _ | j } | j |  ƒ d  S)NÚ_replacedialog)Z_rootr   ÚgetÚhasattrÚReplaceDialogr   Úopen)ÚtextÚrootÚengineZdialog© r   ú2/opt/alt/python35/lib64/python3.5/ReplaceDialog.pyÚreplace   s    	r   c               @   sÊ   e  Z d  Z d Z d Z d d „  Z d d „  Z d d „  Z d	 d
 „  Z d d d „ Z	 d d d „ Z
 d d d „ Z d d „  Z d d d „ Z d d d „ Z d d „  Z d d „  Z d d d „ Z d S)r   zReplace DialogÚReplacec             C   s&   t  j |  | | ƒ t | ƒ |  _ d  S)N)r   Ú__init__Z	StringVarÚreplvar)Úselfr   r   r   r   r   r      s    zReplaceDialog.__init__c             C   sª   t  j |  | ƒ y | j d ƒ } Wn t k
 r= d  } Yn Xy | j d ƒ } Wn t k
 rk d  } Yn X| p~ | j d ƒ } | pŠ | } |  j | | ƒ d |  _ d  S)Nz	sel.firstzsel.lastÚinserté   )r   r	   ÚindexÚTclErrorÚshow_hitÚok)r   r
   ÚfirstÚlastr   r   r   r	   !   s    zReplaceDialog.openc             C   s-   t  j |  ƒ |  j d |  j ƒ d |  _ d  S)NzReplace with:r   )r   Úcreate_entriesZ
make_entryr   Zreplent)r   r   r   r   r   1   s    zReplaceDialog.create_entriesc             C   s`   t  j |  ƒ |  j d |  j ƒ |  j d |  j ƒ |  j d |  j d ƒ |  j d |  j ƒ d  S)NZFindr   zReplace+Findr   zReplace All)r   Úcreate_command_buttonsZmake_buttonÚfind_itÚ
replace_itÚdefault_commandÚreplace_all)r   r   r   r   r   6   s
    z$ReplaceDialog.create_command_buttonsNc             C   s   |  j  d ƒ d  S)Nr   )Údo_find)r   Úeventr   r   r   r   =   s    zReplaceDialog.find_itc             C   s    |  j  |  j ƒ r |  j ƒ  d  S)N)r"   r   Ú
do_replace)r   r#   r   r   r   r   @   s    zReplaceDialog.replace_itc             C   s/   |  j  |  j ƒ r+ |  j ƒ  r+ |  j  d ƒ d  S)Nr   )r"   r   r$   )r   r#   r   r   r   r    D   s    zReplaceDialog.default_commandc             C   s`   |  j  j ƒ  rV y | j | ƒ } Wq\ t j k
 rR |  j  j | d ƒ d  } Yq\ Xn | } | S)NzInvalid Replace Expression)r   ZisreÚexpandÚreÚerrorZreport_error)r   ÚmÚreplÚnewr   r   r   Ú_replace_expandK   s    zReplaceDialog._replace_expandc             C   s0  |  j  j ƒ  } | s d  S|  j j ƒ  } |  j } |  j  j | | ƒ } | sZ | j ƒ  d  S| j d d d ƒ | j d d d ƒ | d } | d j ƒ  } |  j  j	 ƒ  rµ d } d } d } d  }	 }
 | j
 ƒ  x*|  j  j | | | | d | ƒ } | sú P| \ } } | j d | d | d ƒ } | j ƒ  } |  j | | ƒ } | d  k rOP| j ƒ  \ } } d | | f }	 d | | f }
 | | k r | j d	 |
 ƒ nB | j d	 |	 ƒ |	 |
 k rÌ| j |	 |
 ƒ | râ| j |	 | ƒ | t | ƒ } d } qÒ W| j ƒ  |	 r"|
 r"|  j |	 |
 ƒ |  j ƒ  d  S)
NÚselz1.0ÚendÚhitr   r   z%d.0z%d.%dr   )r   Úgetprogr   r   r
   Úsearch_textÚbellÚ
tag_removeÚstartZiswrapÚundo_block_startZsearch_forwardÚgroupr+   ÚspanÚmark_setÚdeleter   ÚlenÚundo_block_stopr   Úclose)r   r#   Úprogr)   r
   ÚresÚlineÚcolr   r   r   r(   ÚcharsZorigr*   ÚiÚjr   r   r   r!   Y   sZ    	



!

zReplaceDialog.replace_allr   c       
      C   s£   |  j  j ƒ  s d S|  j } |  j  j | d  | ƒ } | sH | j ƒ  d S| \ } } | j ƒ  \ } } d | | f } d | | f }	 |  j | |	 ƒ d |  _ d S)NFz%d.%dr   T)r   r/   r
   r0   r1   r6   r   r   )
r   r   r
   r=   r>   r(   rA   rB   r   r   r   r   r   r"   ‹   s    	
	zReplaceDialog.do_findc             C   sv  |  j  j ƒ  } | s d S|  j } y& | j d ƒ } } | j d ƒ } Wn t k
 rb d  } Yn X| s€ | j d ƒ } } } t j | ƒ \ } } | j d | d | d ƒ } | j | | ƒ }	 | sÏ d S|  j	 |	 |  j
 j ƒ  ƒ }
 |
 d  k rú d S| j d | ƒ | j ƒ  |	 j ƒ  r0| j | | ƒ |
 rF| j | |
 ƒ | j ƒ  |  j | | j d ƒ ƒ d |  _ d S)	NFz	sel.firstzsel.lastr   z%d.0r   r   T)r   r/   r
   r   r   r   Zget_line_colr   Úmatchr+   r   r7   r4   r5   r8   r   r:   r   r   )r   r<   r
   r   Úposr   r>   r?   r@   r(   r*   r   r   r   r$   ›   s:    	

	zReplaceDialog.do_replacec             C   sŸ   |  j  } | j d | ƒ | j d d d ƒ | j d | | ƒ | j d d d ƒ | | k rq | j d | ƒ n | j d | | ƒ | j d ƒ | j ƒ  d  S)Nr   r,   z1.0r-   r.   )r
   r7   r2   Útag_addZseeZupdate_idletasks)r   r   r   r
   r   r   r   r   º   s    	zReplaceDialog.show_hitc             C   s*   t  j |  | ƒ |  j j d d d ƒ d  S)Nr.   z1.0r-   )r   r;   r
   r2   )r   r#   r   r   r   r;   É   s    zReplaceDialog.close)Ú__name__Ú
__module__Ú__qualname__ÚtitleZiconr   r	   r   r   r   r   r    r+   r!   r"   r$   r   r;   r   r   r   r   r      s   2r   c       
         sÿ   t  |  ƒ } | j d ƒ t t t t j d |  j ƒ  ƒ ƒ ƒ \ } } } } | j d | | d f ƒ d d „  } d d „  } t | d	 d
 ƒ‰  | ˆ  _	 | ˆ  _
 ˆ  j ƒ  ˆ  j d d ƒ ˆ  j ƒ  ‡  f d d †  } t | d d d | ƒ}	 |	 j ƒ  d  S)NzTest ReplaceDialogz[x+]z+%d+%dé–   c               S   s   d  S)Nr   r   r   r   r   r4   Ö   s    z)_replace_dialog.<locals>.undo_block_startc               S   s   d  S)Nr   r   r   r   r   r:   Ù   s    z(_replace_dialog.<locals>.undo_block_stopZinactiveselectbackgroundZgrayr   z"This is a sample sTring
Plus MORE.c                  s4   ˆ  j  t d t ƒ t ˆ  ƒ ˆ  j t d t ƒ d  S)Nz1.0)rE   ZSELZENDr   r2   r   )r
   r   r   Úshow_replaceã   s    
z%_replace_dialog.<locals>.show_replacer
   r   Zcommand)ZToplevelrI   ÚlistÚmapÚintr&   ÚsplitZgeometryZTextr4   r:   Úpackr   Z	focus_setZButton)
ÚparentZboxÚwidthZheightÚxÚyr4   r:   rK   Zbuttonr   )r
   r   Ú_replace_dialogÎ   s    3		

rU   Ú__main__z$idlelib.idle_test.test_replacedialogÚ	verbosityé   ÚexitF)Úrun)ÚtkinterZidlelibr   Zidlelib.SearchDialogBaser   r&   r   r   rU   rF   ZunittestÚmainZidlelib.idle_test.htestrZ   r   r   r   r   Ú<module>   s   
¶