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.7/tkinter/__pycache__/dnd.cpython-37.opt-2.pyc
B

��g�,�@sTddlZdd�ZGdd�d�ZGdd�d�ZGdd	�d	�Zd
d�ZedkrPe�dS)
�NcCst||�}|jr|SdSdS)N)�
DndHandler�root)�source�event�h�r�'/usr/local/lib/python3.7/tkinter/dnd.py�	dnd_startls
r	c@sDeZdZdZdd�Zdd�Zdd�Zdd	�Zdd
d�Zdd
d�Z	dS)rNcCs�|jdkrdS|j��}y
|jdStk
rB||_||_YnX||_d|_|j|_}|j|_	}d||f|_
|dp�d|_|�|j
|j
�|�d|j�d|d<dS)N�z<B%d-ButtonRelease-%d>�cursor�z<Motion>Zhand2)Znum�widgetZ_root�_DndHandler__dnd�AttributeErrorrr�targetZinitial_button�initial_widget�release_pattern�save_cursor�bind�
on_release�	on_motion)�selfrrrZbuttonr
rrr�__init__zs$

zDndHandler.__init__cCs2|j}d|_|r.y|`Wntk
r,YnXdS)N)rrr)rrrrr�__del__�szDndHandler.__del__c	Cs�|j|j}}|j�||�}|j}d}x>|rdy
|j}Wntk
rJYnX|||�}|r\P|j}q(W|j}||kr�|r�|�	||�n,|r�d|_|�
||�|r�|�||�||_dS)N)�x_root�y_rootrZwinfo_containingr�
dnd_acceptrZmasterr�
dnd_motion�	dnd_leave�	dnd_enter)	rr�x�yZ
target_widgetr�
new_target�attrZ
old_targetrrrr�s.


zDndHandler.on_motioncCs|�|d�dS)N�)�finish)rrrrrr�szDndHandler.on_releasecCs|�|d�dS)Nr)r%)rrrrr�cancel�szDndHandler.cancelrc
Cs�|j}|j}|j}|j}zf|`|j�|j�|j�d�|j|d<d|_|_|_|_|r||rp|�||�n|�	||�Wd|�
||�XdS)Nz<Motion>r)rrrrrZunbindrr�
dnd_commitr�dnd_end)rrZcommitrrr
rrrrr%�s
zDndHandler.finish)N)r)
�__name__�
__module__�__qualname__rrrrrr&r%rrrrrvs	
rc@sNeZdZdd�Zddd�Zdd�Zdd	�Zd
d�Zdd
�Zdd�Z	dd�Z
dS)�IconcCs||_d|_|_|_dS)N)�name�canvas�label�id)rr-rrrr�sz
Icon.__init__�
cCs�||jkr |j�|j||�dS|jr.|��|s6dStj||jddd�}|j|||dd�}||_||_||_|�	d|j
�dS)N�Zraised)�textZborderwidthZreliefZnw)ZwindowZanchorz
<ButtonPress>)r.�coordsr0�detach�tkinterZLabelr-Z
create_windowr/r�press)rr.r r!r/r0rrr�attach�s


zIcon.attachcCsB|j}|sdS|j}|j}d|_|_|_|�|�|��dS)N)r.r0r/�deleteZdestroy)rr.r0r/rrrr5�s
zIcon.detachcCs4t||�r0|j|_|j|_|j�|j�\|_|_	dS)N)
r	r �x_offr!�y_offr.r4r0�x_orig�y_orig)rrrrrr7�s
z
Icon.presscCs(|�|j|�\}}|j�|j||�dS)N)�wherer.r4r0)rrr r!rrr�move�sz	Icon.movecCs|j�|j|j|j�dS)N)r.r4r0r<r=)rrrr�putback�szIcon.putbackcCs8|��}|��}|j|}|j|}||j||jfS)N)Zwinfo_rootxZwinfo_rootyrrr:r;)rr.rZx_orgZy_orgr r!rrrr>�s


z
Icon.wherecCsdS)Nr)rrrrrrr(	szIcon.dnd_endN)r1r1)r)r*r+rr8r5r7r?r@r>r(rrrrr,�s


r,c@s<eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
S)�TestercCs>t�|�|_tj|jddd�|_|jjddd�|j|j_dS)N�d)�widthZheightZbothr$)�fill�expand)r6ZToplevel�topZCanvasr.�packr)rrrrrrszTester.__init__cCs|S)Nr)rrrrrrrszTester.dnd_acceptcCsp|j��|�|j|�\}}|j�|j�\}}}}||||}	}
|j�||||	||
�|_|�||�dS)N)r.�	focus_setr>�bboxr0Zcreate_rectangle�dndidr)rrrr r!�x1�y1�x2�y2ZdxZdyrrrrs
zTester.dnd_enterc	CsF|�|j|�\}}|j�|j�\}}}}|j�|j||||�dS)N)r>r.rIrJr?)	rrrr r!rKrLrMrNrrrrszTester.dnd_motioncCs"|j��|j�|j�d|_dS)N)rFrHr.r9rJ)rrrrrrr$s
zTester.dnd_leavecCs2|�||�|�|j|�\}}|�|j||�dS)N)rr>r.r8)rrrr r!rrrr')szTester.dnd_commitN)	r)r*r+rrrrrr'rrrrrAsrAcCs�t��}|�d�tj|jdd���t|�}|j�d�t|�}|j�d�t|�}|j�d�td�}td�}td	�}|�	|j
�|�	|j
�|�	|j
�|��dS)
Nz+1+1ZQuit)Zcommandr3z+1+60z+120+60z+240+60ZICON1ZICON2ZICON3)r6ZTkZgeometryZButton�quitrGrArFr,r8r.Zmainloop)rZt1Zt2Zt3Zi1Zi2Zi3rrr�test.s 
rP�__main__)r6r	rr,rArPr)rrrr�<module>gs
Z<"