Ñò
ïžòKc           @   sO   d  Z  d d k Z d d k Z d „  Z d „  Z d „  Z d „  Z d „  Z d S(   s   
A number of function that enhance IDLE on MacOSX when it used as a normal
GUI application (as opposed to an X11 application).
iÿÿÿÿNc           C   s   t  i d j o d t  i j S(   s›   
    Returns True if Python is running from within an app on OSX.
    If so, assume that Python was built with Aqua Tcl/Tk rather than
    X11 Tck/Tk.
    t   darwins   .app(   t   syst   platformt
   executable(    (    (    s+   scripts/common/Lib/idlelib/macosxSupport.pyt   runningAsOSXApp   s    c            s#   ‡  f d †  } |  i  d | ƒ d S(   s£   
    This ensures that the application will respont to open AppleEvents, which
    makes is feaseable to use IDLE as the default application for python files.
    c             s"   x |  D] } ˆ  i  | ƒ q Wd  S(   N(   t   open(   t   argst   fn(   t   flist(    s+   scripts/common/Lib/idlelib/macosxSupport.pyt
   doOpenFile   s     s   ::tk::mac::OpenDocumentN(   t   createcommand(   t   rootR   R	   (    (   R   s+   scripts/common/Lib/idlelib/macosxSupport.pyt   addOpenEventSupport   s    c         C   s4   y |  i  i d d ƒ Wn t i j
 o n Xd  S(   Nt   consolet   hide(   t   tkt   callt   Tkintert   TclError(   R   (    (    s+   scripts/common/Lib/idlelib/macosxSupport.pyt   hideTkConsole   s    c            sŒ  d d k  l } l } l } d d k l } l } d d k } d d k ‰  d d k l	 } | ˆ ƒ } ˆ i
 d | ƒ h  }	 | | d d ƒ|	 d <}
 | i d	 d
 d |
 d d ƒ |
 ‡  f d † } ˆ  i | ƒ | | d d ƒ|	 d <}
 | i d	 d d |
 ƒ d ‡ f d † } d ‡ ‡ f d † } ˆ i d | ƒ ˆ i d | ƒ ˆ o ˆ i d ˆ i ƒ n ˆ i i d ƒ } t t t | i d ƒ ƒ ƒ d  j o- d d! d g f | i d <ˆ i d | ƒ n¿ x» | i D]° \ } } |	 i | ƒ }
 |
 p qÔqÔx„ | D]| } | p |
 i ƒ  q| \ } } | | ƒ \ } } | | i | ƒ } ˆ | d „ } |
 i d	 | d | d | d | ƒ qWqÔWd S("   sU   
    Replace the Tk root menu by something that's more appropriate for
    IDLE.
    iÿÿÿÿ(   t   Menut   TextR   (   t   prepstrt   get_acceleratorN(   t   MultiCallCreatort   menut   namet   windowst   labelt   Windowt	   underlinei    c            sX   |  i  d ƒ } | d  j o
 d } n | d j o |  i d | ƒ n ˆ  i |  ƒ d  S(   Nt   endiÿÿÿÿi    (   t   indext   Nonet   deletet   add_windows_to_menu(   R   R   (   t
   WindowList(    s+   scripts/common/Lib/idlelib/macosxSupport.pyt   postwindowsmenuB   s    
t   applet   applicationt   IDLEc            s    d d  k  } | i ˆ  d ƒ d  S(   Niÿÿÿÿs
   About IDLE(   t   aboutDialogt   AboutDialog(   t   eventR)   (   R   (    s+   scripts/common/Lib/idlelib/macosxSupport.pyt   about_dialogO   s    c            s,   d d  k  } ˆ i ˆ  _ | i ˆ  d ƒ d  S(   Niÿÿÿÿt   Settings(   t   configDialogt   inversedictt   instance_dictt   ConfigDialog(   R+   R.   (   R   R   (    s+   scripts/common/Lib/idlelib/macosxSupport.pyt   config_dialogS   s    s   <<about-idle>>s   <<open-config-dialog>>s   <<close-all-windows>>s   info patchlevelt   .i   i   i   s
   About IDLEs   ::tk::mac::ShowPreferencesc         S   s   |  i  | ƒ d  S(   N(   t   event_generate(   t   textt	   eventname(    (    s+   scripts/common/Lib/idlelib/macosxSupport.pyt   commandw   s    R7   t   accelerator(   i   i   i   (   s
   About IDLEs   <<about-idle>>(   R   R   R   t   EditorWindowR   R   t   BindingsR$   t	   MultiCallR   t	   configuret   add_cascadet   register_callbackR!   t   bindt   close_all_callbackR   t   evalt   tuplet   mapt   intt   splitt   menudefsR
   t   gett   add_separatort   default_keydefst   add_command(   R   R   R   R   R   R   R:   R   t   menubart   menudictR   R%   R,   R2   t	   tkversiont   mnamet	   entrylistt   entryR   R6   R   R8   R7   (    (   R$   R   R   s+   scripts/common/Lib/idlelib/macosxSupport.pyt   overrideRootMenu%   sT    %
  		c         C   s7   t  ƒ  p d St |  ƒ t |  | ƒ t |  | ƒ d S(   s7   
    Perform setup for the OSX application bundle.
    N(   R   R   RQ   R   (   R   R   (    (    s+   scripts/common/Lib/idlelib/macosxSupport.pyt   setupApp|   s
    
 
(   t   __doc__R   R   R   R   R   RQ   RR   (    (    (    s+   scripts/common/Lib/idlelib/macosxSupport.pyt   <module>   s   				W