+
     BiF&                         ^ RI t ^ RIHtHt ^ RIHt ^ RIHt RR lt ! R R]4      t	R t
]R	8X  d"   ^ R
IHt ]! R^RR7       ^ RIHt ]! ]
4       R# R# )    N)	StringVarTclError)SearchDialogBase)searchenginec                     V P                  4       p\        P                  ! V4      p\        VR 4      '       g   \	        W#4      Vn        VP
                  pV P                  RR4      pVP                  WVR7       R# )_replacedialog	sel.firstsel.last)insert_tagsN)_rootr   gethasattrReplaceDialogr   open)textr   rootenginedialogsearchphrases   &&    &/usr/lib/python3.14/idlelib/replace.pyreplacer      se     ::<Dd#F6+,, -d ;""F88K4L
KKK<    c                      a a ] tR t^ t oRtRtV 3R ltRRR/R lltR tR t	RR	 lt
RR
 ltRR ltR tRR ltRR ltR tR tRR ltRtVtV ;t# )r   zReplace DialogReplacec                T   < \         SV `  W4       \        V4      V n        R V n        R # N)super__init__r   replvarr   )selfr   r   	__class__s   &&&r   r   ReplaceDialog.__init__&   s%     	& r   Nr   c               N    \         P                  ! WV4       R V n        W0n        R# )TN)r   r   okr   )r    r   r   r   s   &&&$r   r   ReplaceDialog.open7   s!     	d,7&r   c                    \         P                  ! V 4       V P                  R V P                  4      ^ ,          V n        R# )zReplace with:N)r   create_entries
make_entryr   replentr    s   &r   r'   ReplaceDialog.create_entriesE   s+    ''-EaHr   c                   \         P                  ! V 4       V P                  R V P                  4       V P                  RV P                  4       V P                  RV P
                  RR7       V P                  RV P                  4       R# )Findr   zReplace+FindT)isdefzReplace AllN)r   create_command_buttonsmake_buttonfind_it
replace_itdefault_commandreplace_allr*   s   &r   r/   $ReplaceDialog.create_command_buttonsJ   sk     	//5.DOO4)=)=TJ(8(89r   c                (    V P                  R 4       R# FN)do_findr    events   &&r   r1   ReplaceDialog.find_itV   s    Ur   c                l    V P                  V P                  4      '       d   V P                  4        R # R # r   r8   r$   
do_replacer9   s   &&r   r2   ReplaceDialog.replace_itZ   s&    
 <<  OO !r   c                    V P                  V P                  4      '       d,   V P                  4       '       d   V P                  R 4       R# R# R# r7   r=   r9   s   &&r   r3   ReplaceDialog.default_commandb   s:     <<    U# ! !r   c                    V P                   P                  4       '       d    VP                  V4      pV# TpV#   \        P                   d#    T P                   P                  TR 4       Rp T# i ; i)zInvalid Replace ExpressionN)r   isreexpandrePatternErrorreport_error)r    mreplnews   &&& r   _replace_expandReplaceDialog._replace_expandm   sp    ;;hhtn 
 C
 ?? ((/KL 
s   9 3A0/A0c           	        V P                   P                  4       pV'       g   R # V P                  P                  4       pV P                  pV P                   P                  WB4      pV'       g   V P                  4        R # VP                  RRR4       VP                  RRR4       V^ ,          pV^,          P                  4       pV P                   P                  4       '       d   ^p^ pRpR ;rVP                  4        V P                   P                  WBWgRVR7      ;p'       d   Vw  rkVP                  RV,          RV^,           ,          4      pVP                  4       pV P                  W4      pVf   MVP                  4       w  ppR	Wo3,          p	R	VV3,          p
W8X  d   VP                  R
V
4       MMVP                  R
V	4       W8w  d   VP!                  W4       V'       d   VP#                  WV P$                  4       V\'        V4      ,           pRpEK  VP)                  4        V	'       d   V
'       d   V P+                  W4       V P-                  4        R # )Nsel1.0endhitTF)wrapr$   %d.0%d.%dinsert)r   getprogr   r   r   search_textbell
tag_removestartiswrapundo_block_startsearch_forwardgrouprK   spanmark_setdeleterU   r   lenundo_block_stopshow_hitclose)r    r:   progrI   r   reslinecolr$   firstlastrH   charsorigrJ   ijs   &&               r   r4   ReplaceDialog.replace_allz   s    {{""$||!yykk%%d1IIKue,ue,1v!flln;;DC[[//DEb 0 : :c :GDHHVd]Fd1f,=>E779D&&q/C{668DAqti'EdAY&D{h-h.=KK,KKD,<,<=c#h,CBTMM%&

r   c                T   V P                   P                  4       '       g   R # V P                  pV P                   P                  VRV4      pV'       g   V P	                  4        R # Vw  rEVP                  4       w  rgRWF3,          pRWG3,          p	V P                  W4       RV n        R# )FNrT   T)r   rV   r   rW   rX   r_   rd   r$   )
r    r$   r   rg   rh   rH   rn   ro   rj   rk   s
   &&        r   r8   ReplaceDialog.do_find   s    
 {{""$$yykk%%dD"5IIKvvx4)#$"e"r   c                j   V P                   P                  4       pV'       g   R # V P                  p VP                  R4      ;r4VP                  R4      pV'       g   VP                  R4      ;p;rT\
        P                  ! V4      w  rgVP                  RV,          RV^,           ,          4      pVP                  W4      p	V'       g   R # V P                  WP                  P                  4       4      p
V
f   R # VP                  RX4       VP                  4        V	P                  4       '       d   VP                  VX4       V
'       d   VP                  W:V P                   4       VP#                  4        V P%                  W2P                  R4      4       R V n        R#   \         d    Rp EL\i ; i)Fr	   r
   NrU   rS   T)r   rV   r   indexr   r   get_line_colr   matchrK   r   r`   r\   r^   ra   rU   r   rc   rd   r$   )r    rf   r   rj   posrk   rh   ri   rl   rH   rJ   s   &          r   r>   ReplaceDialog.do_replace   sU   {{""$yy	**[11E::j)D !%H!55E5D --c2	$$q&(9:JJu"""1ll&6&6&89;h&7799KKt$KKD$4$45eZZ12+  	C	s   #F! !F21F2c                J   V P                   pVP                  R V4       VP                  RRR4       VP                  RW4       VP                  RRR4       W8X  d   VP                  RV4       MVP                  RW4       VP	                  R 4       VP                  4        R# )rU   rN   rO   rP   rQ   N)r   r`   rY   tag_addseeupdate_idletasks)r    rj   rk   r   s   &&& r   rd   ReplaceDialog.show_hit   s     yyh&ue,UE(ue,=LL&LL,r   c                z    \         P                  ! W4       V P                  P                  R RR4       RV n        R# )rQ   rO   rP   N)r   re   r   rY   r   r9   s   &&r   re   ReplaceDialog.close   s.    t+		UE51r   )r   r$   r)   r   r   )F)__name__
__module____qualname____firstlineno__titleiconr   r   r'   r/   r1   r2   r3   rK   r4   r8   r>   rd   re   __static_attributes____classdictcell____classcell__)r!   __classdict__s   @@r   r   r       sa      ED "'4 'I

:	$6p(@ .   r   r   c                 (  aaa ^ RI HpHpHoHo ^ RIHpHp V! V 4      pVP                  R4       \        \        V P                  4       P                  R4      R,          4      w  rgVP                  RWg^,           3,          4       R pR p	V! V4      p
V
P                  4        V! V
R	R
7      oVSn        V	Sn        SP                  4        SP!                  RR4       SP#                  4        VVV3R lpV! V
RVR7      pVP                  4        R# )r   )ToplevelTextENDSEL)FrameButtonzTest ReplaceDialog+:   NNz+%d+%dc                      R # r    r   r   r   r\   )_replace_dialog.<locals>.undo_block_start      r   c                      R # r   r   r   r   r   rc   (_replace_dialog.<locals>.undo_block_stop  r   r   gray)inactiveselectbackgroundrU   z"This is a sample sTring
Plus MORE.c                  j   < SP                  SR S 4       \        S4       SP                  SR S 4       R# )rO   N)rz   r   rY   )r   r   r   s   r   show_replace%_replace_dialog.<locals>.show_replace  s*    S%%UC(r   r   )r   commandN)tkinterr   r   r   r   tkinter.ttkr   r   r   mapintgeometrysplitpackr\   rc   rU   	focus_set)parentr   r   r   r   topxyr\   rc   framer   buttonr   r   r   s   &            @@@r   _replace_dialogr     s    00)
6
CII"#sFOO%++C045DALLQCL() #JE	JJL7D,D*DIIKKK>?NN)
 E	<@F
KKMr   __main__)mainzidlelib.idle_test.test_replaceF)	verbosityexit)runr   )rE   r   r   r   idlelib.searchbaser   idlelibr   r   r   r   r   unittestr   idlelib.idle_test.htestr   r   r   r   <module>r      sX    
 ' /  =$a $ a HD z	)QUC+ r   