
    .hh:                     b   S SK rS SKrS SKrS SKrS SKJrJr  S SKJ	r	J
r
JrJrJrJr  S SKJrJrJrJrJr  S SKJr  S SKJr  S SKJr   " S S	\	5      r " S
 S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r\ S:X  a  S SK!J"r"  \"" SSSS9  S SK#J$r$  \$" \\\5        gg)    N)
executableplatform)Toplevel	StringVar
BooleanVarWES)FrameButtonEntryLabelCheckbutton)
filedialog)Font)_setup_dialogc                   p   ^  \ rS rSrS0 SSS.S jrSS jrS rSS jrS	 rSS
 jr	SS jr
U 4S jrSrU =r$ )Query!    Ftext0
used_names_htest_utestc                :   Xl         X0l        X@l        XPl        [        R
                  " X5        U R                  5         U R                  U5        U R                  U5        U(       d  U R                  5         [        U 5        U R                  S:X  a  U R                  SU R                  5        U R                  SU R                  5        U R                  SU R                  5        U R                  SU R                  5        U R                  SU R                  5        U R!                  5         U R#                  5         U R%                  SUR'                  5       UR)                  5       S-  U R+                  5       S-  -
  -   UR-                  5       U(       d'  UR/                  5       S-  U R1                  5       S-  -
  OS	-   4-  5        U R3                  S
S
S9  U(       d;  U R5                  5         U R6                  R9                  5         U R;                  5         g g )Naquaz<Command-.>z<Key-Escape>WM_DELETE_WINDOWz<Key-Return>z
<KP_Enter>z+%d+%d      F)heightwidth)parentmessager   r   r   __init__withdrawtitle	transientgrab_setr   _windowingsystembindcancelprotocolokcreate_widgetsupdate_idletasksgeometrywinfo_rootxwinfo_widthwinfo_reqwidthwinfo_rootywinfo_heightwinfo_reqheight	resizable	deiconifyentry	focus_setwait_window)selfr#   r'   r$   r   r   r   r   s           6/opt/python-3.13.8/usr/lib/python3.13/idlelib/query.pyr%   Query.__init__&   s    
$$'

5vMMOd  F*IImT[[1		.$++.($++6		.$''*		,(&&('')!+d.A.A.CA.EEG&&(! ))+A-0D0D0Fq0HH'*, 	 	e51NNJJ  "     c           	      .   [        U SS9=U l        nUR                  SSSS9  UR                  SSS9  [	        USS	U R
                  S
9n[        X R                  5      U l        [        USU R                  S9U l
        [        SSU R                  S9U l        [	        USSU R                  S9U l        UR                  SSSS[        S9  U R                  R                  SSSS[        [         -   SS/S9  U R                  R                  SSSS[        [         -   S9  U R#                  5         [%        X!SU R&                  S9U l        [%        USU R*                  S9U l        U R(                  R                  SSSS9  U R,                  R                  SSSS9  g )N
   )paddingr   news)columnrowsticky   )weightwleftanchorjustifytext   )r"   textvariableTkCaptionFontT)nameexistsroot redrO   
foregroundfont      rE   rF   
columnspanpadxrG   rE   rF   r^   r_   rG   padyr   active)rO   defaultcommandCancel)rO   rd   c   )rE   rF   r_   )r   framegridgrid_columnconfigurer   r$   r   r   entryvarr   r:   r   r#   
error_fontentry_errorr   r	   create_extrar   r.   	button_okr,   button_cancel)r=   ok_textrg   
entrylabels       r>   r/   Query.create_widgetsY   s    #444
U

!6
2""1Q"/5f $.
!$

35G
O&*> SU&*oo7 	qaAAaH

qaAAac V 	 	%QA!!%&qS 	 	* 	XtwwH#Hdkk; 	1"15qbq9r@   c                     g N )r=   s    r>   rm   Query.create_extra}   s    Dr@   c                 :    SU-   U=(       d    U R                   S'   g )NzERROR: rO   )rl   )r=   r$   widgets      r>   	showerrorQuery.showerror   s    /87/B	#4##V,r@   c                     U R                   R                  5       R                  5       nU(       d  U R                  S5        g U$ )Nzblank line.)r:   getstripry   )r=   r:   s     r>   entry_okQuery.entry_ok   s2    

 &&(NN=)r@   c                     SU R                   S'   U R                  5       nUb  X l        U R                  5         g U R                  R                  5         g Nr   rO   )rl   r~   resultdestroyr:   r;   )r=   eventr:   s      r>   r.   Query.ok   sE    
 $& KLLN JJ  "r@   c                 2    S U l         U R                  5         g rt   )r   r   )r=   r   s     r>   r,   Query.cancel   s    r@   c                 B   > U R                  5         [        TU ]	  5         g rt   )grab_releasesuperr   )r=   	__class__s    r>   r   Query.destroy   s    r@   )ro   rn   r:   rl   rj   rk   rg   r$   r#   r   r   r   )OKrt   )__name__
__module____qualname____firstlineno__r%   r/   rm   ry   r~   r.   r,   r   __static_attributes____classcell__r   s   @r>   r   r   !   s?    
 9;re1f":H !C#
 r@   r   c                   8   ^  \ rS rSrSSS.U 4S jjrS rSrU =r$ )SectionName   Fr   r   c          	      $   > [         TU ]  XX4XVS9  g )N)r   r   r   r   r%   )r=   r#   r'   r$   r   r   r   r   s          r>   r%   SectionName.__init__   s     & 	 	7r@   c                    U R                   R                  5       R                  5       nU(       d  U R                  S5        g [	        U5      S:  a  U R                  S5        g XR
                  ;   a  U R                  S5        g U$ )Nno name specified.rP   z"name is longer than 30 characters.zname is already in use.)r:   r|   r}   ry   lenr   )r=   rS   s     r>   r~   SectionName.entry_ok   sh    zz~~%%'NN/0Yr\NN?@__$NN45r@   ru   r   r   r   r   r%   r~   r   r   r   s   @r>   r   r      s    
 !7 7
 r@   r   c                   8   ^  \ rS rSrSSS.U 4S jjrS rSrU =r$ )
ModuleName   Fr   c          	      $   > [         TU ]  XX4XVS9  g )Nr   r   r   r   )r=   r#   r'   r$   r   r   r   r   s          r>   r%   ModuleName.__init__   s    $ 	 	5r@   c                    U R                   R                  5       R                  5       nU(       d  U R                  S5        g  [        R
                  R                  U5      nUc  U R                  S5        g [        UR                  [        R                  R                  5      (       d  U R                  S5        g  UR                  R                  U5      nU$ ! [        [        4 a$  nU R                  [        U5      5         S nAg S nAff = f! [         a    U R                  S5         g [         aA     UR                  R                  5       n U$ ! [          a    U R                  S5          g f = ff = f)Nr   zmodule not found.znot a source-based module.z%loader does not support get_filename.zloader failed to get filename.)r:   r|   r}   ry   	importlibutil	find_spec
ValueErrorImportErrorstr
isinstanceloaderabcSourceLoaderget_filenameAttributeError	TypeError)r=   rS   specmsg	file_paths        r>   r~   ModuleName.entry_ok   s<   zz~~%%'NN/0	>>++D1D <NN./$++y}}'A'ABBNN78	006I + K( 	NN3s8$	  	NNBC 	 KK446	   ?@		sH   C =D D*D		DE8.	E88EE40E83E44E8ru   r   r   s   @r>   r   r      s    
 !5 5
 r@   r   c                       \ rS rSrS rSrg)Goto   c                      [        U R                  R                  5       5      nUS::  a  U R	                  S5        g U$ ! [         a    U R	                  S5         g f = f)Nznot a base 10 integer.r   znot a positive integer.)intr:   r|   r   ry   )r=   linenos     r>   r~   Goto.entry_ok   s[    	)*F Q;NN45  	NN34	s   #? AAru   N)r   r   r   r   r~   r   ru   r@   r>   r   r      s    	r@   r   c                   n   ^  \ rS rSrSS0 SSS.U 4S jjrS rS rS r\R                  r
S	 rS
 r	SrU =r$ )
HelpSource   r   F)menuitemfilepathr   r   r   c          
      6   > X@l         Sn[        T	U ]	  XXXVUS9  g )NzName for item on Help menu:r   )r   r   r%   )
r=   r#   r'   r   r   r   r   r   r$   r   s
            r>   r%   HelpSource.__init__   s,     !/w%V 	 	Er@   c           	         U R                   n[        USSSS9n[        X R                  5      U l        [        XR                  SS9U l        [        USSU R                  S	9n[        US
SU R                  S9U l
        UR                  SSSSSS/[        S9  U R                  R                  SSSS[        [        -   SS/S9  UR                  SSS[        [        -   S9  U R                  R                  SSSS[        [        -   S9  g )NrJ   rK   z,Help File Path: Enter URL or browse for filerL   (   )rQ   r"   Browse   )rO   r"   rd   rV   rW   rX   r   rB   r[   r\   )rE   rF   r^   r_   ra   rG      r   r`   )rE   rF   r_   rG      r]   )rg   r   r   r   pathvarr   pathr   browse_filerk   
path_errorrh   r   r	   r
   )r=   rg   	pathlabelbrowses       r>   rm   HelpSource.create_extra  s    

%VMO	 }}5%ll"E	HA $ 0 02CE%)__6 	aRAARF 	 	!		aRAAacF 	 	$1"1QqS9A2!!$%aC 	 	)r@   c                 D    [         R                  " XS9R                  X#S9$ )N)r#   	filetypes)
initialdirinitialfile)r   Openshow)r=   r   initdirinitfiles       r>   askfilenameHelpSource.askfilename  s!     d@>	?r@   c                 :   / SQnU R                   R                  5       nU(       a"  [        R                  R	                  U5      u  p4OS n[
        S S S:X  a{  [        R                  R                  [        R                  R                  [        5      S5      n[        R                  R                  U5      (       d  [        R                  " 5       nO[        R                  " 5       nU R                  XU5      nU(       a  U R                   R                  U5        g g )N))z
HTML Filesz*.htm *.htmlTEXT)z	PDF Filesz*.pdfr   )zWindows Help Filesz*.chm)z
Text Filesz*.txtr   )z	All Files*r[   winDoc)r   r|   osr   splitr   joindirnamer   isdirgetcwdr   set)r=   r   r   dirbasefiles         r>   r   HelpSource.browse_file!  s     	 ||!d+ICD|u$ggll277??:#>Fww}}S))))+Ciik	5LLT" r@   c                    U R                   R                  5       R                  5       nU(       d  U R                  SU R                  5        g UR                  S5      (       d^  US S S:X  a  USS  n[        R                   R                  U5      (       d  U R                  SU R                  5        g [        S:X  a  SU-   nU$ )Nzno help file path specified.)zwww.httpr\   zfile:zhelp file path does not exist.darwinzfile://)	r   r|   r}   ry   r   
startswithr   rT   r   )r=   r   s     r>   path_okHelpSource.path_ok9  s    yy}}$$&NN94??K!122BQx7"ABx77>>$''?#08#!D(r@   c                 v    SU R                   S'   U R                  5       nU R                  5       nUb  Uc  S $ X4$ r   )r   item_okr   )r=   rS   r   s      r>   r~   HelpSource.entry_okJ  s;    "$||~||~|t|tE$Er@   )r   r   r   r   )r   r   r   r   r%   rm   r   r   r   r~   r   r   r   r   r   s   @r>   r   r      sJ     35ruUE E)(?#, ""G"F Fr@   r   c                   F   ^  \ rS rSr/ SSS.U 4S jjrS rS rS rSrU =r	$ )		CustomRuniQ  F)cli_argsr   r   c          	      (   > Sn[         TU ]  XXcXES9  g )Nz$Command Line Arguments for sys.argv:r   r   )r=   r#   r'   r   r   r   r$   r   s          r>   r%   CustomRun.__init__Y  s$     9w 	 	.r@   c                     U R                   n[        U SS9U l        [        XR                  SSSS9n[	        USSU R
                  S9U l        UR                  S	S
SSSS9  U R                  R                  S	SSSSS9  g )NT)valueFzRestart shell)variableonvalueoffvaluerO   rV   rW   rX   r   rB   r[   r\   rJ   r]   r   we)rg   r   
restartvarr   r   rk   
args_errorrh   )r=   rg   restarts      r>   rm   CustomRun.create_extrae  s    

$T6eoot',?DCE%)__6 	A2!!CHA2!!$( 	 	*r@   c                     U R                   R                  5       R                  5       n [        R                  " USS9nU$ ! [
         a$  nU R                  [        U5      5         S nAg S nAff = f)NT)posix)r:   r|   r}   shlexr   r   ry   r   )r=   
cli_stringr   errs       r>   cli_args_okCustomRun.cli_args_okr  s\    ZZ^^%++-
	{{:T:H   	NN3s8$	s   A 
A/A**A/c                 f    U R                  5       nU R                  R                  5       nUc  S $ X4$ rt   )r  r  r|   )r=   r   r  s      r>   r~   CustomRun.entry_ok|  s5    ##%//%%''t@h-@@r@   )r  r  )
r   r   r   r   r%   rm   r  r~   r   r   r   s   @r>   r   r   Q  s-     35e
. 
.*A Ar@   r   __main__)mainzidlelib.idle_test.test_queryr   F)	verbosityexit)run)%importlib.utilr   importlib.abcr   r  sysr   r   tkinterr   r   r   r   r	   r
   tkinter.ttkr   r   r   r   r   r   tkinter.fontr   tkinter.simpledialogr   r   r   r   r   r   r   r   unittestr  idlelib.idle_test.htestr  ru   r@   r>   <module>r     s   , % 	  $ < < @ @   .H D% 0' 'T5  ZF ZFx/A /Ad z	'15A+z9% r@   