Uname: Linux web3.us.cloudlogin.co 5.10.226-xeon-hst #2 SMP Fri Sep 13 12:28:44 UTC 2024 x86_64
Software: Apache
PHP version: 8.1.31 [ PHP INFO ] PHP os: Linux
Server Ip: 162.210.96.117
Your Ip: 3.133.107.136
User: edustar (269686) | Group: tty (888)
Safe Mode: OFF
Disable Function:
NONE

name : tooltip.cpython-310.pyc
o

_b��@s�dZddlTGdd�d�ZGdd�de�ZGdd�de�Zd	d
�Zedkr>ddlmZed
ddd�ddl	m
Z
e
e�dSdS)z�Tools for displaying tool-tips.

This includes:
 * an abstract base-class for different kinds of tooltips
 * a simple text-only Tooltip class
�)�*c@sHeZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Z	dd�Z
dS)�TooltipBasez abstract base class for tooltipscCs||_d|_dS)z�Create a tooltip.

        anchor_widget: the widget next to which the tooltip will be shown

        Note that a widget will only be shown when showtip() is called.
        N)�
anchor_widget�	tipwindow)�selfr�r�8/usr/local/python-3.10/lib/python3.10/idlelib/tooltip.py�__init__
s
zTooltipBase.__init__cCs|��dS�N��hidetip�rrrr�__del__szTooltipBase.__del__cCsz|jrdSt|j�|_}|�d�z
|j�dd|jdd�Wn	ty(Ynw|��|�	�|j�
�|j��dS)zdisplay the tooltipN�z!::tk::unsupported::MacWindowStyle�style�helpZnoActivates)r�ToplevelrZwm_overrideredirectZtk�callZ_w�TclError�position_window�showcontentsZupdate_idletasksZlift�rZtwrrr�showtips
��
zTooltipBase.showtipcCs@|��\}}|j��|}|j��|}|j�d||f�dS)z&(re)-set the tooltip's screen position�+%d+%dN)�get_positionrZwinfo_rootxZwinfo_rootyrZwm_geometry)r�x�yZroot_xZroot_yrrrr/szTooltipBase.position_windowcCsd|j��dfS)z(choose a screen position for the tooltip�r)rZwinfo_heightr
rrrr6s	zTooltipBase.get_positioncCst�)z$content display hook for sub-classes)�NotImplementedErrorr
rrrrAszTooltipBase.showcontentscCs8|j}d|_|rz|��WdStyYdSwdS�zhide the tooltipN)rZdestroyrrrrrrFs��zTooltipBase.hidetipN)�__name__�
__module__�__qualname__�__doc__r	rrrrrrrrrrr
s
rcs^eZdZdZd�fdd�	Z�fdd�Zddd	�Zdd
d�Zdd
�Zdd�Z	�fdd�Z
�ZS)�OnHoverTooltipBasez?abstract base class for tooltips, with delayed on-hover display��csVtt|��|�||_d|_|j�d|j�|_|j�d|j	�|_
|j�d|j	�|_dS)aqCreate a tooltip with a mouse hover delay.

        anchor_widget: the widget next to which the tooltip will be shown
        hover_delay: time to delay before showing the tooltip, in milliseconds

        Note that a widget will only be shown when showtip() is called,
        e.g. after hovering over the anchor widget with the mouse for enough
        time.
        N�<Enter>�<Leave>�<Button>)�superr$r	�hover_delay�	_after_idr�bind�_show_event�_id1�_hide_event�_id2�_id3)rrr*��	__class__rrr	Us
zOnHoverTooltipBase.__init__csZz|j�d|j�|j�d|j�|j�d|j�Wn	ty#Ynwtt|���dS)Nr&r'r()	rZunbindr.r0r1rr)r$rr
r2rrrgs�zOnHoverTooltipBase.__del__NcCs|jr	|��dS|��dS)z$event handler to display the tooltipN)r*�scheduler�r�eventrrrr-pszOnHoverTooltipBase._show_eventcCs|��dS)z!event handler to hide the tooltipNrr5rrrr/wszOnHoverTooltipBase._hide_eventcCs |��|j�|j|j�|_dS)z*schedule the future display of the tooltipN)�
unschedulerZafterr*rr+r
rrrr4{s

�zOnHoverTooltipBase.schedulecCs$|j}d|_|r|j�|�dSdS)z(cancel the future display of the tooltipN)r+rZafter_cancel)rZafter_idrrrr7�s
�zOnHoverTooltipBase.unschedulecs2z|��Wn	tyYnwtt|���dSr)r7rr)r$rr
r2rrr�s�zOnHoverTooltipBase.hidetip�r%r
)r r!r"r#r	rr-r/r4r7r�
__classcell__rrr2rr$Rs
	
r$cs*eZdZdZd�fdd�	Zdd�Z�ZS)�HovertipzAA tooltip that pops up when a mouse hovers over an anchor widget.r%cstt|�j||d�||_dS)avCreate a text tooltip with a mouse hover delay.

        anchor_widget: the widget next to which the tooltip will be shown
        hover_delay: time to delay before showing the tooltip, in milliseconds

        Note that a widget will only be shown when showtip() is called,
        e.g. after hovering over the anchor widget with the mouse for enough
        time.
        �r*N)r)r:r	�text)rrr<r*r2rrr	�s

zHovertip.__init__cCs$t|j|jtdtdd�}|��dS)Nz#ffffe0r)r<ZjustifyZ
backgroundZreliefZborderwidth)�Labelrr<ZLEFTZSOLID�pack)r�labelrrrr�s�zHovertip.showcontentsr8)r r!r"r#r	rr9rrr2rr:�s
r:cCs�t|�}|�d�tt|���d�dd��\}}|�d||df�t|dd�}|��t|dd�}|��t	|d	d
d�t|dd�}|��t	|d
dd�dS)NzTest tooltip�+rr�zPlace your mouse over buttons)r<z"Button 1 -- 1/2 second hover delayz!This is tooltip text for button1.i�r;zButton 2 -- no hover delayz!This is tooltip
text for button2.)
r�title�map�intZgeometry�splitr=r>ZButtonr:)�parent�toprrr?Zbutton1Zbutton2rrr�_tooltip�s
 rH�__main__)�mainzidlelib.idle_test.test_tooltip�F)�	verbosity�exit)�runN)r#�tkinterrr$r:rHr ZunittestrJZidlelib.idle_test.htestrNrrrr�<module>sH?�
© 2025 GrazzMean