Your IP : 216.73.216.85


Current Path : /opt/alt/python39/lib64/python3.9/idlelib/__pycache__/
Upload File :
Current File : //opt/alt/python39/lib64/python3.9/idlelib/__pycache__/sidebar.cpython-39.opt-2.pyc

a

XC?h5�@s�ddlZddlZddlZddlmZddlmZdd�Zdd�Z	Gdd	�d	�Z
Gd
d�de�ZGdd
�d
e
�Zdd�Z
edkr�ddlmZedddd�ddlmZee
�dS)�N)�idleConf)�	DelegatorcCstt|�d���S)Nzend-1c)�int�float�index)�text�r�4/opt/alt/python39/lib64/python3.9/idlelib/sidebar.py�get_end_linenumbersr
cCs�|��}|dkr|��}n |dkr,|��}ntd|����tt|jj|d|�d�|�d�g��}tt|jj|d|�d�|�d�g��}||fS)N�pack�gridzUnsupported geometry manager: �padxZborder�pady)	Z
winfo_managerZ	pack_infoZ	grid_info�
ValueError�sum�map�tkZgetintZcget)ZwidgetZmanager�infor
rrrr	�get_widget_paddings"


�
�rc@sdeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dS)�BaseSideBarc	Csx||_|j|_|j|_t|j�\}}tj|jdtjd|ddd�|_|jj	tj
d�|j|jd<|��|�
�d|_dS)N��r)�width�wrapr
rZborderwidthZhighlightthickness��stateZyscrollcommandF)�editwin�
text_frame�parentrrr�Text�NONE�sidebar_text�config�DISABLED�redirect_yscroll_event�update_font�
update_colors�is_shown)�selfrZ_padxrrrr	�__init__/s�zBaseSideBar.__init__cCst�|jdd�}|�|�dS)N�main�EditorWindow)r�GetFontr�_update_font�r(�fontrrr	r%?szBaseSideBar.update_fontcCs||jd<dS)Nr/)r!r.rrr	r-DszBaseSideBar._update_fontcCs*t�t��d�}|j|d|dd�dS)NZnormal�
foreground�
background�r0r1�rZGetHighlightZCurrentTheme�_update_colors�r(Zcolorsrrr	r&Gs
�zBaseSideBar.update_colorscCs|jj|||||d�dS)N)ZfgZbgZselectforegroundZselectbackgroundZinactiveselectbackground)r!r")r(r0r1rrr	r4Ms
�zBaseSideBar._update_colorscCs$|js |jjddtjd�d|_dS)Nrr��row�columnZstickyT)r'r!rr�NSEW�r(rrr	�show_sidebarTszBaseSideBar.show_sidebarcCs|jr|j��d|_dS)NF)r'r!Zgrid_forgetr:rrr	�hide_sidebarYs
zBaseSideBar.hide_sidebarcOs"|jjj|�|j�|d�dS)Nr�break)r�vbar�setr!�yview_moveto)r(�args�kwargsrrr	r$^sz"BaseSideBar.redirect_yscroll_eventcCs|j��dS)Nr=)r�	focus_set�r(�eventrrr	�redirect_focusin_eventgs
z"BaseSideBar.redirect_focusin_eventcCs"|j��|jj|d|jd�dS)Nr)�x�yr=)rrC�event_generaterH)r(rE�
event_namerrr	�redirect_mousebutton_eventls
z&BaseSideBar.redirect_mousebutton_eventcCs|jjdd|j|jd�dS)N�<MouseWheel>r)rGrH�deltar=)rrIrHrMrDrrr	�redirect_mousewheel_eventrs
�z%BaseSideBar.redirect_mousewheel_eventN)�__name__�
__module__�__qualname__r)r%r-r&r4r;r<r$rFrKrNrrrr	r+s	rc@s(eZdZdd�Zddd�Zd	dd�ZdS)
�EndLineDelegatorcCst�|�||_dS�N)rr)�changed_callback)r(rTrrr	r)|s
zEndLineDelegator.__init__NcCs$|j�|||�|�t|j��dSrS)�delegate�insertrTr
)r(r�charsZtagsrrr	rV�szEndLineDelegator.insertcCs"|j�||�|�t|j��dSrS)rU�deleterTr
)r(Zindex1Zindex2rrr	rX�szEndLineDelegator.delete)N)N)rOrPrQr)rVrXrrrr	rRys	
rRc@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�LineNumberscCs�t�||�d|_t|jd�|_|jjtjd�|j�	ddd�|jjtj
d�|jjddd�|jjdtjd	�|�
�t|j�}|�|�t|j�}|�|jjj�|jj�|�|jjj}||ur�|��|j}q�d|_dS)
NrrrrV�1�
linenumberF)Z	takefocusZexportselection)Zjustify)rr)�prev_end�typer!�_sidebar_width_typer"r�NORMALrVr#Z
tag_configZRIGHT�bind_eventsr
r�update_sidebar_textrRZsetdelegaterZundorUZper�topZ
resetcacher')r(r�endZend_line_delegatorZ	delegatorrrr	r)�s&



zLineNumbers.__init__cs4�j�d�j��j�d�j��fdd�}dD]j}d|�d�d|�d�d	|�d
�fD]}|||d�qVd|�d�d
|�d�fD]}||d|�d�d�q�q0d�d����fdd�}�j�d|����fdd�}�j�d|���fdd������fdd�}�j�d|�����fdd�}�j�d|�dS)Nz	<FocusIn>rLcs"tj�j|d�}�j�||�dS)N)rJ)�	functools�partialrKr!�bind)rJ�target_event_nameZhandlerr:rr	�bind_mouse_event�s�z1LineNumbers.bind_events.<locals>.bind_mouse_event)r���z<Button-�>z<ButtonRelease-z<Bz-Motion>)rgz<Double-Button-z<Triple-Button-csltt�j�d|j�����}�j�ddd��j�d|�d�|d�d���j�d|d�d��|�dS�Nz@0,Zsel�1.0rcz.0rrV)	rrr!rrHr�
tag_remove�tag_add�mark_set)rE�lineno�r(�
start_linerr	�b1_mousedown_handler�s
 z5LineNumbers.bind_events.<locals>.b1_mousedown_handlerz
<Button-1>csd�d�d�dSrSr)rE)�last_y�
last_yviewrtrr	�b1_mouseup_handler�sz3LineNumbers.bind_events.<locals>.b1_mouseup_handlerz<ButtonRelease-1>cs�tt�j�d|�����}t�|g�\}}�j�ddd��j�d|�d�|d�d���j�d||krn|n|d�d��dSrm)	rrr!r�sortedrrorprq)Zy_coordrr�a�brsrr	�%drag_update_selection_and_insert_mark�s �zFLineNumbers.bind_events.<locals>.drag_update_selection_and_insert_markcsJ|j��j���d�kr*�j��ks<n�j��d��|j�dS�Nr)rHr!�yviewZwinfo_heightrr@)rErA�r|rvrwr(rr	�b1_drag_handler�s

z0LineNumbers.bind_events.<locals>.b1_drag_handlerz<B1-Motion>cs:�durdS�j��}|�kr6�j�|d����dSr})r!r~rr@)rEr~rrr	�selection_handler
s
z2LineNumbers.bind_events.<locals>.selection_handlerz
<<Selection>>)r!rfrFrN)r(rhZbuttonrJrurxr�r�r)r|rvrwr(rtr	r`�s4


�

�
�

	zLineNumbers.bind_eventscCs*t�t��d�}|j|d|dd�dS)Nr[r0r1r2r3r5rrr	r&s
�zLineNumbers.update_colorscCs�||jkrdStt|��tt|j��}|rVtt|jd��}||}|�|�|jd<|jjtj	d�||jkr�d�
t�dgt
tt|jd|d����}|j�d|d�n|j�|d�d�d�|jjtjd�||_dS)	Nrr�
�rzend -1cr[z.0 -1c)r\�len�strrrr!r^r"rr_�join�	itertools�chainr�rangerVrXr#)r(rcZwidth_differenceZ	cur_widthZ	new_widthZnew_textrrr	ras"

�zLineNumbers.update_sidebar_textN)rOrPrQr)r`r&rarrrr	rY�sjrYc	Cs�ddlm}t�|�}t�|�}|jtjtjdd�|jddd�|j	ddd�t
�|dd�}tj|d	d
tj
|d�}|jddtjd�||�}t�|�|_t|�}|��|�d
d�dd�tdd�D���dS)Nr)�
Dummy_editwinT)ZsideZfill�expandr)Zweightr*r+�P�)rZheightrr/r6rnr�css|]}d|VqdS)rzNr)�.0�irrr	�	<genexpr>M�z._linenumbers_drag_scrolling.<locals>.<genexpr>�e)Zidlelib.idle_test.test_sidebarr�rZToplevelZFramerZLEFTZBOTHZrowconfigureZcolumnconfigurerr,rr rr9Z	Scrollbarr>rYr;rVr�r�)rr�Ztoplevelrr/rrZlinenumbersrrr	�_linenumbers_drag_scrolling:s

r��__main__)r*zidlelib.idle_test.test_sidebarrF)�	verbosity�exit)�run)rdr�ZtkinterrZidlelib.configrZidlelib.delegatorrr
rrrRrYr�rOZunittestr*Zidlelib.idle_test.htestr�rrrr	�<module>s N-