B
    2*\#                 @   s   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
 d dlmZmZmZmZmZmZmZmZmZmZ d dlmZ dd ZG dd	 d	eZed
krd dlmZ edddd d dlmZ ee dS )    N)python_versionarchitecture)ToplevelFrameLabelButton
PhotoImage)
SUNKENTOPBOTTOMLEFTXBOTHWEWNSEWE)textviewc               C   s2   t jdkrt jdkrdS dS t d d d S d S )Ndarwinl        Z64Z32r      )sysplatformmaxsizer    r   r   =C:\ALexclude\prg\programme\Python37\Lib\idlelib\help_about.py
build_bits   s    
r   c               @   sr   e Zd ZddddddZdd Zdd	 Zd
d Zdd Zdd Zdd Z	dd Z
dd ZdddZdddZdS )AboutDialogNF)_htest_utestc            C   s   t | | | jdd | d| d | |s6dnd f  d| _d| _|   | j	ddd	 | 
|pd
t  dt  d | | |   | d| j || _| j  | d| j | d| j d | _|| _|s|   |   d S )N   )borderwidthz+%d+%d   d   z#bbbbbbz#000000F)heightwidthzAbout IDLE z (z bit)ZWM_DELETE_WINDOWz<Return>z<Escape>)r   __init__Z	configureZgeometryZwinfo_rootxZwinfo_rootybgfgcreate_widgetsZ	resizabletitler   r   Z	transientZgrab_setZprotocolokparent	button_okZ	focus_setZbind_current_textviewr   Z	deiconifyZwait_window)selfr+   r)   r   r   r   r   r   r%      s.    


zAboutDialog.__init__c             C   s  t | dtd}t | }|jttd |jtdtd t|d| jd| _	| j	jddd	 t || j
d
}|jdtd t|d| j| j
dd}|jddtddd | jdd}|dkrdnd}tjtjtjtdd| }t|  |d| _t|| j| j
d}|jddtdddd d}	t||	t| j| j
d}
|
jddtdddd t|d t| j| j
d}|jd!ddtddd" t|d#t d d  d$ t| j| j
d}|jd%ddtddd" t |d&td| j
d'jd(dtdddd t|d)t  | j| j
d*}|jd+dtddd t|d,| | j| j
d*}|jd+d&tddd t || j
d
}|jdddtd- t|d.d(| j
| jd/| _ | j jtddd0 t|d1d(| j
| j!d/| _"| j"jtddd0 t|d2d(| j
| j#d/| _$| j$jtddd0 t |d&td| j
d'jd3dtdddd t|d4t  | j| j
d*}|jd5dtddd t || j
d
}|jd6ddtd- t|d7d(| j
| j%d/| _&| j&jtddd0 t|d8d(| j
| j'd/| _(| j(jtddd0 t|d2d(| j
| j)d/| _*| j*jtddd0 d S )9Nr   )r    relief)sidefillT)r0   expandr1   Close)textcommandr   )padxpady)r&   )r2   r1   ZIDLE)Zcourier   Zbold)r4   r'   r&   Zfontr   
   )rowcolumnstickyr6   r7   infoZ
patchlevelz8.6z.pngz.gifZIconsZidle_48)Zmasterfile)Zimager&   )r:   r;   r<   Zrowspanr6   r7   z=Python's Integrated Development
and Learning Environment




)r4   Zjustifyr'   r&      )r:   r;   r<   
columnspanr6   r7   zemail:  idle-dev@python.org   )r:   r;   r@   r<   r6   r7   zhttps://docs.python.org/z/library/idle.html      )r    r/   r#   r&      zPython version:  )r4   r'   r&   	   zTk version:  )r:   r;   r@   r<   ZLicense)r4   r$   Zhighlightbackgroundr5   )r0   r6   r7   Z	CopyrightZCredits   zIDLE version:         ZREADMEZNEWS)+r   r	   packr   r   r
   r   r   r*   r,   r&   r   r'   Zgridr   ZtkZcallospathjoinabspathdirname__file__r   Z_rootZ
icon_imager   r   r   r   r   show_py_licenseZ
py_licenseshow_py_copyrightZpy_copyrightshow_py_creditsZ
py_creditsshow_readmeZreadmeshow_idle_newsZ	idle_newsshow_idle_creditsZidle_credits)r.   frameZframe_buttonsZframe_backgroundheaderZtk_patchlevelZextZiconZlogoZbyline_textZbylineZemailZdocsZpyverZtkverZ
py_buttonsZidleverZidle_buttonsr   r   r   r(   <   s    

zAboutDialog.create_widgetsc             C   s   |  dt d S )NzAbout - License)display_printer_textlicense)r.   r   r   r   rP      s    zAboutDialog.show_py_licensec             C   s   |  dt d S )NzAbout - Copyright)rX   	copyright)r.   r   r   r   rQ      s    zAboutDialog.show_py_copyrightc             C   s   |  dt d S )NzAbout - Python Credits)rX   credits)r.   r   r   r   rR      s    zAboutDialog.show_py_creditsc             C   s   |  ddd d S )NzAbout - CreditszCREDITS.txtzutf-8)display_file_text)r.   r   r   r   rU      s    zAboutDialog.show_idle_creditsc             C   s   |  ddd d S )NzAbout - Readmez
README.txtascii)r\   )r.   r   r   r   rS      s    zAboutDialog.show_readmec             C   s   |  ddd d S )NzAbout - NEWSzNEWS.txtzutf-8)r\   )r.   r   r   r   rT      s    zAboutDialog.show_idle_newsc             C   s.   |   d|j}tj| ||| jd| _d S )N
)r   )_Printer__setuprL   _Printer__linesr   Z	view_textr   r-   )r.   r)   Zprinterr4   r   r   r   rX      s    z AboutDialog.display_printer_textc             C   s:   t jt jt jt|}tj| |||| jd| _	d S )N)r   )
rJ   rK   rL   rM   rN   rO   r   Z	view_filer   r-   )r.   r)   filenameencodingfnr   r   r   r\      s    zAboutDialog.display_file_textc             C   s   |    |   d S )N)Zgrab_releaseZdestroy)r.   Zeventr   r   r   r*      s    zAboutDialog.ok)N)N)N)__name__
__module____qualname__r%   r(   rP   rQ   rR   rU   rS   rT   rX   r\   r*   r   r   r   r   r      s   "V
r   __main__)mainz!idlelib.idle_test.test_help_aboutr   F)	verbosityexit)run)rJ   r   r   r   r   Ztkinterr   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   Zidlelibr   r   r   rd   Zunittestrh   Zidlelib.idle_test.htestrk   r   r   r   r   <module>   s   0 5