\d"zdZddlZddlZddlZddlmZmZddlmZm Z m Z m Z m Z ddlm Z mZmZmZmZmZmZmZmZmZddlmZeZejdkrejdkrd nd Zneddd ZGd d eZedkr'ddlmZedd dddl m!Z!e!edSdS)zAbout Dialog for IDLE N)python_version architecture)ToplevelFrameLabelButton PhotoImage) SUNKENTOPBOTTOMLEFTXBOTHWEWNSEWE)textviewdarwinl6432cbeZdZdZdddddZdZdZdZd Zd Z d Z d Z d Z ddZ ddZdS) AboutDialogz!Modal about dialog for idle NF)_htest_utestcVtj|||d|d|dz||sdndzfzd|_d|_|| dd | |pd td td | |||d |j||_|j|d|j|d|jd|_||_|s*||dSdS)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)WM_DELETE_WINDOWzzN)r__init__ configuregeometry winfo_rootx winfo_rootybgfgcreate_widgets resizabletitlepyverbits transientgrab_setprotocolokparent button_ok focus_setbind_current_textviewr deiconify wait_window)selfr5r.rrs #..\python\lib\idlelib\help_about.pyr%zAboutDialog.__init__s $''' 1%%% h**,,R/**,,.GbbCH"JJ K K K  e5111 56555$555 7 7 7 v  ($'222    """ *dg&&& *dg&&&!%   NN             ct t|dt}t|}|tt|t dt t|d|j|_ |j dd t||j }|dt t|d |j |j d }| ddtdd|d}|dkrdnd}t"jt"jt"jt,dd|}t/|||_t||j|j }| ddt2dddd} t|| t4|j |j } | ddt2dddt|dt4|j |j } | d ddt2dd!d"t6jddz} t|| t4|j |j  d#ddt2dd!d$fd%t|d&td|j ' d(dt<dddt?| } || krd)|znd*}d+tBd,| |}t|||j |j -}| d.dt2ddt||j }| dddtD/t|d0d(|j |j#1|_$|j$t4dd2t|d3d(|j |j%1|_&|j&t4dd2t|d4d(|j |j'1|_(|j(t4dd2t|d&td|j ' d5dt<dddt|d |j |j -}| d6dt2ddt||j }| d7ddtD/t|d8d(|j |j)1|_*|j*t4dd2t|d9d(|j |j+1|_,|j,t4dd2t|d4d(|j |j-1|_.|j.t4dd2dS):Nr)rrelief)sidefillT)rAexpandrBClose)textcommandr)padxpady)r*)rCrBIDLE)courierbold)rEr+r*fontr )rowcolumnstickyrGrH tk_patchLevelz8.6z.pngz.gifIconsidle_48)masterfile)imager*)rOrPrQrowspanrGrHz=Python's Integrated Development and Learning Environment )rEjustifyr+r*)rOrPrQ columnspanrGrHzemail: idle-dev@python.org)rOrPr[rQrGrHz/https://docs.python.org/%d.%d/library/idle.htmlz c8tjdS)NrE) webbrowseropen)eventdocss r=z,AboutDialog.create_widgets..`sjod6l.K.Kr>)rr@r"r*z and zPython z with tcl/tk )rEr+r* )rOrPr[rQLicense)rEr#highlightbackgroundrF)rArGrH CopyrightCredits READMENEWS)/rr packr rr rrr4r6r*rr+gridr_rootgetvarospathjoinabspathdirname__file__r icon_imagerr sys version_infor8rstrinfo_patchlevelr/rshow_py_license py_licenseshow_py_copyright py_copyrightshow_py_credits py_credits show_readmereadmeshow_idle_news idle_newsshow_idle_credits idle_credits)r<frame frame_buttonsframe_backgroundheadertkpatchexticonlogo byline_textbylineemaildocs_urltclvertkverversionsvers py_buttonsidle idle_buttonsrbs @r=r,zAboutDialog.create_widgets<s0d&999d Q/// Dt 444 G(,111 +++ 47333T555'f'(?AAA !ABR @@@**,,%%o665((fffw||BGOOBGOOH,E,EFF#_s__66$DJJLLtDDD%T_III a!QRb IIIZ 'k4'dg/// !A!"1 MMM&-J"tw47<<< qq! LLLE$RaR()%H!dg$';;; aa KKK , K K K KLLL Af47 $ $ $$(DQq45AA%)%G%G%GT))++,,%,%6%6'!!B@U@@@@@%HTWMMM a!"1 ===+888 BqQtDDD )159W)-)=??? $Rb999":Kq7;w+/+ACCC Dr;;; )159W)-)=??? $Rb999 Af47 $ $ $$(DR"45AA%)%G%G%G%#7tw000 b12A >>>-$'::: bqFFF\15%)%5777  d"555 648G(,(;=== BR888"c<|dtdS)zHandle License button event.zAbout - LicenseN)display_printer_textlicenser<s r=rzAboutDialog.show_py_licenses !!"3W=====r>c<|dtdS)zHandle Copyright button event.zAbout - CopyrightN)r copyrightrs r=rzAboutDialog.show_py_copyrights !!"5yAAAAAr>c<|dtdS)z#Handle Python Credits button event.zAbout - Python CreditsN)rcreditsrs r=rzAboutDialog.show_py_creditss !!":GDDDDDr>c4|ddddS)z!Handle Idle Credits button event.zAbout - Creditsz CREDITS.txtutf-8Ndisplay_file_textrs r=rzAboutDialog.show_idle_creditss! 0-IIIIIr>c4|ddddS)zHandle Readme button event.zAbout - Readmez README.txtasciiNrrs r=rzAboutDialog.show_readmes! /wGGGGGr>c4|ddddS)zHandle News button event.z About - NEWSzNEWS.txtrNrrs r=rzAboutDialog.show_idle_newss  ~z7CCCCCr>c|d|j}tj||||j|_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__setuprw_Printer__linesr view_textrr9)r<r.printerrEs r=rz AboutDialog.display_printer_textsU !!!yy011!)!3 %dk"3"3"3r>c tjtjtjt |}t j|||||j|_ 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. rN) rurvrwrxryrzr view_filerr9)r<r.filenameencodingfns r=rzAboutDialog.display_file_textsbW\\"'//"'//(*C*CDDh O O!)!3 %Xdk";";";r>cV||dS)zDismiss help_about dialog.N) grab_releasedestroy)r<ras r=r4zAboutDialog.oks%  r>)N)__name__ __module__ __qualname____doc__r%r,rrrrrrrrr4r>r=rrs U5     DS<S<S>>BBBEEE JJJHHHDDD 3 3 3 ; ; ; ;r>r__main__)mainz!idlelib.idle_test.test_help_aboutF) verbosityexit)run)"rrur|r_platformrrtkinterrrrrr r r r r rrrrrridlelibrr/maxsizer0rrunittestridlelib.idle_test.htestrrr>r=rs 11111111>>>>>>>>>>>>>>FFFFFFFFFFFFFFFFFFFFFFFF<8;&&44DDD <>>! RaR Dqqqqq(qqqh zD ,FFFF++++++C  r>