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.16.139.131
User: edustar (269686) | Group: tty (888)
Safe Mode: OFF
Disable Function:
NONE

name : calltip_w.cpython-310.pyc
o

_b��@s�dZddlmZmZmZmZddlmZdZdZ	dZ
dZdZd	Z
Gd
d�de�Zdd
�ZedkrIddlmZedddd�ddlmZee�dSdS)zvA call-tip window class for Tkinter/IDLE.

After tooltip.py, which uses ideas gleaned from PySol.
Used by calltip.py.
�)�Label�LEFT�SOLID�TclError)�TooltipBasez<<calltipwindow-hide>>)z<Key-Escape>z
<FocusOut>z<<calltipwindow-checkhide>>)z<KeyRelease>z<ButtonRelease>�dZcalltipwindowregion_rightcsveZdZdZ�fdd�Zdd�Z�fdd�Z�fdd	�Zd
d�Zdd
d�Z	dd�Z
�fdd�Zdd�Zdd�Z
�ZS)�
CalltipWindowz+A call-tip widget for tkinter text widgets.csDtt|��|�d|_|_d|_|_|_d|_|_	d|_
dS)z}Create a call-tip; shown by showtip().

        text_widget: a Text widget with code for which call-tips are desired
        N)�superr�__init__�label�text�	parenline�parencol�lastline�hideid�checkhideid�checkhide_after_id)�selfZtext_widget��	__class__��:/usr/local/python-3.10/lib/python3.10/idlelib/calltip_w.pyr
s

zCalltipWindow.__init__cCs�t|j�d��d�d�}||jkr|j|jf}n|df}|j�d|�}|s7t|j�d��}d|d<d|d<|dd|d|dfS)z$Choose the position of the call-tip.�insert�.rz%d.%d���)�int�
anchor_widget�index�splitr
rZbbox�list)r�curlineZanchor_indexZboxrrr�get_position#s
zCalltipWindow.get_positioncsLt|j�d��d�d�}||jkrdS||_|j�d�tt|���dS)z Reposition the window if needed.rrrN)	rrrr rZseer	r�position_window)rr"rrrr$2s
zCalltipWindow.position_windowcs^||_|js	|jsdS|j�t|�tt|j�|��d��\|_	|_
tt|��
�|��dS)a_Show the call-tip, bind events which will close it and reposition it.

        text: the text to display in the call-tip
        parenleft: index of the opening parenthesis in the text widget
        parenright: index of the closing parenthesis in the text widget,
                    or the end of the line if there is no closing parenthesis
        Nr)r�	tipwindowrZmark_set�
MARK_RIGHT�maprrr r
rr	r�showtip�_bind_events)rrZ	parenleftZ
parenrightrrrr(;s	�zCalltipWindow.showtipc
Cs2t|j|jtddtd|jdd�|_|j��dS)zCreate the call-tip widget.z#ffffd0Zblackr�font)rZjustifyZ
backgroundZ
foregroundZreliefZborderwidthr*N)rr%rrrrr�pack�rrrr�showcontentsPs�zCalltipWindow.showcontentsNcCs�|jsdStt|j�d��d��\}}||jks*||jkr"||jks*|j�ddt	�r0|�
�dS|��|jdur@|j�
|j�|j�t|j�|_dS)z4Handle CHECK_HIDE_EVENT: call hidetip or reschedule.Nrr�>�break)r%r'rrrr r
rZcomparer&�hidetipr$rZafter_cancel�after�CHECKHIDE_TIME�checkhide_event)r�eventr"Zcurcolrrrr3Xs$
���
�zCalltipWindow.checkhide_eventcCs|jsdS|��dS)z%Handle HIDE_EVENT by calling hidetip.Nr/)r%r0)rr4rrr�
hide_eventsszCalltipWindow.hide_eventc	s�|jsdSz|j��Wn	tyYnwd|_d|_|_|_z|j�t	�Wn	ty3Ynwz|�
�WnttfyEYnwtt
|���dS)zHide the call-tip.N)r%rZdestroyrr
rrrZ
mark_unsetr&�_unbind_events�
ValueErrorr	rr0r,rrrr0{s(���zCalltipWindow.hidetipcCsh|j�t|j�|_tD]	}|j�t|�q|j�t|j�|j�t	|j
�|_tD]	}|j�t	|�q(dS)zBind event handlers.N)
r�bind�CHECKHIDE_EVENTr3r�CHECKHIDE_SEQUENCES�	event_addr1r2�
HIDE_EVENTr5r�HIDE_SEQUENCES�r�seqrrrr)�s���zCalltipWindow._bind_eventscCs`tD]	}|j�t|�q|j�t|j�d|_tD]	}|j�t|�q|j�t|j�d|_dS)zUnbind event handlers.N)	r:rZevent_deleter9Zunbindrr=r<rr>rrrr6�s
zCalltipWindow._unbind_events�N)�__name__�
__module__�__qualname__�__doc__r
r#r$r(r-r3r5r0r)r6�
__classcell__rrrrrs
	
rcs�ddlm}m}m}m}||�}|�d�tt|���	d�dd��\}}|�d|d|df�||�}|j
||dd	�|�d
d�|��t
|���fdd
�}	�fdd�}
|�dd�|�dd�|�d|	�|�d|
�|��dS)Nr)�Toplevel�Textr�BOTHzTest call-tips�+rz
250x100+%d+%d��)Zside�fill�expandrzstring.splitcs��ddd�dS)Nz(s='Hello world')r�end)r(�r4�Zcalltiprr�calltip_show�sz%_calltip_window.<locals>.calltip_showcs���dSr@)r0rOrPrr�calltip_hide�sz%_calltip_window.<locals>.calltip_hidez<<calltip-show>>�(z<<calltip-hide>>�))�tkinterrFrGrrH�titler'rZgeometryr r+r�updaterr;r8Z	focus_set)�parentrFrGrrH�top�x�yrrQrRrrPr�_calltip_window�s"
 r\�__main__)�mainz idlelib.idle_test.test_calltip_wrF)�	verbosity�exit)�runN)rDrUrrrrZidlelib.tooltiprr<r=r9r:r2r&rr\rAZunittestr^Zidlelib.idle_test.htestrarrrr�<module>s$�
© 2025 GrazzMean