B 0c%@sddlmZddlZddlmZddlZdaddZddZdd Z d d Z d d Z ddZ ddZ ddZddZddZddZddZddZedkrddlmZed d!d"dS)#) expanduserN)platformcCsjtdkrbt}|jdd}d|kr,dan,d|kr:dand|jd d d krTd and a|ndadS)NdarwintkZwindowingsystemZx11xquartzZaquaotherZAppKitZwinfoZserver.cocoacarbon)rtkinterZTkrcall_tk_typeZdestroy)rootZwsr3/opt/alt/python37/lib64/python3.7/idlelib/macosx.py _init_tk_types rcCsts ttdkptdkS)Nr r )r rrrrrisAquaTk%srcCsts ttdkS)Nr )r rrrrr isCarbonTk-srcCsts ttdkS)Nr )r rrrrr isCocoaTk6srcCsts ttdkS)Nr)r rrrrr isXQuartz>srcCs2tr*|jdd}|dkr dSd|SdSdS)Ninfo patchlevel)z8.5.7z8.5.9FzWARNING: The version of Tcl/Tk ({0}) in use may be unstable. Visit http://www.python.org/download/mac/tcltk/ for current information.)rrr format)rrrrrtkVersionWarningGs rc CsNtdkr dStd}y t|d }t|SQRXWntk rHdSXdS)Nrz.~/Library/Preferences/.GlobalPreferences.plistrb)rropenplistlibloadOSError)Z plist_pathZ plist_filerrrreadSystemPreferences\s rcCs,tdkr dSt}|r(|ddkr(dSdS)NrZAppleWindowTabbingModealwayszWARNING: The system preference "Prefer tabs when opening documents" is set to "Always". This will cause various problems with IDLE. For the best experience, change this setting when running IDLE (via System Preferences -> Dock).)rrget)ZprefsrrrpreferTabsPreferenceWarningks r"csfdd}|d|dS)Ncsx|D]}|qWdS)N)r)argsfn)flistrr doOpenFiles z'addOpenEventSupport..doOpenFilez::tk::mac::OpenDocument) createcommand)rr%r&r)r%raddOpenEventSupports r(cCs.y|jddWntjk r(YnXdS)NZconsoleZhide)rr r ZTclError)rrrr hideTkConsolesr)c sddlm}ddlm}ddlm|jddd}|jdddd=|jddd||jd ddd =|jdddd =|}j|d i}||d dd |d <}|jd|dd|ffdd } |d$fdd } d%fdd } d&fdd }  d|  d|  d| rR dj  dj t r||ddd |d<}|jd|d |jddd!dgftrĈ d"|  d#| |jd dd=dS)'Nr)Menu)mainmenu)window)menur,)nameZtearoffZWindow)labelr3Z underlinecs8|d}|dkrd}|dkr*|d||dS)Nendr1r)indexdeleteZadd_windows_to_menu)r3r6)r,rrpostwindowsmenus   z)overrideRootMenu..postwindowsmenucsddlm}|dS)Nr) help_about)idlelibr:Z AboutDialog)eventr:)rrr about_dialogs z&overrideRootMenu..about_dialogcs$ddlm}j_|ddS)Nr) configdialogZSettings)r;r>Z inversedictZ instance_dictZ ConfigDialog)r<r>)r%rrr config_dialogs z'overrideRootMenu..config_dialogcsddlm}|dS)Nr)help)r;r@Z show_idlehelp)r<r@)rrr help_dialogs z%overrideRootMenu..help_dialogz<>z<>z::tk::mac::ShowPreferencesz<>exitZappleZ applicationZIDLE)r5r3)z About IDLEz<>Z tkAboutDialogz::tk::mac::ShowHelp)N)N)N)r r*r;r+r,ZmenudefsinsertZ configureZ add_cascadeZregister_callbackZbindr'Zclose_all_callbackrr) rr%r*r+Z closeItemZmenubarZmenudictr3r9r=r?rAr)r%rr,roverrideRootMenusH            rDcCs(|dd|dd|dddS)NZTextzz z<>)Z unbind_class)rrrr fixb2contexts  rEcCs.tr*t|t||t||t|dS)N)rr)rDr(rE)rr%rrrsetupApps   rF__main__)mainzidlelib.idle_test.test_macosxr2) verbosity)Zos.pathrrsysrr r rrrrrrrr"r(r)rDrErF__name__ZunittestrHrrrrs(    h