
    .hh                         S SK Jr  S SKJr  S SKJr  S rS rS rS r	 " S S	\5      r
S
 r\S:X  a  S SKJr  \" SSSS9  S SKJr  \" \5        gg)    )TclError)searchengine)SearchDialogBasec                     U R                  5       n[        R                  " U5      n[        US5      (       d  [	        X5      Ul        UR
                  $ )N_searchdialog)_rootr   gethasattrSearchDialogr   )textrootengines      7/opt/python-3.13.8/usr/lib/python3.13/idlelib/search.py_setupr      sE     ::<Dd#F6?+++D9    c                 Z    U R                  SS5      n[        U 5      R                  X5      $ N	sel.firstsel.last)r	   r   open)r   pats     r   findr      s)     ((;

+C$<T''r   c                 6    [        U 5      R                  U 5      $ N)r   
find_againr   s    r   r   r   &   s     $<""4((r   c                 6    [        U 5      R                  U 5      $ r   )r   find_selectionr   s    r   r   r   1   s     $<&&t,,r   c                   0    \ rS rSrS rSS jrS rS rSrg)	r   >   c                 f    [         R                  " U 5        U R                  SU R                  SS9  g )Nz	Find NextT)isdef)r   create_widgetsmake_buttondefault_command)selfs    r   r#   SearchDialog.create_widgetsA   s+    ''-d&:&:$Gr   Nc                 z    U R                   R                  5       (       d  g U R                  U R                  5        g r   )r   getprogr   r   )r&   events     r   r%   SearchDialog.default_commandG   s(    {{""$$		"r   c                    U R                   R                  5       (       d  U R                  U5        gU R                   R                  5       (       d  gU R                   R	                  U5      nU(       a  Uu  p4UR                  5       u  pVSX54-  nSX64-  n UR                  S5      n	UR                  S5      n
X:X  a  X:X  a  U R                  5         gUR                  SSS5        UR                  SXx5        UR                  SU R                   R                  5       =(       a    U=(       d    U5        UR                  S5        g	U R                  5         g! [         a     Nf = f)
NFz%d.%dr   r   sel1.0endinsertT)r   getpatr   r)   search_textspanindexbellr   
tag_removetag_addmark_setisbacksee)r&   r   reslinemijfirstlastselfirstsellasts              r   r   SearchDialog.find_againM   s)     {{!!##IIdO{{""$$kk%%d+GD668DAti'EdY&D::k2**Z0$IIK  OOE5%0LL,MM(DKK$6$6$8$BU$JdKHHXIIK  s   <E 
E%$E%c                     UR                  SS5      nU(       a  U R                  R                  U5        U R                  U5      $ r   )r	   r   setcookedpatr   )r&   r   r   s      r   r   SearchDialog.find_selectiony   s8     hh{J/KK$$S)t$$r    r   )	__name__
__module____qualname____firstlineno__r#   r%   r   r   __static_attributes__rH   r   r   r   r   >   s    H#*X%r   r   c                   ^ SSK JnJn  SSKJnJn  U" U 5      nUR                  S5        [        [        U R                  5       R                  S5      SS  5      u  pgUR                  SXgS-   4-  5        U" U5      nUR                  5         U" US	S
9mTR                  5         TR                  SS5        U4S jn	U" USU	S9n
U
R                  5         g )Nr   )ToplevelText)FrameButtonzTest SearchDialog+   z+%d+%d   gray)inactiveselectbackgroundr0   z}This is a sample string.
This is a sample string.
This is a sample string.
This is a sample string.
This is a sample string.
c                     > T R                  SSS5        [        T 5      R                  T 5        T R                  SSS5        g )Nr-   r.   r/   )r7   r   r   r6   r   s   r   	show_find!_search_dialog.<locals>.show_find   s5    UE5)t$ue,r   zSearch (selection ignored))r   command)tkinterrO   rP   tkinter.ttkrQ   rR   titlemapintgeometrysplitpackr0   )parentrO   rP   rQ   rR   topxyframerY   buttonr   s              @r   _search_dialogrj      s    &)
6
CII!"sFOO%++C045DALLQCL()#JE	JJL7DIIKKK78-
 E <iPF
KKMr   __main__)mainzidlelib.idle_test.test_search   F)	verbosityexit)runN)r\   r   idlelibr   idlelib.searchbaser   r   r   r   r   r   rj   rI   unittestrl   idlelib.idle_test.htestrp   rH   r   r   <module>ru      sc       / 	(	)
-F%# F%R2 z	(AEB+ r   