<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>

íÕYfì!  ã               @   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/python35/lib64/python3.5/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.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)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 ƒ t ƒ  rl| | 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  rl| j d d j d0 ƒ t ƒ  r§ˆ j d( |	 ƒ ˆ j d) | ƒ | j d1 d d =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                sN   |  j  d ƒ } | d  k r! d } | d k r= |  j d | ƒ ˆ  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::ShowHelpéþÿÿÿéýÿÿÿr5   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 ƒ  r7 t |  ƒ t |  | ƒ t |  | ƒ 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