o
    g#                     @   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rfd dlmZ edddd d dlmZ ee dS dS )    N)python_versionarchitecture)ToplevelFrameLabelButton
PhotoImage)
SUNKENTOPBOTTOMLEFTXBOTHWEWNSEWE)textviewc                   C   s0   	 t jdkrt jdkrdS dS t d d d S )Ndarwinl        Z64Z32r      )sysplatformmaxsizer    r   r   H/Users/admin/.pyenv/versions/3.10.0/lib/python3.10/idlelib/help_about.py
build_bits   s   
r   c                   @   st   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 | |sdnd f  d| _d| _|   | j	ddd	 | 
|pAd
t  dt  d | | |   | d| j || _| j  | d| j | d| j d | _|| _|s{|   |   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_setprotocolokparent	button_okZ	focus_setbind_current_textviewr   Z	deiconifyZwait_window)selfr,   r)   r   r   r   r   r   r%      s6   


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r[d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)r2   expandr3   Close)textcommandr   )padxpady)r&   )r4   r3   ZIDLE)Zcourier   Zbold)r6   r'   r&   Zfontr   
   )rowcolumnstickyr8   r9   infoZ
patchlevelz8.6z.pngz.gifZIconsZidle_48)Zmasterfile)Zimager&   )r<   r=   r>   Zrowspanr8   r9   z=Python's Integrated Development
and Learning Environment




)r6   Zjustifyr'   r&      )r<   r=   r>   
columnspanr8   r9   zemail:  idle-dev@python.org   )r<   r=   rB   r>   r8   r9   zhttps://docs.python.org/z/library/idle.html      )r    r1   r#   r&      zPython version:  )r6   r'   r&   	   zTk version:  )r<   r=   rB   r>   ZLicense)r6   r$   Zhighlightbackgroundr7   )r2   r8   r9   Z	CopyrightZCredits   zIDLE version:         ZREADMEZNEWS)+r   r	   packr   r   r
   r   r   r+   r-   r&   r   r'   Zgridr   Ztkcallospathjoinabspathdirname__file__r   _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)r0   frameZframe_buttonsZframe_backgroundheaderZtk_patchlevelextZiconZlogoZbyline_textZbylineZemailZdocsZpyverZtkverZ
py_buttonsZidleverZidle_buttonsr   r   r   r(   <   s   




zAboutDialog.create_widgetsc                 C      	 |  dt d S )NzAbout - License)display_printer_textlicenser0   r   r   r   rT         zAboutDialog.show_py_licensec                 C   r]   )NzAbout - Copyright)r^   	copyrightr`   r   r   r   rU      ra   zAboutDialog.show_py_copyrightc                 C   r]   )NzAbout - Python Credits)r^   creditsr`   r   r   r   rV      ra   zAboutDialog.show_py_creditsc                 C      	 |  ddd d S )NzAbout - CreditszCREDITS.txtutf-8display_file_textr`   r   r   r   rY         zAboutDialog.show_idle_creditsc                 C   rd   )NzAbout - Readmez
README.txtasciirf   r`   r   r   r   rW      rh   zAboutDialog.show_readmec                 C   rd   )NzAbout - NEWSzNEWS.txtre   rf   r`   r   r   r   rX      rh   zAboutDialog.show_idle_newsc                 C   s0   	 |   d|j}tj| ||| jd| _d S )N
r   )_Printer__setuprO   _Printer__linesr   Z	view_textr   r/   )r0   r)   Zprinterr6   r   r   r   r^      s   
z AboutDialog.display_printer_textc                 C   s<   	 t jt jt jt|}tj| |||| jd| _	d S )Nrk   )
rM   rN   rO   rP   rQ   rR   r   Z	view_filer   r/   )r0   r)   filenameencodingfnr   r   r   rg      s
   zAboutDialog.display_file_textc                 C   s   	 |    |   d S N)Zgrab_releaseZdestroy)r0   eventr   r   r   r+      s   zAboutDialog.okrq   )__name__
__module____qualname__r%   r(   rT   rU   rV   rY   rW   rX   r^   rg   r+   r   r   r   r   r      s    "V
r   __main__)mainz!idlelib.idle_test.test_help_aboutr   F)	verbosityexit)run)rM   r   r   r   r   tkinterr   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   Zidlelibr   r   r   rs   Zunittestrw   Zidlelib.idle_test.htestrz   r   r   r   r   <module>   s     0 5