Viewing File: /opt/alt/python35/lib64/python3.5/idlelib/__pycache__/macosxSupport.cpython-35.opt-1.pyc



©ÕYfì!ã@sÔdZddlZddlZddlmZddlZdd„Zdd„Zdadd	„Z	d
d„Z
dd
„Zdd„Zdd„Z
dd„Zdd„Zdd„Zdd„Zdd„ZdS)z5
A number of functions that enhance IDLE on Mac OSX.
éN)ÚpathcCstjdtddƒtƒS)Nz/runningAsOSXApp() is deprecated, use isAquaTk()Ú
stacklevelé)ÚwarningsÚwarnÚDeprecationWarningÚisAquaTk©r	r	ú:/opt/alt/python35/lib64/python3.5/idlelib/macosxSupport.pyÚrunningAsOSXApp	s	
rcCstjdtddƒtƒS)Nz4isCarbonAquaTk(root) is deprecated, use isCarbonTk()rr)rrrÚ
isCarbonTk)Úrootr	r	r
ÚisCarbonAquaTks	
rcCsˆtjdkr~|jjddƒ}d|kr9daq„d|krNdaq„d|jjd	d
dƒkrudaq„d
andadS)zl
    Initializes OS X Tk variant values for
    isAquaTk(), isCarbonTk(), isCocoaTk(), and isXQuartz().
    ÚdarwinÚtkZwindowingsystemZx11ÚxquartzZaquaÚotherZAppKitZwinfoZserverÚ.ÚcocoaÚcarbonN)ÚsysÚplatformrÚcallÚ_tk_type)r
Zwsr	r	r
Ú_initializeTkVariantTestss				rcCstdkptdkS)zK
    Returns True if IDLE is using a native OS X Tk (Cocoa or Carbon).
    rr)rr	r	r	r
r(srcCs
tdkS)zb
    Returns True if IDLE is using a Carbon Aqua Tk (instead of the
    newer Cocoa Aqua Tk).
    r)rr	r	r	r
r/srcCs
tdkS)z8
    Returns True if IDLE is using a Cocoa Aqua Tk.
    r)rr	r	r	r
Ú	isCocoaTk7srcCs
tdkS)z7
    Returns True if IDLE is using an OS X X11 Tk.
    r)rr	r	r	r
Ú	isXQuartz>srcCsCtƒr;|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Ú
patchlevelú8.5.7ú8.5.9Fz†WARNING: The version of Tcl/Tk ({0}) in use may be unstable.\nVisit http://www.python.org/download/mac/tcltk/ for current information.N)rr )rrrÚformat)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)ÚargsÚfn)Úflistr	r
Ú
doOpenFile^s
z'addOpenEventSupport.<locals>.doOpenFilez::tk::mac::OpenDocumentN)Ú
createcommand)r
r&r'r	)r&r
ÚaddOpenEventSupportYsr)cCs3y|jjddƒWntjk
r.YnXdS)NZconsoleZhide)rrÚtkinterZTclError)r
r	r	r
Ú
hideTkConsolegsr+c
s«ddlm}ddlm}ddlm‰|jddd*}|jddd+d…=|jddjd	|ƒ|jd,ddd…=|jd-dd=|ˆƒ}ˆjd
|ƒi}||ddd
dƒ|d<}|jddd
|ddƒ|‡fdd†}ˆj	|ƒd‡fdd†}	d‡‡fdd†}
d‡fdd†}ˆj
d|	ƒˆj
d|
ƒˆjd|
ƒˆrÀˆj
dˆjƒˆjdˆjƒt
ƒrl||ddd
dƒ|d<}|jdd d
|ƒ|jjddd.dgfƒˆjjd"ƒ}ttt|jd#ƒƒƒd/krl|jddjd0ƒtƒr§ˆjd(|	ƒˆjd)|ƒ|jd1dd=dS)2zf
    Replace the Tk root menu by something that is more appropriate for
    IDLE with an Aqua Tk.
    r)ÚMenu)ÚBindings)Ú
WindowListéréNéÚmenuÚnameZwindowsZtearoffZlabelZWindowZ	underlinecsN|jdƒ}|dkr!d}|dkr=|jd|ƒˆj|ƒdS)NÚendr/réÿÿÿÿ)ÚindexZdeleteZadd_windows_to_menu)r2r4)r.r	r
Úpostwindowsmenu—sz)overrideRootMenu.<locals>.postwindowsmenucs$ddlm}|jˆdƒdS)zHandle Help 'About IDLE' event.r)ÚaboutDialogz
About IDLEN)Úidlelibr8ZAboutDialog)Úeventr8)r
r	r
Úabout_dialog¡sz&overrideRootMenu.<locals>.about_dialogcs0ddlm}ˆjˆ_|jˆdƒdS)z&Handle Options 'Configure IDLE' event.r)ÚconfigDialogZSettingsN)r9r<ZinversedictZ
instance_dictZConfigDialog)r:r<)r&r
r	r
Ú
config_dialog§sz'overrideRootMenu.<locals>.config_dialogcs!ddlm}|jˆƒdS)zHandle Help 'IDLE Help' event.r)ÚhelpN)r9r>Z
show_idlehelp)r:r>)r
r	r
Úhelp_dialog³sz%overrideRootMenu.<locals>.help_dialogú<<about-idle>>ú<<open-config-dialog>>z::tk::mac::ShowPreferencesz<<close-all-windows>>ÚexitZappleZapplicationZIDLEú
About IDLEzinfo patchlevelréééú_Preferences....Z
tkAboutDialogz::tk::mac::ShowHelpéþÿÿÿéýÿÿÿr5rH)rCr@)rDrErF)rGrAr5)r*r,r9r-r.ZmenudefsÚinsertZ	configureZadd_cascadeZregister_callbackZbindr(Zclose_all_callbackrrÚevalÚtupleÚmapÚintÚsplitÚappendr)
r
r&r,r-Z	closeItemZmenubarZmenudictr2r7r;r=r?Z	tkversionr	)r.r&r
r
ÚoverrideRootMenunsP 
	
$	rQcCs;t|ƒtƒr7t|ƒ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+rQr))r
r&r	r	r
ÚsetupAppÜs

	

rR)Ú__doc__rr*Úosrrrrrrrrrrr"r)r+rQrRr	r	r	r
Ú<module>s"n
Back to Directory File Manager