Sindbad~EG File Manager

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

�

%ΜgQ���	ddlZddl�ddlmZddlmZmZddlmZdZ	dZ
e
dfZd	Zd
Z
dZdZd
ZdZdZGd�d�Zedk(rddlmZeddd��yy)�N)�*)�	Scrollbar)�FILES�ATTRS)�MC_SHIFTz<<autocompletewindow-hide>>z
<FocusOut>z
<ButtonPress>z<<autocompletewindow-keypress>>)z<Key>z<Key-BackSpace>z<Key-Return>z	<Key-Tab>z<Key-Up>z
<Key-Down>z
<Key-Home>z	<Key-End>z<Key-Prior>z
<Key-Next>z<Key-Escape>z!<<autocompletewindow-keyrelease>>z<KeyRelease>z<B1-ButtonRelease>z<Configure>z<B1-Double-ButtonRelease>c�l�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zy)�AutoCompleteWindowc�8�||_||_dx|_x|_|_dx|_|_d|_d|_d|_	d|_
d|_d|_d|_
dx|_x|_x|_x|_x|_|_d|_d|_y)NF)�widget�tags�autocompletewindow�listbox�	scrollbar�origselforeground�origselbackground�completions�morecompletions�mode�start�
startindex�lasttypedstart�userwantswindow�hideid�
keypressid�listupdateid�winconfigid�keyreleaseid�
doubleclickid�lastkey_was_tab�is_configuring)�selfrrs   �3/usr/local/lib/python3.12/idlelib/autocomplete_w.py�__init__zAutoCompleteWindow.__init__s��������	�BF�F���F�$�,���;?�>����!7����#�����	���
����#��� $���IM�	M���	M�d�o�	M��(9�	M���	M�#�0�4�3E�$���#���c�2�tt|j�t|��}d}||kr5|j|||k(r |dz
}||kr|j|||k(r� |t|j�krM|jj	d|j
|fzd|j
t|j�fz�|t|�kr9|jj
d|j
|fz||d|j�||_y)Nr��%s+%dc)�min�lenrr�deleter�insertr)r!�newstart�min_len�is    r"�
_change_startz AutoCompleteWindow._change_start@s����c�$�*�*�o�s�8�}�5��
���'�k�d�j�j��m�x��{�:�
��F�A��'�k�d�j�j��m�x��{�:��s�4�:�:����K�K���x�4�?�?�A�*>�>�'�4�?�?�C��
�
�O�*L�L�
N��s�8�}���K�K���x�4�?�?�A�*>�>�'���|�#�y�y�
*���
r$c���	d}t|j�}||kDr(||zdz}|j||k\r|}n|dz}||kDr�(t|t|j�dz
�S)Nr�r&)r)rr()r!�sr.�j�ms     r"�_binary_searchz!AutoCompleteWindow._binary_searchNsz��	�
��3�t�'�'�(�q��!�e��Q��1��A�����"�a�'�����E���!�e��1�c�$�*�*�+�A�-�.�.r$c�"�	|j|�}|j|dt|�|k7r|S|dz}t|j�}||kDr4||zdz}|j|dt|�|k7r|}n|dz}||kDr�4|dz
}||k(r|j|S|j|}|j|}tt|�t|��}	t|�}||	kr!||||k(r|dz
}||	kr||||k(r�|d|S)Nr&r1)r5rr)r()
r!r2�firstr.r3r4�last�
first_comp�	last_compr-s
          r"�_complete_stringz#AutoCompleteWindow._complete_string[sC��	��#�#�A�&�����E�"�7�C��F�+�q�0��H��A�I���� � �!���!�e��Q��1��A�����"�7�C��F�+�q�0�����E���!�e���s���D�=��#�#�E�*�*��%�%�e�,�
��$�$�T�*�	��c�*�o�s�9�~�6����F���'�k�j��m�y��|�;�
��F�A��'�k�j��m�y��|�;��"�1�~�r$c�~�	t|jj�d�}|jj|�|j}|j
|}|j
|�|k(r|}nKtt|�t|��}d}||kr!||||k(r|dz
}||kr||||k(r�|d|}|j|�|j
|dt|j�|jk(r2|jj|j|j��y|jj|jjd�|jjd���|jr�|j|_d|_|jj!dt"�|j
D]"}|jj%t"|��$|jj'|j
|j��|j)�yy)Nrr&)�selectbackground�selectforeground�bg�fg)�intr�curselection�seerrr5r(r)r/r�	configurerr�cgetrr*�ENDr+�
select_set�_selection_changed)r!�cursel�lts�selstartr,r-r.�items        r"rHz%AutoCompleteWindow._selection_changed{s���	��T�\�\�.�.�0��3�4�������� ��!�!���#�#�F�+�����s�#�v�-��H��#�c�(�C��M�2�G��A��g�+�#�a�&�H�Q�K�"7��Q����g�+�#�a�&�H�Q�K�"7����|�H����8�$����F�#�$4�S����_�5����C��L�L�"�"�D�4J�4J�48�4J�4J�
#�
L�
�L�L�"�"�D�L�L�4E�4E�d�4K�48�L�L�4E�4E�d�4K�
#�
M��#�#�#'�#7�#7�� �'+��$����#�#�A�s�+� �,�,�D��L�L�'�'��T�2�-����'�'��(;�(;�D�J�J�(G�H��'�'�)�$r$c��	|\|_|_||_|jj	|�|_|jj
|j
d�|_|r�|j|j�}|j}|j|�|j|�}|j||k(rA|t|j�dz
k(s!|j|dzdt|�|k7r||k(S||_|j|_
t|j�x|_}	|	j!�|	j#d�	|	j$j'dd|	j(dd�t-|	t.��x|_}
t3|	|
j4d�	�x|_}|jD]}|j9t:|��|j=d
�|_|j=d�|_ |
jC|jD��|
jGtHtJ�
�|jGtLtNd��|	jQ�|j6jS|j|j��|jU�|	jWtX|jZ�|_.|jjWtX|jZ�|_/|	jatXtb�tdD]"}
|jjatX|
��$|jjWtf|jh�|_5tlD]"}
|jjatf|
��$|jjWtn|jp�|_9|jjatntt�|jWtv|jx�|_=d|_>|	jWt~|j��|_A|jWt�|j��|_Dy#t*$rY���wxYw)Nr+r&z!::tk::unsupported::MacWindowStyle�style�help�noActivates)�orientF)�yscrollcommand�exportselectionr>r=)�command)�side�fillT)rUrV�expand)Errrr�indexr�getrr;r/r5r)rr�Toplevelr
�withdraw�wm_overrideredirect�tk�call�_w�TclErrorr�VERTICALr�Listbox�setrr+rFrErr�config�yview�pack�RIGHT�Y�LEFT�BOTH�liftrGrH�bind�HIDE_VIRTUAL_EVENT_NAME�
hide_event�hideaid�hidewid�	event_add�HIDE_FOCUS_OUT_SEQUENCE�HIDE_SEQUENCES�KEYPRESS_VIRTUAL_EVENT_NAME�keypress_eventr�KEYPRESS_SEQUENCES�KEYRELEASE_VIRTUAL_EVENT_NAME�keyrelease_eventr�KEYRELEASE_SEQUENCE�LISTUPDATE_SEQUENCE�listselect_eventrr �WINCONFIG_SEQUENCE�winconfig_eventr�DOUBLECLICK_SEQUENCE�doubleclick_eventr)r!�
comp_listsrX�completer�userWantsWin�	completedrr.�acwrrrL�seqs              r"�show_windowzAutoCompleteWindow.show_window�s���	�2<�.���$�.���	��+�+�+�+�E�2����[�[�_�_�T�_�_�h�?��
���-�-�d�j�j�9�I��J�J�E����y�)��#�#�I�.�A�����"�i�/��S��)�)�*�1�,�,�� � ��1��%�o�s�9�~�6�)�C� �E�)�)�+���"�j�j���(0����(=�=���#���������"�	��F�F�K�K�;�W�c�f�f��
�
/�&/�s�8�%D�D����!(��Y�]�]�9>�"@�	@���w��$�$�D��N�N�3��%�%�!(���.@�!A���!(���.@�!A����������/����E���*����$�T�$��7����
�	
������ 3� 3�D�J�J� ?�@����!��x�x� 7����I����{�{�'�'�(?����Q����
�
�-�/F�G�!�C��K�K�!�!�"9�3�?�"��+�+�*�*�+F�+/�+>�+>�@���%�C��K�K�!�!�"=�s�C�&� �K�K�,�,�-J�-1�-B�-B�D��������;�<O�P�#�L�L�)<�)-�)>�)>�@���#����8�8�$6��8L�8L�M���$�\�\�*>�*.�*@�*@�B�����O�	��	�s�)Q.�.	Q;�:Q;c	���|jryd|_|j�sy	|j}|j|j�|j|j�\}}}}|j}tj�jd�r|j�|j�|j�}	}|j�|j�}}
|j�t|td|
|z
��z}|j!�|z}
|||zz
|	k\s||	kr|
|z
}
n|
|	z}
|j#d||
fz�|j%�|j'�tj�jd�r(	j+t,|j.�d|_d|_y#t($rY�^wxYw#t($rY�)wxYw)NT�Windowsrz+%d+%dF)r �	is_activerrCr�bboxr
�platform�system�
startswith�update�winfo_width�winfo_height�winfo_rootxr(�max�winfo_rooty�wm_geometry�	deiconify�update_idletasksr`�unbindr|r)r!�event�text�x�y�cx�cyr��	acw_width�
acw_height�
text_width�text_height�new_x�new_ys              r"r}z"AutoCompleteWindow.winconfig_event�s�������"����~�~���	��;�;�D��H�H�T�_�_�%��9�9�T�_�_�5�L�A�q�"�b��)�)�C���� �+�+�I�6��
�
��$'�O�O�$5�s�7G�7G�7I�z�I�&*�&6�&6�&8�$�:K�:K�:M��J��$�$�&��Q��A�z�I�7M�0N�)O�O�E��$�$�&��*�E��q�2�v�&�*�4��z�>�������#���O�O�H��u�~�5�6��M�M�O�� � �"��?�?��'�'�	�2�
��
�
�-�t�/?�/?�@� $�D��#�����	��	���
��
�s$�EG� G�	G�G�	G)�(G)c��|jsy	|jj�s|j�yy#t$r|j�YywxYw�N)r
�	focus_get�hide_window�KeyError�r!s r"�_hide_event_checkz$AutoCompleteWindow._hide_event_checksS���&�&��	��*�*�4�4�6�� � �"�7���	�
����	�s�*;�A�Ac�
�|j�rs|jtjk(r'|jjd|j�y|jtjk(r|j�yyy)Nr&)	r��type�	EventType�FocusOutr�afterr��ButtonPressr��r!r�s  r"rnzAutoCompleteWindow.hide_event*sd���>�>���z�z�Y�/�/�/����!�!�!�T�%;�%;�<����y�4�4�4�� � �"�5�
r$c��|j�rLd|_t|jj	�d�}|j|j|�yy)NTr)r�rrArrBr/r�r!r�rIs   r"r{z#AutoCompleteWindow.listselect_event7sN���>�>��#'�D� �����2�2�4�Q�7�8�F����t�/�/��7�8�r$c��t|jj�d�}|j|j|�|j�y)Nr)rArrBr/rr�r�s   r"rz$AutoCompleteWindow.doubleclick_event=sC���T�\�\�.�.�0��3�4�����4�+�+�F�3�4����r$c����|j�sy|j�t|d�r
|j}nd}�dk7rd|_t��dk(s�dvs|jtk(�r��dv�r�|tz�svt��dk(r|j|j�z�n��dk(r|j|jd	z�n��d
k(r|j|jdz�nk�dk(r|j|jd
z�nGt|j�dk(r|j�y|j|jdd�|j|_|jjdt|jj!�d��|jj#|j%|j��|j'�y�dk(r!|j)�|j�y|jt*k(r�dvs!|jtk(r��dvr�|tzs�t|jj!�d�}|j,|dt|j�|jk(r=|jt*k(s|jr|j|j,|�|j�y�dv�r�|�s�d|_t|jj!�d�}�dk(rd}n�dk(rt|j,�dz
}nȉdvr�|jj1|jj3��|jj1d�z
}�dk(rt5d||z
�}n`t7t|j,�dz
||z�}n:�dk(rt5d|dz
�}n%t7t|j,�dz
|dz�}|jj|�|jj#|�|j'�|j|j,|�y�dk(rr|sp|jrUt|jj!�d�}|j|j,|�|j�yd|_d|_yt9�fd�dD��ry|j:r�|j:dk\r�|j|j|j:z�|j|_|jjdt|jj!�d��|jj#|j%|j��|j'�y|j�y)N�mc_stater�TabFr&)�
underscore�	BackSpace)�period�minusr��_r��.r��-����break�Return)r��space�	parenleft�
parenright�bracketleft�bracketright)�slash�	backslash�quotedbl�
apostrophe)�Home�End�Prior�Next�Up�DownTr�r�)r�r�r�r�c3�&�K�|]}|�v���
y�wr��)�.0r2�keysyms  �r"�	<genexpr>z4AutoCompleteWindow.keypress_event.<locals>.<genexpr>�s!�����E�'D���f��'D�s�)�Shift�Control�Alt�Meta�Command�Option� )r�r��hasattrr�rr)rrrr/rr�rr�select_clearrArBrGr5rHr�rrr�nearestr�r�r(�any�char)r!r��staterI�newsel�jumpr�s      @r"ruz!AutoCompleteWindow.keypress_eventCs�����~�~��������5�*�%��N�N�E��E��U�?�#(�D� ���K�1���*E� E��	�	�U�"�v�#�($��X�I�%��6�{�a���"�"�4�:�:��#6�7��<�'��"�"�4�:�:��#3�4��8�#��"�"�4�:�:��#3�4��7�"��"�"�4�:�:��#3�4��t�z�z�?�a�'��$�$�&���"�"�4�:�:�c�r�?�3�"&�*�*�D���L�L�%�%�a��T�\�\�-F�-F�-H��-K�)L�M��L�L�#�#�D�$7�$7��
�
�$C�D��#�#�%��
�x�
��M�M�O�������i�i�5� �V��&��i�i�5� �V�>�&?��x�i�'�����2�2�4�Q�7�8�F�����'�(8��T�Z�Z��9�T�Z�Z�G��I�I��&�$�*�*��"�"�4�#3�#3�F�#;�<������
�E�
E��#'�D� �����2�2�4�Q�7�8�F�������5���T�-�-�.�q�0���,�,��|�|�+�+�D�L�L�,E�,E�,G�H��|�|�+�+�A�.�/���W�$� ��F�4�K�0�F�!��T�%5�%5�!6�q�!8�&��+�F�F��4���Q��q��)���S��!1�!1�2�1�4�f�Q�h�?���L�L�%�%�f�-��L�L�#�#�F�+��#�#�%����t�/�/��7�8����o�e��#�#��T�\�\�6�6�8��;�<���"�"�4�#3�#3�F�#;�<�� � �"��(,��$�'+��$��
�E�'D�E�E��
�Z�Z�E�J�J�#�-����t�z�z�E�J�J�6�7�"&�*�*�D���L�L�%�%�a��T�\�\�-F�-F�-H��-K�)L�M��L�L�#�#�D�$7�$7��
�
�$C�D��#�#�%��
����r$c��|j�sy|jjd�|jjd|jt	|j
�fz�k7r|j
�yy)Nr+r')r�rrXrr)rr�r�s  r"rxz#AutoCompleteWindow.keyrelease_event�sc���~�~����;�;���X�&��;�;���X����#�d�j�j�/�(J�J�K�L�
����Lr$c��|jduSr�)r
r�s r"r�zAutoCompleteWindow.is_active�s���&�&�d�2�2r$c�X�|j|j|j��yr�)r/r;rr�s r"r�zAutoCompleteWindow.complete�s�����4�0�0����<�=r$c��|j�sy|jjtt�t
D]"}|jjt|��$|jjt|j�|jjt|j�d|_d|_	tD]"}|jjt|��$|jjt|j�d|_|jjtt�|jjt|j�d|_|j jt"|j$�d|_|j&r1|jjt(|j&�d|_|jj+�|j,j/�d|_|j j/�d|_|jj/�d|_yr�)r�r
�event_deletermrrrsrr�rorprvrtrrwryrrrzrrr|�	focus_setr�destroy)r!r�s  r"r�zAutoCompleteWindow.hide_window�s����~�~���	
���,�,�-D�-D�	F�!�C��K�K�$�$�%<�c�B�"�	
���&�&�'>����M������2�D�L�L�A�������%�C��K�K�$�$�%@�#�F�&������6����H������� � �!>�!4�	6������8�$�:K�:K�L� ��������/��1B�1B�C� �������#�#�*�*�+=�t�?O�?O�P�#�D��	
������	
����� ����������������'�'�)�"&��r$N)�__name__�
__module__�__qualname__r#r/r5r;rHr�r}r�rnr{rrurxr�r�r�r�r$r"r	r	sZ��!$�F�/��@$*�LF�P3$�j
�#�9��r�h�3�>�%'r$r	�__main__)�mainz%idlelib.idle_test.test_autocomplete_wr1F)�	verbosity�exit)r��tkinter�tkinter.ttkr�idlelib.autocompleterr�idlelib.multicallrrmrrrsrtrvrwryrzr|r~r	r��unittestr�r�r$r"�<module>r�s������!�-�&�7��&��)�?�;��?��C��!D��$��*��"��2��P'�P'�f�z����	0�A�E�J�r$

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