<!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>
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r”y| 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
