Sindbad~EG File Manager

Current Path : /usr/local/lib/python3.12/idlelib/__pycache__/
Upload File :
Current File : //usr/local/lib/python3.12/idlelib/__pycache__/sidebar.cpython-312.opt-2.pyc

�

&ΜgrO��N�	ddlZddlZddlZddlZddlmZddlmZddl	m
Z
ddlmZd�Z
d�Zd�Zd	�Zej"d
��ZGd�d�ZGd
�de
�ZGd�de�ZGd�de
�ZGd�de�Zd�Zedk(r ddlmZeddd��ddlmZee�yy)�N)�Font)�idleConf)�	Delegator)�macosxc�V�	|j|�}|rtt|��SdS�N)�index�int�float)�textr	�
text_indexs   �,/usr/local/lib/python3.12/idlelib/sidebar.py�
get_linenors*��A����E�"�J�%/�3�u�Z� �!�9�T�9�c��	t|d�S)Nzend-1c)r�rs r�get_end_linenumberrs��A��d�H�%�%rc�H�	|j|�d�|�d�d�}|r|dSdS)Nz
 linestartz lineend�displaylinesr)�count)rr	�ress   r�get_displaylinesrs<��J�
�*�*��w�j�)��w�h�'�#�%�C��3�q�6��a�rc
���	|j�}|dk(r|j�}n$|dk(r|j�}ntd|����t	t|jj|d|jd�|jd�g��}t	t|jj|d|jd�|jd�g��}||fS)N�pack�gridzUnsupported geometry manager: �padx�border�pady)	�
winfo_manager�	pack_info�	grid_info�
ValueError�sum�map�tk�getint�cget)�widget�manager�inforrs     r�get_widget_paddingr+!s���E��"�"�$�G��&�����!��	�F�	����!���9�'��C�D�D��s�6�9�9�#�#��V�����F�����H��&���D�
�s�6�9�9�#�#��V�����F�����H��&���D�
��:�rc#��K�|jtj��	d��|jtj��y#|jtj��wxYw�w)N��state)�	configurer%�NORMAL�DISABLEDrs r�temp_enable_text_widgetr2;sD�����N�N����N�#�*�
����R�[�[��)�����R�[�[��)�s�!A.�A	�!A.�	"A+�+A.c�\�eZdZ	d�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zy)�BaseSideBarc���||_|j|_|j|_d|_|j�|_|j�|j�|j�y�NF)
�editwin�
text_frame�parentr�is_shown�init_widgets�main_widget�bind_events�update_font�
update_colors)�selfr7s  r�__init__zBaseSideBar.__init__Fs]������(�(����L�L��	���
��,�,�.��������������rc��	t�r��NotImplementedError�r@s rr;zBaseSideBar.init_widgetsTs��J�!�!rc��	t�rrCrEs rr>zBaseSideBar.update_fontXs��I�!�!rc��	t�rrCrEs rr?zBaseSideBar.update_colors\s��K�!�!rc��	t�rrCrEs rrzBaseSideBar.grid`s��:�!�!rc�L�|js|j�d|_yy)NT)r:rrEs r�show_sidebarzBaseSideBar.show_sidebards���}�}��I�I�K� �D�M�rc�`�|jr"|jj�d|_yyr6)r:r<�grid_forgetrEs r�hide_sidebarzBaseSideBar.hide_sidebaris'���=�=����(�(�*�!�D�M�rc��	t�rrC�r@�args�kwargss   r�
yscroll_eventzBaseSideBar.yscroll_eventns��F�!�!rc�n�	|jjj|�|j|i|��Sr)r7�vbar�setrRrOs   r�redirect_yscroll_eventz"BaseSideBar.redirect_yscroll_eventrs;��	�	��������t�$�!�t�!�!�4�2�6�2�2rc�:�	|jj�y�N�break)r�	focus_set�r@�events  r�redirect_focusin_eventz"BaseSideBar.redirect_focusin_eventzs��F��	�	����rc��	|jj�|jj|d|j��y)Nr��x�yrY)rrZ�event_generatera)r@r\�
event_names   r�redirect_mousebutton_eventz&BaseSideBar.redirect_mousebutton_events5��J��	�	�����	�	� � ��q�E�G�G� �<�rc�l�	|jjdd|j|j��y)N�<MouseWheel>r)r`ra�deltarY)rrbrargr[s  r�redirect_mousewheel_eventz%BaseSideBar.redirect_mousewheel_event�s1��E��	�	� � ��#$����u�{�{�	!�	D�rc���	�
���
��j�jd<�jjd�j��jjd�j
��fd�}dD]A}d|�d�d|�d�d	|�d
�fD]}|||���d|�d�d
|�d�fD]}||d|�d�����Cd�d�d�	��fd��
�
���fd�}�jjd|����fd�}�jjd|��
�fd�}�jjd|��	�
���
fd��
�	���
fd�}�jjd|��	�fd�}�jjd|�y)N�yscrollcommandz	<FocusIn>rfc���tj�j|��}�jj	||�y)N)rc)�	functools�partialrdr<�bind)rc�target_event_name�handlerr@s   �r�bind_mouse_eventz1BaseSideBar.bind_events.<locals>.bind_mouse_event�s5����'�'��(G�(G�3D�F�G����!�!�*�g�6r)����z<Button-�>z<ButtonRelease-z<Bz-Motion>)roz<Double-Button-z<Triple-Button-c�2��	t�jd|���}t�|g�\}}�jjddd��jj	d|�d�|dz�d���jjd||k(r|n|dz�d��y)N�@0,�sel�1.0�endz.0��insert)rr�sorted�
tag_remove�tag_add�mark_set)�y_coord�lineno�a�br@�
start_lines    ��r�%drag_update_selection_and_insert_markzFBaseSideBar.bind_events.<locals>.drag_update_selection_and_insert_mark�s����H���	�	�S��	�?�;�F��:�v�.�/�D�A�q��I�I� � ���u�5��I�I���e��s�"�X�!�A�#��b�z�:��I�I���x�,2�a�K�&�V�a�Z�!H��K�
Mrc���tt�jjd|j������|j��|j�y)Nrx)r
rrr	ra)r\r��last_yr@r�s ����r�b1_mousedown_handlerz5BaseSideBar.bind_events.<locals>.b1_mousedown_handler�s@����U�4�9�9�?�?�S����	�?�#C�D�E�J��W�W�F�1�%�'�'�:rz
<Button-1>c�^��d�d��jjdd|j��y)N�<ButtonRelease-1>rr_)rrbra)r\r�r@r�s ���r�b1_mouseup_handlerz3BaseSideBar.bind_events.<locals>.b1_mouseup_handler�s-���
�J��F��I�I�$�$�%8�A����$�Irr�c�H����y|j��|j�yr)ra)r\r�r�s ��r�b1_drag_handlerz0BaseSideBar.bind_events.<locals>.b1_drag_handler�s ����~���W�W�F�1�%�'�'�:rz<B1-Motion>c���	�}|��jj��d�y|dkr(�jjd|zd��|�n_|�jj	�kDrB�jjd|z�jj	�z
d��|��jjd���y)Nr����pixelsr|�2)r<�after_cancelr�yview_scroll�winfo_height�after)ra�auto_scrolling_after_idr�r�r@�text_auto_scrolls �����rr�z1BaseSideBar.bind_events.<locals>.text_auto_scroll�s����H��A��y�� � �-�-�.E�F�*.�'���Q���	�	�&�&�r�A�v�x�8�5�a�8��T�%�%�2�2�4�4��	�	�&�&�q�1�u�t�/?�/?�/L�/L�/N�'N�'/�1�5�a�8�� � �&�&�r�+;�<�
$rc�\����)|j��jjd���yy)Nr)rar<r�)r\r�r�r@r�s ����r�b1_leave_handlerz1BaseSideBar.bind_events.<locals>.b1_leave_handler�s5���'�.������$�$�*�*�1�.>�?�(�/rz
<B1-Leave>c�F�����jj��d�yyr)r<r�)r\r�r@s ��r�b1_enter_handlerz1BaseSideBar.bind_events.<locals>.b1_enter_handlers+���'�2�� � �-�-�.E�F�*.�'�3rz
<B1-Enter>)rVrr<rnr]rh)r@rq�buttonrcr�r�r�r�r�r�r�r�r�r�s`        @@@@@rr=zBaseSideBar.bind_events�s����&*�&A�&A��	�	�"�#�	
�����k�4�+F�+F�G�	
�����n�d�.L�.L�M�	7�
#�F�!)�&���3�!0����:�!#�F�8�8�4�!�
�!��z�J�	!�"1����:�!0����:�!�
�!��5=�f�X�Q�3G�I�!�#�"�
���#'��	M�	;�	
�����l�,@�A�	J�	
�����1�3E�F�	;�	
�����m�_�=�	=�	=�&	@�	
�����l�,<�=�	/�	
�����l�,<�=rN)�__name__�
__module__�__qualname__rAr;r>r?rrJrMrRrVr]rdrhr=�rrr4r4DsG��/��"�"�"�"�!�
"�
"�3��
��|>rr4c�$�eZdZ	d�Zdd�Zdd�Zy)�EndLineDelegatorc�<�tj|�||_yr)rrA�changed_callback)r@r�s  rrAzEndLineDelegator.__init__s�����4� � 0��rNc��|jj|||�|jt|j��yr)�delegater}r�r)r@r	�chars�tagss    rr}zEndLineDelegator.inserts0���
�
���U�E�4�0����0����?�@rc��|jj||�|jt|j��yr)r��deleter�r)r@�index1�index2s   rr�zEndLineDelegator.deletes.���
�
���V�V�,����0����?�@rr�r�r�r�rAr}r�r�rrr�r�
s���1�A�Arr�c�D��eZdZ	�fd�Zd�Zd�Zd�Zd�Zd�Zd�Z	�xZ
S)�LineNumbersc����t�|�|�t|j�}|jj
j
||jj��y)N�r�)�superrAr��update_sidebar_textr7�per�insertfilterafter�undo)r@r7�end_line_delegator�	__class__s   �rrAzLineNumbers.__init__sQ���
����!�-�d�.F�.F�G��	
�����*�*�+=�15���1B�1B�	+�	Drc	���t|j�\}}tj|jdtj
d|dd��|_|jjtj��d|_	t|jd�|_t|j�5|jjddd	�ddd�|jjd
d
��|jjd	tj��t!|j�}|j#|�|jS#1swY��xYw)
Nr|rrr)�width�wraprr�borderwidth�highlightthicknessr-r�r}�1�
linenumberF)�	takefocus�exportselection)�justify)r+rr%�Textr9�NONE�sidebar_text�configr1�prev_end�type�_sidebar_width_typer2r}�
tag_config�RIGHTrr�)r@�_padxrr{s    rr;zLineNumbers.init_widgets's��(����3���t��G�G�D�K�K�q�r�w�w�)*��01�a�I���	
��� � �r�{�{� �3���
�#'��(9�(9�'�(B�#C�� �
$�T�%6�%6�
7����$�$�X�s�L�A�8���� � �5�%� �H����$�$�\�2�8�8�$�D� ����+��� � ��%�� � � �8�
7�s�5E�Ec�\�|jjddtj��y)Nr|r��row�column�sticky)r�rr%�NSEWrEs rrzLineNumbers.grid:s!�������1�Q�r�w�w��?rc�d�tj|jdd�}||jd<y)N�main�EditorWindow�font)r�GetFontrr�)r@r�s  rr>zLineNumbers.update_font=s*������	�	�6�>�B��$(����&�!rc��	tjtj�d�}|d}|d}|jj	|||||��y)Nr��
foreground�
background)�fg�bg�selectforeground�selectbackground�inactiveselectbackground)r�GetHighlight�CurrentThemer�r�)r@�colorsr�r�s    rr?zLineNumbers.update_colorsAsZ��K��&�&�x�'<�'<�'>��M���L�)�
��L�)�
���� � ��j�'�*�%/�	!�	
rc���	||jk(rytt|��tt|j��z
}|rDtt	|j
d��}||z}|j
|�|j
d<t|j
�5||jkDrldjtjdgttt|jdz|dz����}|j
jd|d�n"|j
j|dz�d�d�ddd�||_y#1swY||_yxYw)Nr��
�r|zend -1cr�z.0 -1c)r��len�strr
rr�r�r2�join�	itertools�chainr$�ranger}r�)r@r{�width_difference�	cur_width�	new_width�new_texts      rr�zLineNumbers.update_sidebar_textLs*��	9�
�$�-�-����s�3�x�=�3�s�4�=�=�/A�+B�B����E�$�"3�"3�G�"<�=�>�I�!�$4�4�I�)-�)A�)A�)�)L�D���g�&�
$�T�%6�%6�
7��T�]�]�"��9�9�Y�_�_��D���U�4�=�=�1�#4�c�A�g�>�?�&����!�!�(�(�7�X�|�L��!�!�(�(�C��E�7�&�)9�9�E�8���
�8���
�s
� BE�Ec�@�|jj|d�y)NrrY)r��yview_movetorOs   rrRzLineNumbers.yscroll_eventgs�����&�&�t�A�w�/�r)r�r�r�rAr;rr>r?r�rR�
__classcell__�r�s@rr�r�s+���2�D�!�&@�)�	
��6rr�c�"�eZdZd�Zdd�Zdd�Zy)� WrappedLineHeightChangeDelegatorc�>�	tj|�||_yr)rrA�callback)r@r�s  rrAz)WrappedLineHeightChangeDelegator.__init__ms��	�
	���4� � ��
rNc��d|v}|rt||�}|jj|||�|rt||�}|k(ry|j�y)Nr�)rr�r}r�)r@r	r�r��is_single_line�before_displaylines�after_displayliness       rr}z'WrappedLineHeightChangeDelegator.insertvsW���U�*���"2�4��"?���
�
���U�E�4�0��!1�$��!>��!�%8�8���
�
�rc���|�|dz}t||�t||�k(}|rt||�}|jj||�|rt||�}|k(ry|j	�y)Nz+1c)rrr�r�r�)r@r�r�r�r�r�s      rr�z'WrappedLineHeightChangeDelegator.delete�sq���>��e�^�F�#�D�&�1�Z��f�5M�M���"2�4��"@���
�
���V�V�,��!1�$��!?��!�%8�8���
�
�rrr�r�rrr�r�ls��!��rr�c�Z��eZdZ	�fd�Zd�Z�fd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Z�xZ
S)�ShellSidebarc���d|_i|_t�|�
|�t	|j
�}|jjj}|j|jure|j|jjjur9|j}|j|jjjur�9|jjj||��d|_
y)Nr�T)�canvas�line_promptsr�rAr��change_callbackr7r��topr�r�bottomr�r:)r@r7�change_delegator�dr�s    �rrAzShellSidebar.__init__�s����������
����!�
-�T�-A�-A�B�	�
�L�L��� � ���:�:�T�Y�Y�&��*�*�D�L�L�$4�$4�$;�$;�;��J�J���*�*�D�L�L�$4�$4�$;�$;�;������*�*�+;�1�*�E���
rc��tj|jdddd��|_|j	�|j�|jS)N�rF)r�r�r�r�)r%�Canvasr9r�update_sidebarrrEs rr;zShellSidebar.init_widgets�sC���i�i����2�,-�!�*/�1���	
�����	�	���{�{�rc���t�|��|jjt	j
�rdnd|j�y)Nz
<Button-2>z
<Button-3>)r�r=r<rnr�isAquaTk�context_menu_event)r@r�s �rr=zShellSidebar.bind_events�s9���
���������"�O�O�-�L�<��#�#�	
rc�`��tj�jd��}t�jjdd��}�fd�}|j
d|d�|rdnd	�
�|j
d|d�|rdnd	�
�|j|j|j�y
)Nr)�tearoffryrzc������fd�S)Nc�:���jj��Sr)rrb��	eventnamer@s��r�<lambda>z@ShellSidebar.context_menu_event.<locals>.mkcmd.<locals>.<lambda>�s���4�9�9�3�3�I�>rr�rs`�r�mkcmdz.ShellSidebar.context_menu_event.<locals>.mkcmd�s	���>�>r�Copyz<<copy>>�normal�disabled)�label�commandr.zCopy with promptsz<<copy-with-prompts>>rY)
r%�Menur<�boolr�
tag_nextrange�add_command�tk_popup�x_root�y_root)r@r\�rmenu�
has_selectionrs`    rrzShellSidebar.context_menu_event�s��������(�(�!�4���T�Y�Y�4�4�U�E�B�C�
�	?�
����"'�
�"3�,9��z�	�	K�	��� 3�"'�(?�"@�,9��z�	�	K�	���u�|�|�U�\�\�2�rc�`�|jjddtjdd��y)Nr|rrr)r�r�r�rr)rrr%r�rEs rrzShellSidebar.grid�s#�������Q�q����q�q��Irc�>�|jr|j�yyr)r:rrEs rrzShellSidebar.change_callback�s���=�=����!�rc	�h�|j}|j}|j}ix}|_|j	t
j�|jd�}|jdd�ddk7r|j|�d��}|j|�x}��|d}||�d��}d|vrdnd	|vrd
nd}	|	rM|jd|t
j|	|j|jd�
�t||�}
|	||
<|j|�d��}|j|�x}���yy)Nz@0,0�.r|�0z+1line linestartz linestart -1c�consolez>>>�stdinz...rrr)�anchorrr��fillz+1line)r�	tag_namesrrr�r%�ALLr	�split�	dlineinfo�create_text�NWr�r�r)r@r�
text_tagnamesrrr	�lineinfora�prev_newline_tagnames�promptr�s           rrzShellSidebar.update_sidebar�s:���y�y�����
�����+-�-��t�(��
�
�b�f�f���
�
�6�"���;�;�s�A��q�!�S�(��J�J�%��(8�9�:�E��>�>�%�0�0�x�=����A�$1�U�G�>�2J�$K�!�"�&;�;�� �$9�9���
�
��"�"�1�a����F�(,�	�	����A��#�H�#�D�%�0��'-��V�$��J�J�%���/�0�E� �>�>�%�0�0�x�=rc�&�	|j�yrX)rrOs   rrRzShellSidebar.yscroll_event�s��	�	
����rc���	tj|jdd�}t|j|���t	�fd�dD��}|j
j
|dzdz��||_|j�y)	Nr�r�)r�c3�@�K�|]}�j|����y�wr)�measure)�.0�char�tk_fonts  �r�	<genexpr>z+ShellSidebar.update_font.<locals>.<genexpr>�s�����F�:�4�����.�:�s�)rvr)rsrt)r�)	rr�rr�maxrr/r�r)r@r��
char_widthr?s   @rr>zShellSidebar.update_font�so���I�����	�	�6�>�B���t�y�y�t�,���F�:�F�F�
������J��N�Q�$6��7���	����rc�$�	tjtj�d�}tjtj�d�}|d}|d}||f|_|jj|��|j
�y)Nr�r+r�r�)r�)rr�r�r�rr/r)r@�linenumbers_colors�
prompt_colorsr�r�s     rr?zShellSidebar.update_colors�s}��K�%�2�2�8�3H�3H�3J�L�Y�� �-�-�h�.C�.C�.E�y�Q�
�"�<�0�
�'��5�
�!�:�.����������4����r)r�r�r�rAr;r=rrrrrRr>r?r�r�s@rrr�s9���:��$�
��J�"�1�4��rrc
��ddlm}tj|�}tj|�}|jtjtjd��|jdd��|jdd��tj|dd�}tj|d	d
tj|��}|jddtj��||�}tj |�|_t%|�}|j'�|j)d
dj+d�t-dd�D���y)Nr)�
Dummy_editwinT)�sider.�expandr|)�weightr�r��P�)r��heightr�r�r�rzr�c3�&K�|]	}d|z���y�w)r�Nr�)r=�is  rr@z,_sidebar_number_scrolling.<locals>.<genexpr>s���� >�
�1��Q��
�s��e)�idlelib.idle_test.test_sidebarrGr%�Toplevel�Framer�LEFT�BOTH�rowconfigure�columnconfigurerr�r�r�rr��	ScrollbarrTr�rJr}r�r�)r9rGrr8r�rr7�linenumberss        r�_sidebar_number_scrollingrZs���<�
�+�+�f�
�C����#��J��O�O����r�w�w�t�O�<����A�a��(����q���+����C���8�D�
�7�7�:�R�����t�L�D��I�I�!�A�b�g�g�I�.��D�!�G��<�<�
�+�G�L��g�&�K������K�K��t�y�y� >��a��
� >�>�?r�__main__)r�zidlelib.idle_test.test_sidebarrrF)�	verbosity�exit)�run)�
contextlibrlr��tkinterr%�tkinter.fontr�idlelib.configr�idlelib.delegatorr�idlelibrrrrr+�contextmanagerr2r4r�r�r�rrZr��unittestr��idlelib.idle_test.htestr^r�rr�<module>rhs���������#�'��:�&�
 ��4���*��*�C>�C>�LA�y�A�$M�+�M�`&�y�&�Rm�;�m�`@�,�z����	)�Q�U�C�+��!�"�r

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists