3 2a%@sddlmZddlZddlmZddlZdaddZddZdd Z d d Z d d Z ddZ ddZ ddZddZddZddZddZddZedkrddlmZed d!d"dS)#) expanduserN)platformcCsjtdkrbtj}|jjdd}d|kr,dan,d|kr:dand|jjd d d krTd and a|jndadS)NdarwintkZwindowingsystemZx11xquartzZaquaotherZAppKitZwinfoZserver.cocoacarbon)rtkinterZTkrcall_tk_typeZdestroy)rootZwsr+/opt/alt/python36/lib64/python3.6/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*|jjdd}|dkr dSdj|SdSdS)Ninfo patchlevel8.5.78.5.9FzWARNING: The version of Tcl/Tk ({0}) in use may be unstable. Visit http://www.python.org/download/mac/tcltk/ for current information.)rr)rrr format)rrrrrtkVersionWarningGs rcCsNtdkr dStd}y t|d }tj|SQRXWntk rHdSXdS)Nrz.~/Library/Preferences/.GlobalPreferences.plistrb)rropenplistlibloadOSError)Z plist_pathZ plist_filerrrreadSystemPreferences\s r!cCs,tdkr dSt}|r(|jddkr(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).)rr!get)ZprefsrrrpreferTabsPreferenceWarningks r$csfdd}|jd|dS)Ncsx|D]}j|qWdS)N)r)argsfn)flistrr doOpenFiles z'addOpenEventSupport..doOpenFilez::tk::mac::OpenDocument) createcommand)rr'r(r)r'raddOpenEventSupports r*c Cs.y|jjddWntjk r(YnXdS)NZconsoleZhide)rr r ZTclError)rrrr hideTkConsolesr+c sddlm}ddlm}ddlm|jddd"}|jddd#d=|jddjd||jd$ddd=|jd%dd=|}j|d i}||d dd |d <}|jd |dd |ffdd }j |d&fdd } d'fdd } d(fdd } j d| j d| j d| rNj dj j dj t r||ddd |d<}|jd|d|jjddd)dgftrj d | j d!| |jd*dd=dS)+Nr)Menu)mainmenu)window)menur.)nameZtearoffZWindow)labelr3Z underlinecs8|jd}|dkrd}|dkr*|jd|j|dS)Nendr/r)indexdeleteZadd_windows_to_menu)r3r6)r.rrpostwindowsmenus   z)overrideRootMenu..postwindowsmenucsddlm}|jdS)Nr) help_about)idlelibr;Z AboutDialog)eventr;)rrr about_dialogs z&overrideRootMenu..about_dialogcs$ddlm}j_|jddS)Nr) configdialogZSettings)r<r?Z inversedictZ instance_dictZ ConfigDialog)r=r?)r'rrr config_dialogs z'overrideRootMenu..config_dialogcsddlm}|jdS)Nr)help)r<rAZ show_idlehelp)r=rA)rrr help_dialogs z%overrideRootMenu..help_dialog<>z<>z::tk::mac::ShowPreferencesz<>exitZappleZ applicationZIDLE)r5r3 About IDLEZ tkAboutDialogz::tk::mac::ShowHelpr7rF)N)N)N)rErCr7)r r,r<r-r.ZmenudefsinsertZ configureZ add_cascadeZregister_callbackZbindr)Zclose_all_callbackrr) rr'r,r-Z closeItemZmenubarZmenudictr3r:r>r@rBr)r'rr.roverrideRootMenusH            rIcCs(|jdd|jdd|jdddS)NZTextzz z<>)Z unbind_class)rrrr fixb2contexts  rJcCs.tr*t|t||t||t|dS)N)rr+rIr*rJ)rr'rrrsetupApps   rK__main__)mainzidlelib.idle_test.test_macosxr0) verbosity)Zos.pathrrsysrr r rrrrrrr!r$r*r+rIrJrK__name__ZunittestrMrrrrs(    h