a 9dg#@sdZddlZddlZddlmZmZddlmZmZm Z m Z m Z ddlm Z m Z mZmZmZmZmZmZmZmZddlmZddZGd d d eZed krdd lmZed dddddlmZeedS)zAbout Dialog for IDLE N)python_version architecture)ToplevelFrameLabelButton PhotoImage) SUNKENTOPBOTTOMLEFTXBOTHWEWNSEWE)textviewcCs2tjdkrtjdkrdSdStdddSdS)zReturn bits for platform.darwinlZ64Z32rN)sysplatformmaxsizerrr./usr/local/lib/python3.9/idlelib/help_about.py build_bitss rc@sveZdZdZddddddZddZd d Zd d Zd dZddZ ddZ ddZ ddZ dddZ dddZdS) AboutDialogz!Modal about dialog for idle NF)_htest_utestcCst|||jdd|d|d||s6dndfd|_d|_||j ddd | |pd t d t d | |||d |j||_|j|d|j|d|jd|_||_|s||dS)aCreate popup, do not return until tk widget destroyed. parent - parent of this dialog title - string which is title of popup dialog _htest - bool, change box location when running htest _utest - bool, don't wait_window when running unittest ) borderwidthz+%d+%ddz#bbbbbbz#000000F)heightwidthz About IDLE z (z bit)ZWM_DELETE_WINDOWzzN)r__init__Z configureZgeometryZ winfo_rootxZ winfo_rootybgfgcreate_widgetsZ resizabletitlerrZ transientZgrab_setprotocolokparent button_okZ focus_setbind_current_textviewrZ deiconifyZ wait_window)selfr,r)rrrrrr%s2     zAboutDialog.__init__cCst|dtd}t|}|jttd|jtdtdt|d|jd|_ |j jddd t||j d }|jdtd t |d |j |j d d}|j ddtddd|jdd}|dkrdnd}tjtjtjtdd|}t||d|_t ||j|j d}|j ddtddddd} t || t|j |j d} | j ddtddddt |d t|j |j d} | j d!ddtddd"t |d#tddd$t|j |j d} | j d%ddtddd"t|d&td|j d'j d(dtddddt |d)t|j |j d*} | j d+dtdddt |d,||j |j d*}|j d+d&tdddt||j d }|j dddtd-t|d.d(|j |jd/|_ |j jtddd0t|d1d(|j |j!d/|_"|j"jtddd0t|d2d(|j |j#d/|_$|j$jtddd0t|d&td|j d'j d3dtddddt |d4t|j |j d*}|j d5dtdddt||j d }|j d6ddtd-t|d7d(|j |j%d/|_&|j&jtddd0t|d8d(|j |j'd/|_(|j(jtddd0t|d2d(|j |j)d/|_*|j*jtddd0dS)9Nr)r relief)sidefillT)r2expandr3Close)textcommandr)padxpady)r&)r4r3ZIDLE)ZcourierZbold)r6r'r&Zfontr )rowcolumnstickyr8r9infoZ patchlevelz8.6z.pngz.gifZIconsZidle_48)Zmasterfile)Zimager&)r<r=r>Zrowspanr8r9z=Python's Integrated Development and Learning Environment )r6Zjustifyr'r&)r<r=r> columnspanr8r9zemail: idle-dev@python.org)r<r=rBr>r8r9zhttps://docs.python.org/z/library/idle.html)r r1r#r&zPython version: )r6r'r& z Tk version: )r<r=rBr>ZLicense)r6r$Zhighlightbackgroundr7)r2r8r9Z CopyrightZCredits zIDLE version: ZREADMEZNEWS)+rr packr r r rrr+r-r&rr'ZgridrZtkcallospathjoinabspathdirname__file__r_rootZ icon_imagerr rrrshow_py_licenseZ py_licenseshow_py_copyrightZ py_copyrightshow_py_creditsZ py_credits show_readmeZreadmeshow_idle_newsZ idle_newsshow_idle_creditsZ idle_credits)r0frameZ frame_buttonsZframe_backgroundheaderZ tk_patchlevelextZiconZlogoZ byline_textZbylineZemailZdocsZpyverZtkverZ py_buttonsZidleverZ idle_buttonsrrrr(<s      zAboutDialog.create_widgetscCs|dtdS)zHandle License button event.zAbout - LicenseN)display_printer_textlicenser0rrrrTszAboutDialog.show_py_licensecCs|dtdS)zHandle Copyright button event.zAbout - CopyrightN)r] copyrightr_rrrrUszAboutDialog.show_py_copyrightcCs|dtdS)z#Handle Python Credits button event.zAbout - Python CreditsN)r]creditsr_rrrrVszAboutDialog.show_py_creditscCs|ddddS)z!Handle Idle Credits button event.zAbout - Creditsz CREDITS.txtutf-8Ndisplay_file_textr_rrrrYszAboutDialog.show_idle_creditscCs|ddddS)zHandle Readme button event.zAbout - Readmez README.txtasciiNrcr_rrrrWszAboutDialog.show_readmecCs|ddddS)zHandle News button event.z About - NEWSzNEWS.txtrbNrcr_rrrrXszAboutDialog.show_idle_newscCs.|d|j}tj||||jd|_dS)a Create textview for built-in constants. Built-in constants have type _sitebuiltins._Printer. The text is extracted from the built-in and then sent to a text viewer with self as the parent and title as the title of the popup.  rN)_Printer__setuprO_Printer__linesrZ view_textrr/)r0r)Zprinterr6rrrr]s   z AboutDialog.display_printer_textcCs:tjtjtjt|}tj|||||jd|_ dS)zCreate textview for filename. The filename needs to be in the current directory. The path is sent to a text viewer with self as the parent, title as the title of the popup, and the file encoding. rgN) rMrNrOrPrQrRrZ view_filerr/)r0r)filenameencodingfnrrrrds zAboutDialog.display_file_textcCs||dS)zDismiss help_about dialog.N)Z grab_releaseZdestroy)r0eventrrrr+szAboutDialog.ok)N)N)N)__name__ __module__ __qualname____doc__r%r(rTrUrVrYrWrXr]rdr+rrrrrs"V r__main__)mainz!idlelib.idle_test.test_help_aboutrF) verbosityexit)run)rqrMrrrrtkinterrrrrrr r r r r rrrrrZidlelibrrrrnZunittestrsZidlelib.idle_test.htestrvrrrrs0 5