B � f8�@sRdZddlZddlmZGdd�d�Zdd�ZedkrNdd lm Z e d d d �dS) zidlelib.filelist�N)� messageboxc@s^eZdZddlmZdd�Zddd�Zddd �Zdd d �Zd d �Z dd�Z dd�Z dd�Z dS)�FileListr)� EditorWindowcCs||_i|_i|_i|_dS)N)�root�dict� inversedict�vars)�selfr�r �5/opt/alt/python37/lib64/python3.7/idlelib/filelist.py�__init__ szFileList.__init__NcCs�|�|�}tj�|�r2tjdd|f|jd�dStj�|�}||jkr`|j|}|j � �|S|rl||�S|� |||�}|j r�|S|� �dSdS)Nz File Errorz%r is a directory.)�master)�canonize�os�path�isdir� tkMessageBox� showerrorr�normcaser�top�wakeuprZ good_loadZ_close)r �filename�action�key�editr r r �opens&       z FileList.opencCs(|�|�}|dk r$|dk r$|�|�dS)N)rZgotoline)r r�linenorr r r � gotofileline,s zFileList.gotofilelinecCs |�||�S)N)r)r rr r r �new1sz FileList.newcOs*x$t|j�D]}|��}|dkr Pq WdS)NZcancel�break)�listr�close)r �args�kwdsrZreplyr r r �close_all_callback4s zFileList.close_all_callbackcCsTy|j|}Wntk r*td�dSX|r8|j|=|j|=|jsP|j��dS)Nz-Don't know this EditorWindow object. (close))r�KeyError�printrr�quit)r rrr r r �unregister_maybe_terminate;sz#FileList.unregister_maybe_terminatecCs�|��y|j|}Wntk r2td�dSX|jj}|sZ|rL|j|=d|j|<dS|�|�}tj � |�}||kr|dS||jkr�|j|}d|j|<t j dd|f|j d�||j|<||j|<|r�y |j|=Wntk r�YnXdS)Nz.Don't know this EditorWindow object. (rename)z Name Conflictz.You now have multiple edit windows open for %r)r )Zsaved_change_hookrr%r&�iorrrrrrrrr)r rrrZnewkeyZconflictr r r �filename_changed_editGs<          zFileList.filename_changed_editcCsHtj�|�ss k