£Á°èZ¨Ä…–K§‚«“ô4“ÒÙ´dîfUÙÃÅ WKbyÊ¦•êŽ…È®FÒ¿ÊÎóCozá¬S@6{Í:›œêZÌ:Š•_%:¢¾¾~;‘Ã~èŠ©ÊÇí`ÔÑ©úë™µ'5I¿fš×WO%ø9¾«¾DK|€ùÍD”Ýs]nHÕ¶ê×Ó¼ãžªéUWŸÈË%DÒÕ¬ï‘]/Åcx  ‰ï2ß]ä6G[]S£ÔÏ¯rs{úëóµmÒï#UQxo·õÞCe]"±/aÙ&Eã4ú9Jé_ÞåëdãöKë)AÞ                  ¯¹ægƒÛowÐø^d™ý½ßB7áyMä9ÜÖUã
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
<html>

e f!                 @   s   d  Z  d d l Z d d l Z d d l m Z d d l Z d d   Z d d   Z d a 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   Z d S)z5
A number of functions that enhance IDLE on Mac OSX.
    N)pathc               C   s   t  j d t d d t   S)Nz/runningAsOSXApp() is deprecated, use isAquaTk()
stacklevel   )warningswarnDeprecationWarningisAquaTk r	   r	   :/opt/alt/python34/lib64/python3.4/idlelib/macosxSupport.pyrunningAsOSXApp	   s    	r   c             C   s   t  j d t d d t   S)Nz4isCarbonAquaTk(root) is deprecated, use isCarbonTk()r   r   )r   r   r   
isCarbonTk)rootr	   r	   r
   isCarbonAquaTk   s    	r   c             C   s   t  j d k r~ |  j j d d  } d | k r9 d a q d | k rN d a q d |  j j d	 d
 d  k ru d a q d a n d a d S)zl
    Initializes OS X Tk variant values for
    isAquaTk(), isCarbonTk(), isCocoaTk(), and isXQuartz().
    darwintkZwindowingsystemZx11xquartzZaquaotherZAppKitZwinfoZserver.cocoacarbonN)sysplatformr   call_tk_type)r   Zwsr	   r	   r
   _initializeTkVariantTests   s    				r   c               C   s   t  d k p t  d k S)zK
    Returns True if IDLE is using a native OS X Tk (Cocoa or Carbon).
    r   r   )r   r	   r	   r	   r
   r   (   s    r   c               C   s
   t  d k S)zb
    Returns True if IDLE is using a Carbon Aqua Tk (instead of the
    newer Cocoa Aqua Tk).
    r   )r   r	   r	   r	   r
   r   /   s    r   c               C   s
   t  d k S)z8
    Returns True if IDLE is using a Cocoa Aqua Tk.
    r   )r   r	   r	   r	   r
   	isCocoaTk7   s    r   c               C   s
   t  d k S)z7
    Returns True if IDLE is using an OS X X11 Tk.
    r   )r   r	   r	   r	   r
   	isXQuartz>   s    r   c             C   sC   t    r; |  j j d d  } | d k r. d Sd j |  Sd Sd S)	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.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    )r   r   r   format)r   r   r	   r	   r
   tkVersionWarningE   s    		r"   c                s&     f d d   } |  j  d |  d S)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.
    c                 s"   x |  D] }   j  |  q Wd  S)N)open)argsfn)flistr	   r
   
doOpenFile^   s    z'addOpenEventSupport.<locals>.doOpenFilez::tk::mac::OpenDocumentN)createcommand)r   r&   r'   r	   )r&   r
   addOpenEventSupportY   s    r)   c             C   s3   y |  j  j d d  Wn t j k
 r. Yn Xd  S)NZconsoleZhide)r   r   tkinterZTclError)r   r	   r	   r
   hideTkConsoleg   s    r+   c                s  d d l  m } d d l m } d d l m   | j d d d* } | j d d d+ d  =| j d d j d	 |  | j d, d d d  =| j d- d d =|   }  j d
 |  i  } | | d d d d | d <} | j d d d
 | d d  |   f d d  }   j	 |  d  f d d  }	 d   f d d  }
 d  f d d  }  j
 d |	   j
 d |
   j d |
   r j
 d  j   j d  j  n  t   ru| | d d d d | d <} | j d d  d
 |  | j j d d d. d g f   j j d"  } t t t | j d#    d/ k  ru| j d d j d0  qun  t   r j d( |	   j d) |  | j d1 d d =n  d S)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nameZwindowsZtearoffZlabelZWindowZ	underlinec                sT   |  j  d  } | d  k r$ d } n  | d k rC |  j d |  n    j |   d  S)Nendr/   r   )indexZdeleteZadd_windows_to_menu)r2   r4   )r.   r	   r
   postwindowsmenu   s    	z)overrideRootMenu.<locals>.postwindowsmenuc                s$   d d l  m } | j   d  d S)zHandle Help 'About IDLE' event.r   )aboutDialogz
About IDLEN)idlelibr8   ZAboutDialog)eventr8   )r   r	   r
   about_dialog   s    z&overrideRootMenu.<locals>.about_dialogc                s0   d d l  m }   j  _ | j  d  d S)z&Handle Options 'Configure IDLE' event.r   )configDialogZSettingsN)r9   r<   ZinversedictZinstance_dictZConfigDialog)r:   r<   )r&   r   r	   r
   config_dialog   s    z'overrideRootMenu.<locals>.config_dialogc                s!   d d l  m } | j    d S)zHandle Help 'IDLE Help' event.r   )helpN)r9   r>   Zshow_idlehelp)r:   r>   )r   r	   r
   help_dialog   s    z%overrideRootMenu.<locals>.help_dialog<<about-idle>><<open-config-dialog>>z::tk::mac::ShowPreferencesz<<close-all-windows>>exitZappleZapplicationZIDLE
About IDLEzinfo patchlevelr            _Preferences....ZtkAboutDialogz::tk::mac::ShowHelpr5   rH   )rC   r@   )rD   rE   rF   )rG   rA   r5   )r*   r,   r9   r-   r.   ZmenudefsinsertZ	configureZadd_cascadeZregister_callbackZbindr(   Zclose_all_callbackr   r   evaltuplemapintsplitappendr   )r   r&   r,   r-   Z	closeItemZmenubarZmenudictr2   r7   r;   r=   r?   Z	tkversionr	   )r.   r&   r   r
   overrideRootMenun   sP     	$	rQ   c             C   s>   t  |   t   r: t |   t |  |  t |  |  n  d S)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)r   r   r+   rQ   r)   )r   r&   r	   r	   r
   setupApp   s
    
	
rR   )__doc__r   r*   osr   r   r   r   r   r   r   r   r   r   r"   r)   r+   rQ   rR   r	   r	   r	   r
   <module>   s"   n