HEX
Server: Apache
System: Linux zacp120.webway.host 4.18.0-553.50.1.lve.el8.x86_64 #1 SMP Thu Apr 17 19:10:24 UTC 2025 x86_64
User: govancoz (1003)
PHP: 8.3.26
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: //usr/local/lib/python3.10/idlelib/__pycache__/autocomplete_w.cpython-310.opt-2.pyc
o

�iiR�@s�	ddlZddlTddlmZddlmZmZddlmZdZ	dZ
e
dfZd	Zd
Z
dZdZd
ZdZdZGdd�d�ZedkrMddlmZedddd�dSdS)�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@s�eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd �Zd!S)"�AutoCompleteWindowcCs�||_||_d|_|_|_d|_|_d|_d|_d|_	d|_
d|_d|_d|_
d|_|_|_|_|_|_d|_d|_dS)NF)�widget�tags�autocompletewindow�listbox�	scrollbar�origselforeground�origselbackground�completions�morecompletions�mode�start�
startindex�lasttypedstart�userwantswindowZhideid�
keypressid�listupdateid�winconfigid�keyreleaseid�
doubleclickid�lastkey_was_tab�is_configuring)�selfrr	�r�3/usr/local/lib/python3.10/idlelib/autocomplete_w.py�__init__s$��
zAutoCompleteWindow.__init__cCs�tt|j�t|��}d}||kr*|j|||kr*|d7}||kr*|j|||ks|t|j�krE|j�d|j|fd|jt|j�f�|t|�kr]|j�d|j|f||d�|j�||_dS)Nr��%s+%dc)�min�lenrr�deleter�insertr	)r�newstart�min_len�irrr�
_change_start@s��
�
z AutoCompleteWindow._change_startcCs\	d}t|j�}||kr$||d}|j||kr|}n|d}||kst|t|j�d�S)Nr�r!)r$rr#)r�sr)�j�mrrr�_binary_searchNs�z!AutoCompleteWindow._binary_searchc
Cs	|�|�}|j|dt|��|kr|S|d}t|j�}||kr@||d}|j|dt|��|kr8|}n|d}||ks"|d}||krM|j|S|j|}|j|}tt|�t|��}	t|�}||	kr�||||kr�|d7}||	kr�||||ksp|d|�S)Nr!r+)r/rr$r#)
rr,�firstr)r-r.ZlastZ
first_compZ	last_compr(rrr�_complete_string[s.

�


�z#AutoCompleteWindow._complete_stringcCs^	t|j��d�}|j�|�|j}|j|}|�|�|kr"|}n-tt|�t|��}d}||krI||||krI|d7}||krI||||ks9|d|�}|�	|�|j|dt|j
��|j
kro|jj|j|j
d�dS|jj|j�d�|j�d�d�|jr�|j|_d|_|j�dt�|jD]	}|j�t|�q�|j�|�|j
��|��dSdS)Nrr!)�selectbackground�selectforeground�bgZfg)�intr�curselection�seerrr/r#r$r*rZ	configurerr
�cgetrr%�ENDr&�
select_set�_selection_changed)r�curselZltsZselstartr'r(r)�itemrrrr;{s<
�


�
�
�z%AutoCompleteWindow._selection_changedcCsx	|\|_|_||_|j�|�|_|j�|jd�|_|rR|�|j�}|j}|�	|�|�
|�}|j||krR|t|j�dksN|j|ddt|��|krR||kS||_|j|_
t|j�|_}	|	�d�|	�d�z
|	j�dd|	jdd�Wn	ty�Ynwt|	td�|_}
t|	|
jd	d
�|_}|jD]}|�t|�q�|�d�|_|�d�|_ |
j!|j"d
�|
j#t$t%d�|j#t&t'dd�|	�(�|j�)|�
|j��|�*�|	�+t,|j-�|_.|j�+t,|j-�|_/|	�0t,t1�t2D]	}
|j�0t,|
�q�|j�+t3|j4�|_5t6D]
}
|j�0t3|
��q|j�+t7|j8�|_9|j�0t7t:�|�+t;|j<�|_=d	|_>|	�+t?|j@�|_A|�+tB|jC�|_DdS)Nr&r!z+10000+10000z!::tk::unsupported::MacWindowStyle�style�helpZnoActivates)ZorientF)ZyscrollcommandZexportselectionr3r2)Zcommand)�side�fillT)r@rA�expand)Errrr�indexr�getrr1r*r/r$rrZToplevelr
�wm_geometryZwm_overrideredirectZtk�callZ_w�TclErrorrZVERTICALrZListbox�setrr&r9r8r
rZconfigZyview�packZRIGHT�YZLEFTZBOTHZliftr:r;�bind�HIDE_VIRTUAL_EVENT_NAME�
hide_event�hideaid�hidewidZ	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)rZ
comp_listsrC�completerZuserWantsWinZ	completedrr)�acwrrr=�seqrrr�show_window�s~



���
����zAutoCompleteWindow.show_windowcCsJ|jrdSd|_|��sdSzk|j}|�|j�|�|j�\}}}}|j}t���	d�r0|�
�|��|��}}	|��|��}
}|�
�t|td|
|��}|��|}
||||	ksb||	krg|
|7}
n|
|	8}
|�d||
f�|��Wn	ty�Ynwt���	d�r�z	|�t|j�Wn	ty�Ynwd|_d|_dS)NTZWindowsrz+%d+%dF)r�	is_activerr7rZbboxr
�platform�system�
startswith�updateZwinfo_width�winfo_heightZwinfo_rootxr#�maxZwinfo_rootyrEZupdate_idletasksrG�unbindrZr)r�event�text�x�yZcx�cyr_Z	acw_widthZ
acw_height�
text_widthZtext_heightZnew_xZnew_yrrrr[�sB
��
z"AutoCompleteWindow.winconfig_eventcCsF|jsdSz|j��s|��WdSWdSty"|��YdSw�N)r
Z	focus_get�hide_window�KeyError�rrrr�_hide_event_check"s
��z$AutoCompleteWindow._hide_event_checkcCsH|��r |jtjkr|j�d|j�dS|jtjkr"|��dSdSdS)Nr!)	rb�typeZ	EventTypeZFocusOutrZafterrtZButtonPressrq�rrjrrrrM.s�zAutoCompleteWindow.hide_eventcCs8|��rd|_t|j��d�}|�|j|�dSdS)NTr)rbrr5rr6r*r�rrjr<rrrrY;s
�z#AutoCompleteWindow.listselect_eventcCs.t|j��d�}|�|j|�|��dS)Nr)r5rr6r*rrqrwrrrr]Asz$AutoCompleteWindow.doubleclick_eventcs�|��sdS|j�t|d�r|j}nd}�dkrd|_t��dks.�dvs.|jtkr��dvr�|t@s�t��dkrB|�	|j
��n>�dkrO|�	|j
d	�n1�d
kr\|�	|j
d�n$�dkri|�	|j
d
�nt|j
�dkrv|��dS|�	|j
dd��|j
|_|j
�dt|j
��d��|j
�|�|j
��|��dS�dkr�|��|��dS|jtkr��dvs�|jtkr��dvr�|t@s�t|j
��d�}|j|dt|j
��|j
kr�|jtks�|j
r�|�	|j|�|��dS�dv�r|�sd|_t|j
��d�}�dk�rd}nT�dk�rt|j�d}nG�dv�rL|j
�|j
���|j
�d�}�dk�r?td||�}n&tt|j�d||�}n�dk�rYtd|d�}ntt|j�d|d�}|j
�|�|j
�|�|��|�	|j|�dS�dk�r�|�s�|j�r�t|j
��d�}|�	|j|�|��dSd|_d|_dSt�fdd�dD���r�dS|j�r�|jdk�r�|�	|j
|j�|j
|_|j
�dt|j
��d��|j
�|�|j
��|��dS|��dS)N�mc_staterZTabFr!)�
underscoreZ	BackSpace)�period�minusry�_rz�.r{�-����breakZReturn)rz�spaceZ	parenleftZ
parenrightZbracketleftZbracketright)ZslashZ	backslashZquotedblZ
apostrophe)�Home�End�Prior�Next�UpZDownTr�r�)r�r�r�r�c3s�|]}|�vVqdSrpr)�.0r,��keysymrr�	<genexpr>�s�z4AutoCompleteWindow.keypress_event.<locals>.<genexpr>)ZShiftZControlZAltZMetaZCommandZOption� )rbr��hasattrrxrr$rrrr*rrqrrZselect_clearr5r6r:r/r;r^rrrZnearestrgrhr#�any�char)rrj�stater<ZnewselZjumprr�rrSGs�
�����
�



�

z!AutoCompleteWindow.keypress_eventcCsD|��sdS|j�d�|j�d|jt|j�f�kr |��dSdS)Nr&r")rbrrCrr$rrqrvrrrrV�s
��z#AutoCompleteWindow.keyrelease_eventcCs
|jduSrp)r
rsrrrrb�s
zAutoCompleteWindow.is_activecCs|�|�|j��dSrp)r*r1rrsrrrr^�szAutoCompleteWindow.completecCs |��sdS|j�tt�tD]	}|j�t|�q|j�t|j�|j�t|j	�d|_d|_	t
D]	}|j�t|�q1|j�t|j�d|_|j�t
t�|j�t
|j�d|_|j�t|j�d|_|jrq|j�t|j�d|_|j��|j��d|_|j��d|_|j��d|_dSrp)rbr
Zevent_deleterLrPrQrrirNrOrTrRrrUrWrrrXrrrZZ	focus_setrZdestroy)rr`rrrrq�s@��




zAutoCompleteWindow.hide_windowN)�__name__�
__module__�__qualname__r r*r/r1r;rar[rtrMrYr]rSrVrbr^rqrrrrrs"#
 &M4
tr�__main__)�mainz%idlelib.idle_test.test_autocomplete_wr+F)�	verbosity�exit)rc�tkinterZtkinter.ttkrZidlelib.autocompleterrZidlelib.multicallrrLrPrQrRrTrUrWrXrZr\rr�Zunittestr�rrrr�<module>s0Z�