Ë
    #´˜j  ã                   ób   — d Z ddlZddlmZ  G d„ d«      Zd„ Zedk(  rddlmZ  ed	d
¬«       yy)zidlelib.filelisté    N)Ú
messageboxc                   óN   — e Zd ZddlmZ d„ Zdd„Zdd„Zdd„Zd„ Z	d	„ Z
d
„ Zd„ Zy)ÚFileListr   ©ÚEditorWindowc                 ó<   — || _         i | _        i | _        i | _        y ©N)ÚrootÚdictÚinversedictÚvars)Úselfr
   s     ú"lib/python3.12/idlelib/filelist.pyÚ__init__zFileList.__init__   s   € ØˆŒ	ØˆŒ	ØˆÔØˆ�	ó    Nc                 óÞ  — |sJ ‚| j                  |«      }t        j                  j                  |«      r&t	        j
                  d|›d�| j                  ¬«       y t        j                  j                  |«      }|| j                  v r+| j                  |   }|j                  j                  «        |S |r ||«      S | j                  | ||«      }|j                  r|S |j                  «        y )Nz
File Errorz is a directory.©Úmaster)ÚcanonizeÚosÚpathÚisdirr   Ú	showerrorr
   Únormcaser   ÚtopÚwakeupr   Ú	good_loadÚ_close)r   ÚfilenameÚactionÚkeyÚedits        r   ÚopenzFileList.open   sÉ   € ÙˆˆxØ—=‘= Ó*ˆÜ�7‰7�=‰=˜Ô"ä× Ñ ØØ�,Ð.Ð/Ø—y‘yõ"ð Ü�g‰g×Ñ˜xÓ(ˆØ�$—)‘)ÑØ—9‘9˜S‘>ˆDØ�H‰H�O‰OÔØˆKÙá˜(Ó#Ð#à×$Ñ$ T¨8°SÓ9ˆDØ�~Š~Ø�à—‘”Ør   c                 óT   — | j                  |«      }|�|�|j                  |«       y y y r	   )r#   Úgotoline)r   r   Úlinenor"   s       r   ÚgotofilelinezFileList.gotofileline,   s/   € Ø�y‰y˜Ó"ˆØÐ Ð 2Ø�M‰M˜&Õ!ð !3Ðr   c                 ó&   — | j                  | |«      S r	   r   )r   r   s     r   ÚnewzFileList.new1   s   € Ø× Ñ   xÓ0Ð0r   c                 óf   — t        | j                  «      D ]  }|j                  «       }|dk(  sŒ y y)NÚcancelÚbreak)Úlistr   Úclose)r   ÚargsÚkwdsr"   Úreplys        r   Úclose_all_callbackzFileList.close_all_callback4   s5   € Ü˜×)Ñ)Ö*ˆDØ—J‘J“LˆEØ˜Ó ØØð	 +ð r   c                 óÞ   — 	 | j                   |   }|r| j                  |= | j                   |= | j                   s| j                  j                  «        y y # t        $ r t        d«       Y y w xY w)Nz-Don't know this EditorWindow object.  (close))r   ÚKeyErrorÚprintr   r
   Úquit)r   r"   r!   s      r   Úunregister_maybe_terminatez#FileList.unregister_maybe_terminate;   sn   € ð	Ø×"Ñ" 4Ñ(ˆCñ Ø—	‘	˜#�Ø×Ñ˜TÐ"Ø×ÒØ�I‰I�N‰NÕð  øô ò 	ÜÐAÔBÙð	ús   ‚A ÁA,Á+A,c                 óp  — |j                  «        	 | j                  |   }|j                  j
                  }|s|r| j                  |= d | j                  |<   y | j                  |«      }t        j                  j                  |«      }||k(  ry || j                  v rC| j                  |   }d | j                  |<   t        j                  dd|›�| j                  ¬«       || j                  |<   || j                  |<   |r	 | j                  |= y y # t        $ r t        d«       Y y w xY w# t        $ r Y y w xY w)Nz.Don't know this EditorWindow object.  (rename)zName Conflictz,You now have multiple edit windows open for r   )Úsaved_change_hookr   r4   r5   Úior   r   r   r   r   r   r   r   r
   )r   r"   r!   r   ÚnewkeyÚconflicts         r   Úfilename_changed_editzFileList.filename_changed_editG   s8  € Ø×ÑÔ ð	Ø×"Ñ" 4Ñ(ˆCð —7‘7×#Ñ#ˆÙÙØ—I‘I˜c�NØ%)ˆD×Ñ˜TÑ"ØØ—=‘= Ó*ˆÜ—‘×!Ñ! (Ó+ˆØ�SŠ=ØØ�T—Y‘YÑØ—y‘y Ñ(ˆHØ)-ˆD×Ñ˜XÑ&Ü× Ñ ØØ>¸x¸lÐKØ—y‘yõ"ð !ˆ�	‰	�&ÑØ!'ˆ×Ñ˜ÑÙðØ—I‘I˜c‘Nð øô- ò 	ÜÐBÔCÙð	ûô2 ò Ùðús#   ’D Ä D) ÄD&Ä%D&Ä)	D5Ä4D5c                 ó  — t         j                  j                  |«      s5	 t        j                  «       }t         j                  j	                  ||«      }t         j                  j                  |«      S # t
        $ r Y Œ*w xY wr	   )r   r   ÚisabsÚgetcwdÚjoinÚOSErrorÚnormpath)r   r   Úpwds      r   r   zFileList.canonizeg   sa   € Ü�w‰w�}‰}˜XÔ&ð7Ü—i‘i“k�ô Ÿ7™7Ÿ<™<¨¨XÓ6�Ü�w‰w×Ñ Ó)Ð)øô	 ò Ùðús   ¡A4 Á4	B Á?B r	   )Ú__name__Ú
__module__Ú__qualname__Úidlelib.editorr   r   r#   r'   r)   r2   r7   r=   r   © r   r   r   r      s0   „ õ ,òóó4"ó
1òò
òó@*r   r   c                  óæ   — ddl m}  ddlm} ddlm}  | «       } ||«        ||«       |j                  «        t        |«      }|j                  «        |j                  r|j                  «        y y )Nr   )ÚTk)Úfixwordbreaks)Úfix_scaling)ÚtkinterrK   rH   rL   Úidlelib.runrM   Úwithdrawr   r)   r   Úmainloop)rK   rL   rM   r
   Úflists        r   Ú_testrS   r   sT   € ÝÝ,Ý'Ù‹4€DÙ�ÔÙ�$ÔØ‡M�M„OÜ�T‹N€EØ	‡I�I„KØ×ÒØ�‰�ð r   Ú__main__)Úmainzidlelib.idle_test.test_filelisté   )Ú	verbosity)	Ú__doc__r   rN   r   r   rS   rE   ÚunittestrU   rI   r   r   Ú<module>rZ      s=   ðÙ ã 	Ý ÷h*ñ h*òVð ˆzÒÝÙÐ	*°aÖ8ð r   