PNG  IHDR;IDATxܻn0K )(pA 7LeG{ §㻢|ذaÆ 6lذaÆ 6lذaÆ 6lom$^yذag5bÆ 6lذaÆ 6lذa{ 6lذaÆ `}HFkm,mӪôô! x|'ܢ˟;E:9&ᶒ}{v]n&6 h_tڠ͵-ҫZ;Z$.Pkž)!o>}leQfJTu іچ\X=8Rن4`Vwl>nG^is"ms$ui?wbs[m6K4O.4%/bC%t Mז -lG6mrz2s%9s@-k9=)kB5\+͂Zsٲ Rn~GRC wIcIn7jJhۛNCS|j08yiHKֶۛkɈ+;SzL/F*\Ԕ#"5m2[S=gnaPeғL lذaÆ 6l^ḵaÆ 6lذaÆ 6lذa; _ذaÆ 6lذaÆ 6lذaÆ RIENDB`  pY!@sdZddlZddlZddlmZddlZddZddZdadd Z d d Z d d Z ddZ ddZ ddZddZddZddZddZdS)z5 A number of functions that enhance IDLE on Mac OSX. N)pathcCstjdtddtS)Nz/runningAsOSXApp() is deprecated, use isAquaTk() stacklevel)warningswarnDeprecationWarningisAquaTkr r ,/opt/python35/lib/python3.5/macosxSupport.pyrunningAsOSXApp s  r cCstjdtddtS)Nz4isCarbonAquaTk(root) is deprecated, use isCarbonTk()rr)rrr isCarbonTk)rootr r r isCarbonAquaTks  rcCstjdkr~|jjdd}d|kr9daqd|krNdaqd|jjd d d krud aqd andadS)zl Initializes OS X Tk variant values for isAquaTk(), isCarbonTk(), isCocoaTk(), and isXQuartz(). darwintkZwindowingsystemZx11xquartzZaquaotherZAppKitZwinfoZserver.cocoacarbonN)sysplatformrcall_tk_type)r Zwsr r r _initializeTkVariantTestss      rcCs(tdk sttdkp'tdkS)zK Returns True if IDLE is using a native OS X Tk (Cocoa or Carbon). Nrr)rAssertionErrorr r r r r(srcCstdk sttdkS)zb Returns True if IDLE is using a Carbon Aqua Tk (instead of the newer Cocoa Aqua Tk). Nr)rrr r r r r /sr cCstdk sttdkS)z8 Returns True if IDLE is using a Cocoa Aqua Tk. Nr)rrr r r r isCocoaTk7srcCstdk sttdkS)z7 Returns True if IDLE is using an OS X X11 Tk. Nr)rrr r r r isXQuartz>srcCsCtr;|jjdd}|dkr.dSdj|SdSdS) a2 Returns a string warning message if the Tk version in use appears to be one known to cause problems with IDLE. 1. Apple Cocoa-based Tk 8.5.7 shipped with Mac OS X 10.6 is unusable. 2. Apple Cocoa-based Tk 8.5.9 in OS X 10.7 and 10.8 is better but can still crash unexpectedly. info patchlevel8.5.78.5.9FzWARNING: The version of Tcl/Tk ({0}) in use may be unstable.\nVisit http://www.python.org/download/mac/tcltk/ for current information.N)r r!)rrrformat)r rr r r tkVersionWarningEs  r#cs&fdd}|jd|dS)z This ensures that the application will respond to open AppleEvents, which makes is feasible to use IDLE as the default application for python files. cs"x|D]}j|qWdS)N)open)argsfn)flistr r doOpenFile^s z'addOpenEventSupport..doOpenFilez::tk::mac::OpenDocumentN) createcommand)r r'r(r )r'r addOpenEventSupportYsr*c Cs3y|jjddWntjk r.YnXdS)NZconsoleZhide)rrtkinterZTclError)r r r r hideTkConsolegsr,c sddlm}ddlm}ddlm|jddd*}|jddd+d=|jddjd ||jd,ddd=|jd-dd=|}jd |i}||d d d d|d <}|jddd |dd|fdd}j |dfdd} dfdd} dfdd} j d| j d| j d| rj dj j dj t rl||d dd d|d<}|jdd d ||jjddd.dgfjjd"} ttt| jd#d/krl|jddjd0trj d(| j d)| |jd1dd=dS)2zf Replace the Tk root menu by something that is more appropriate for IDLE with an Aqua Tk. r)Menu)Bindings) WindowListrNmenunameZwindowsZtearoffZlabelZWindowZ underlinecsN|jd}|dkr!d}|dkr=|jd|j|dS)Nendr0r)indexdeleteZadd_windows_to_menu)r3r5)r/r r postwindowsmenus   z)overrideRootMenu..postwindowsmenucs$ddlm}|jddS)zHandle Help 'About IDLE' event.r) aboutDialogz About IDLEN)idlelibr:Z AboutDialog)eventr:)r r r about_dialogsz&overrideRootMenu..about_dialogcs0ddlm}j_|jddS)z&Handle Options 'Configure IDLE' event.r) configDialogZSettingsN)r;r>Z inversedictZ instance_dictZ ConfigDialog)r<r>)r'r r r config_dialogs z'overrideRootMenu..config_dialogcs!ddlm}|jdS)zHandle Help 'IDLE Help' event.r)helpN)r;r@Z show_idlehelp)r<r@)r r r help_dialogsz%overrideRootMenu..help_dialog<><>z::tk::mac::ShowPreferencesz<>exitZappleZ applicationZIDLE About IDLEzinfo patchlevelr_Preferences....Z tkAboutDialogz::tk::mac::ShowHelpr6rJ)rErB)rFrGrH)rIrCr6)r+r-r;r.r/ZmenudefsinsertZ configureZ add_cascadeZregister_callbackbindr)Zclose_all_callbackr revaltuplemapintsplitappendr) r r'r-r.Z closeItemZmenubarZmenudictr3r9r=r?rAZ tkversionr )r/r'r r overrideRootMenunsP       $ rTcCs;t|tr7t|t||t||dS)a Perform initial OS X customizations if needed. Called from PyShell.main() after initial calls to Tk() There are currently three major versions of Tk in use on OS X: 1. Aqua Cocoa Tk (native default since OS X 10.6) 2. Aqua Carbon Tk (original native, 32-bit only, deprecated) 3. X11 (supported by some third-party distributors, deprecated) There are various differences among the three that affect IDLE behavior, primarily with menus, mouse key events, and accelerators. Some one-time customizations are performed here. Others are dynamically tested throughout idlelib by calls to the isAquaTk(), isCarbonTk(), isCocoaTk(), isXQuartz() functions which are initialized here as well. N)rrr,rTr*)r r'r r r setupApps     rU)__doc__rr+osrrr rrrrr rrr#r*r,rTrUr r r r s"              n