U :e$@sNddlZddlmZGdddZddZedkrJddlmZed d d dS) N) messageboxc@s^eZdZddlmZddZdddZddd Zdd d Zd d Z ddZ ddZ ddZ dS)FileListr EditorWindowcCs||_i|_i|_i|_dSN)rootdict inversedictvars)selfrr 5/usr/local/python38/lib/python3.8/idlelib/filelist.py__init__ szFileList.__init__NcCs||}tj|r2tjdd|f|jddStj|}||jkr`|j|}|j |S|rl||S| |||}|j r|S| dSdS)Nz File Errorz%r is a directory.Zmaster)canonizeospathisdirr showerrorrnormcasertopwakeuprZ good_load_close)r filenameactionkeyeditr r r opens(      z FileList.opencCs(||}|dk r$|dk r$||dSr)rZgotoline)r rlinenorr r r gotofileline,s zFileList.gotofilelinecCs |||Srr)r rr r r new1sz FileList.newcOs(t|jD]}|}|dkr q$q dS)Ncancelbreak)listr close)r argskwdsrZreplyr r r close_all_callback4s zFileList.close_all_callbackcCsVz|j|}Wntk r,tdYdSX|r:|j|=|j|=|jsR|jdS)Nz-Don't know this EditorWindow object. (close))r KeyErrorprintrrquit)r rrr r r unregister_maybe_terminate;sz#FileList.unregister_maybe_terminatecCs|z|j|}Wntk r4tdYdSX|jj}|s\|rN|j|=d|j|<dS||}tj |}||kr~dS||jkr|j|}d|j|<t j dd|f|j d||j|<||j|<|rz |j|=Wntk rYnXdS)Nz.Don't know this EditorWindow object. (rename)z Name Conflictz.You now have multiple edit windows open for %rr)Zsaved_change_hookr r(r)iorrrrrrrrr)r rrrZnewkeyZconflictr r r filename_changed_editGs>         zFileList.filename_changed_editcCsHtj|ss  k