£Á°èZ¨Ä…–K§‚«“ô4“ÒÙ´dîfUÙÃÅ WKbyÊ¦•êŽ…È®FÒ¿ÊÎóCozá¬S@6{Í:›œêZÌ:Š•_%:¢¾¾~;‘Ã~èŠ©ÊÇí`ÔÑ©úë™µ'5I¿fš×WO%ø9¾«¾DK|€ùÍD”Ýs]nHÕ¶ê×Ó¼ãžªéUWŸÈË%DÒÕ¬ï‘]/Åcx  ‰ï2ß]ä6G[]S£ÔÏ¯rs{úëóµmÒï#UQxo·õÞCe]"±/aÙ&Eã4ú9Jé_ÞåëdãöKë)AÞ                  ¯¹ægƒÛowÐø^d™ý½ßB7áyMä9ÜÖUã
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
<html>
B
    YI~d2:                 @   s  d dl Z d dlZd dlZd dlmZmZ d dlmZmZm	Z	m
Z
mZmZ d dlmZmZmZmZmZ d dlmZ d dlmZ G dd deZG d	d
 d
eZG dd deZG dd deZG dd deZG dd deZedkrd dlmZ edddd d dlm Z  e eee dS )    N)
executableplatform)Toplevel	StringVar
BooleanVarWES)FrameButtonEntryLabelCheckbutton)
filedialog)Fontc                   sh   e Zd Zdi dddddZdddZd	d
 ZdddZdd ZdddZdddZ	 fddZ
  ZS )Query F)text0
used_names_htest_utestc      	      C   sX  || _ || _|| _|| _t| | |   | | | | | 	  | j
dd}|dkry| j
dd| jdd W n   Y nX | d| j | d	| j | d
| j | d| j | d| j |   |   | d| | d |  d   | |s$| d |  d  nd f  | jddd |sT|   |   d S )NtkwindowingsystemZaquaz!::tk::unsupported::MacWindowStyleZstyleZmoveableModalr   z<Command-.>z<Key-Escape>ZWM_DELETE_WINDOWz<Key-Return>z
<KP_Enter>z+%d+%d      F)Zheightwidth)parentmessager   r   r   __init__ZwithdrawtitleZ	transientZgrab_setr   ZcallZ_wZbindcancelZprotocolokcreate_widgetsZupdate_idletasksZgeometryZwinfo_rootxZwinfo_widthZwinfo_reqwidthZwinfo_rootyZwinfo_heightZwinfo_reqheightZ	resizableZ	deiconifyZwait_window)	selfr   r   r   r   r   r   r   r    r$   2/opt/alt/python37/lib64/python3.7/idlelib/query.pyr   %   sB    


*zQuery.__init__OKc             C   s6  t | dd | _}|jdddd |jddd t|dd	| jd
}t| | j| _t	|d| jd| _
| j
  tdd| jd| _t|dd| jd| _|jddddtd | j
jddddtt ddgd | jjddddtt d |   t||d| jd| _t|d| jd| _| jjdddd | jjdddd d S )N
   )Zpaddingr   Znews)columnrowsticky   )Zweightwleft)anchorjustifytext   )r   textvariableZTkCaptionFontT)nameexistsroot red)r0   
foregroundfont      )r(   r)   
columnspanpadxr*   )r(   r)   r<   r=   r*   padyr   Zactive)r0   defaultcommandZCancel)r0   r@   c   )r(   r)   r=   )r
   framegridZgrid_columnconfigurer   r   r   r   Zentryvarr   entry	focus_setr   r   
error_fontentry_errorr   r   create_extrar   r!   Z	button_okr    Zbutton_cancel)r#   Zok_textrB   Z
entrylabelr$   r$   r%   r"   [   s0    

zQuery.create_widgetsc             C   s   d S )Nr$   )r#   r$   r$   r%   rH          zQuery.create_extraNc             C   s   d| |p| j d< d S )NzERROR: r0   )rG   )r#   r   Zwidgetr$   r$   r%   	showerror   s    zQuery.showerrorc             C   s$   | j   }|s | d d S |S )Nzblank line.)rD   getstriprJ   )r#   rD   r$   r$   r%   entry_ok   s
    
zQuery.entry_okc             C   s8   d| j d< |  }|d k	r*|| _|   n
| j  d S )Nr   r0   )rG   rM   resultdestroyrD   rE   )r#   eventrD   r$   r$   r%   r!      s    

zQuery.okc             C   s   d | _ |   d S )N)rN   rO   )r#   rP   r$   r$   r%   r       s    zQuery.cancelc                s   |    t   d S )N)Zgrab_releasesuperrO   )r#   )	__class__r$   r%   rO      s    zQuery.destroy)r&   )N)N)N)__name__
__module____qualname__r   r"   rH   rJ   rM   r!   r    rO   __classcell__r$   r$   )rR   r%   r       s   5
%


r   c                   s,   e Zd Zddd fdd
Zdd Z  ZS )SectionNameF)r   r   c               s   t  j||||||d d S )N)r   r   r   )rQ   r   )r#   r   r   r   r   r   r   )rR   r$   r%   r      s    zSectionName.__init__c             C   sV   | j   }|s | d d S t|dkr:| d d S || jkrR| d d S |S )Nzno name specified.r1   z"name is longer than 30 characters.zname is already in use.)rD   rK   rL   rJ   lenr   )r#   r3   r$   r$   r%   rM      s    



zSectionName.entry_ok)rS   rT   rU   r   rM   rV   r$   r$   )rR   r%   rW      s   rW   c                   s,   e Zd Zddd fdd
Zdd Z  ZS )
ModuleNameF)r   r   c               s   t  j||||||d d S )N)r   r   r   )rQ   r   )r#   r   r   r   r   r   r   )rR   r$   r%   r      s    zModuleName.__init__c          
   C   s   | j   }|s | d d S ytj|}W n4 ttfk
rd } z| t	| d S d }~X Y nX |d kr|| d d S t
|jtjjs| d d S y|j|}W n" tk
r   | jd| d d S X |S )Nzno name specified.zmodule not foundznot a source-based modulez$loader does not support get_filename)r   )rD   rK   rL   rJ   	importlibutil	find_spec
ValueErrorImportErrorstr
isinstanceloaderabcSourceLoaderget_filenameAttributeError)r#   r3   specmsgZ	file_pathr$   r$   r%   rM      s,    


zModuleName.entry_ok)rS   rT   rU   r   rM   rV   r$   r$   )rR   r%   rY      s   rY   c               @   s   e Zd Zdd ZdS )Gotoc             C   sL   yt | j }W n tk
r0   | d d S X |dkrH| d d S |S )Nznot a base 10 integer.r   znot a positive integer.)intrD   rK   r]   rJ   )r#   linenor$   r$   r%   rM      s    

zGoto.entry_okN)rS   rT   rU   rM   r$   r$   r$   r%   rh      s   rh   c                   sX   e Zd Zddi ddd fdd
Zdd Zdd	 Zd
d ZejZ	dd Z
dd Z  ZS )
HelpSourcer   F)menuitemfilepathr   r   r   c      	   	      s(   || _ d}t j|||||||d d S )NzName for item on Help menu:)r   r   r   r   )rm   rQ   r   )	r#   r   r   rl   rm   r   r   r   r   )rR   r$   r%   r      s
    zHelpSource.__init__c             C   s   | j }t|dddd}t| | j| _t|| jdd| _t|dd| jd	}t|d
d| j	d| _
|jddddddgtd | jjddddtt ddgd |jdddtt d | j
jddddtt d d S )Nr,   r-   z,Help File Path: Enter URL or browse for file)r.   r/   r0   (   )r2   r   ZBrowse   )r0   r   r@   r6   r7   )r0   r8   r9   r   r'   r:   r;   )r(   r)   r<   r=   r>   r*      r   )r(   r)   r<   r=   r*   r>   )r(   r)   r=   r*      )r(   r)   r<   r=   r*   )rB   r   r   rm   pathvarr   pathr   browse_filerF   
path_errorrC   r   r   r	   )r#   rB   Z	pathlabelZbrowser$   r$   r%   rH     s     
zHelpSource.create_extrac             C   s   t j| |dj||dS )N)r   	filetypes)Z
initialdirZinitialfile)r   ZOpenZshow)r#   rv   ZinitdirZinitfiler$   r$   r%   askfilename  s    zHelpSource.askfilenamec             C   s   dddddg}| j  }|r.tj|\}}nHd }td d dkrntjtjtd}tj	|svt
 }nt
 }| |||}|r| j | d S )	N)z
HTML Filesz*.htm *.htmlTEXT)z	PDF Filesz*.pdfrx   )zWindows Help Filesz*.chm)z
Text Filesz*.txtrx   )z	All Files*r:   winZDoc)rr   rK   osrs   splitr   joindirnamer   isdirgetcwdrw   set)r#   rv   rs   dirbasefiler$   r$   r%   rt     s"    

zHelpSource.browse_filec             C   s|   | j   }|s$| d| j d S |dsx|d d dkrJ|dd  }tj |sh| d| j d S tdkrxd| }|S )Nzno help file path specified.)zwww.Zhttpr;   zfile:zhelp file path does not exist.darwinzfile://)	rs   rK   rL   rJ   ru   
startswithr{   r4   r   )r#   rs   r$   r$   r%   path_ok6  s    
zHelpSource.path_okc             C   s6   d| j d< |  }|  }|d ks*|d kr.d S ||fS )Nr   r0   )ru   item_okr   )r#   r3   rs   r$   r$   r%   rM   G  s    
zHelpSource.entry_ok)rS   rT   rU   r   rH   rw   rt   rW   rM   r   r   rV   r$   r$   )rR   r%   rk      s   rk   c                   s>   e Zd Zg ddd fdd
Zdd Zdd Zd	d
 Z  ZS )	CustomRunF)cli_argsr   r   c               s    d}t  j||||||d d S )Nz$Command Line Arguments for sys.argv:)r   r   r   )rQ   r   )r#   r   r   r   r   r   r   )rR   r$   r%   r   V  s    zCustomRun.__init__c             C   sj   | j }t| dd| _t|| jdddd}t|dd| jd| _|jd	d
dddd | jjd	ddddd d S )NT)valueFzRestart shell)variableZonvalueZoffvaluer0   r6   r7   )r0   r8   r9   r   r'   r:   r;   r,   )r(   r)   r<   r=   r*   rq   Zwe)rB   r   
restartvarr   r   rF   Z
args_errorrC   )r#   rB   restartr$   r$   r%   rH   b  s    

zCustomRun.create_extrac          
   C   sV   | j   }ytj|dd}W n0 tk
rP } z| t| d S d }~X Y nX |S )NT)posix)rD   rK   rL   shlexr|   r]   rJ   r_   )r#   Z
cli_stringr   errr$   r$   r%   cli_args_oko  s    zCustomRun.cli_args_okc             C   s&   |   }| j }|d krd S ||fS )N)r   r   rK   )r#   r   r   r$   r$   r%   rM   y  s    
zCustomRun.entry_ok)rS   rT   rU   r   rH   r   rM   rV   r$   r$   )rR   r%   r   N  s
   
r   __main__)mainzidlelib.idle_test.test_queryr   F)	verbosityexit)run)!rZ   r{   r   sysr   r   Ztkinterr   r   r   r   r   r	   Ztkinter.ttkr
   r   r   r   r   r   Ztkinter.fontr   r   rW   rY   rh   rk   r   rS   Zunittestr   Zidlelib.idle_test.htestr   r$   r$   r$   r%   <module>   s&     $\2
