Current File : //usr/local/apps/python3/lib/python3.11/idlelib/__pycache__/calltip_w.cpython-311.opt-2.pyc
�

�Ke����	ddlmZmZmZmZddlmZdZdZdZ	dZ
dZdZGd	�d
e��Z
d�Zedkr'dd
lmZeddd���ddlmZee��dSdS)�)�Label�LEFT�SOLID�TclError)�TooltipBasez<<calltipwindow-hide>>)z<Key-Escape>z
<FocusOut>z<<calltipwindow-checkhide>>)z<KeyRelease>z<ButtonRelease>�d�calltipwindowregion_rightc�d��eZdZ	�fd�Zd�Z�fd�Z�fd�Zd�Zdd�Zd�Z	�fd	�Z
d
�Zd�Z�xZ
S)
�
CalltipWindowc����	tt|���|��dx|_|_dx|_x|_|_dx|_|_	d|_
dS�N)�superr�__init__�label�text�	parenline�parencol�lastline�hideid�checkhideid�checkhide_after_id)�self�text_widget�	__class__s  ��;/usr/local/apps/python3/lib/python3.11/idlelib/calltip_w.pyrzCalltipWindow.__init__sh���	�
	�m�T�"�"�+�+�K�8�8�8�!%�%��
�T�Y�9=�=���=�����)-�-���d�&�"&�����c��	t|j�d���d��d��}||jkr|j|jf}n|df}|j�d|z��}|s1t|j�d����}d|d<d|d<|ddz|d|dzfS)N�insert�.rz%d.%d���)�int�
anchor_widget�index�splitrr�bbox�list)r�curline�anchor_index�boxs    r�get_positionzCalltipWindow.get_position#s���2��d�(�.�.�x�8�8�>�>�s�C�C�A�F�G�G���d�n�$�$� �N�D�M�:�L�L�#�Q�<�L�� �%�%�g��&<�=�=���	��t�)�.�.�x�8�8�9�9�C��C��F��C��F��1�v��z�3�q�6�C��F�?�*�*rc�4��	t|j�d���d��d��}||jkrdS||_|j�d��t
t|�����dS)Nrrr)	r#r$r%r&r�seerr�position_window)rr)rs  �rr/zCalltipWindow.position_window2s����*��d�(�.�.�x�8�8�>�>�s�C�C�A�F�G�G���d�m�#�#��F���
�����x�(�(�(�
�m�T�"�"�2�2�4�4�4�4�4rc���	||_|js|jsdS|j�t|��tt|j�|���d����\|_	|_
tt|���
��|���dS)Nr)r�	tipwindowr$�mark_set�
MARK_RIGHT�mapr#r%r&rrrr�showtip�_bind_events)rr�	parenleft�
parenrightrs    �rr5zCalltipWindow.showtip;s����	���	��>�	���	��F���#�#�J�
�;�;�;�(+���#�)�)�)�4�4�:�:�3�?�?�)A�)A�%����
�	�m�T�"�"�*�*�,�,�,��������rc��	t|j|jtddtd|jd���|_|j���dS)Nz#ffffd0�blackr!�font)r�justify�
background�
foreground�relief�borderwidthr;)rr1rrrr$r�pack)rs r�showcontentszCalltipWindow.showcontentsPsT��)��4�>��	�4�&/�G�"'�Q� $� 2�6� :�<�<�<��
�	
�
�������rNc��	|jsdStt|j�d���d����\}}||jks7||jkr||jks!|j�ddt��r|�
��dS|���|j�|j�
|j��|j�t|j��|_dS)Nrr�>�break)r1r4r#r$r%r&rr�comparer3�hidetipr/r�after_cancel�after�CHECKHIDE_TIME�checkhide_event)r�eventr)�curcols    rrKzCalltipWindow.checkhide_eventXs���B��~�	��4��c�4�#5�#;�#;�H�#E�#E�#K�#K�C�#P�#P�Q�Q�����T�^�#�#��t�~�%�%�&�D�M�*A�*A���%�%�h��Z�@�@�+B��L�L�N�N�N��7�	
�������"�.���+�+�D�,C�D�D�D���$�$�^�T�5I�J�J�	
���trc�B�	|jsdS|���dS)NrE)r1rG)rrLs  r�
hide_eventzCalltipWindow.hide_eventss&��3��~�	��4��������wrc���	|jsdS	|j���n#t$rYnwxYwd|_dx|_x|_|_	|j�t��n#t$rYnwxYw	|�
��n#ttf$rYnwxYwtt|�����dSr
)r1r�destroyrrrrr$�
mark_unsetr3�_unbind_events�
ValueErrorrrrG)rrs �rrGzCalltipWindow.hidetip{s��� ��~�	��F�	��J��� � � � ���	�	�	��D�	������
�9=�=���=�����	���)�)�*�5�5�5�5���	�	�	��D�	����	����!�!�!�!���*�%�	�	�	��D�	����	�m�T�"�"�*�*�,�,�,�,�,s0�'�
4�4�A4�4
B�B�B�B.�-B.c��	|j�t|j��|_t
D]"}|j�t|���#|j�t|j��|j�t|j
��|_tD]"}|j�t|���#dSr
)
r$�bind�CHECKHIDE_EVENTrKr�CHECKHIDE_SEQUENCES�	event_addrIrJ�
HIDE_EVENTrOr�HIDE_SEQUENCES�r�seqs  rr6zCalltipWindow._bind_events�s���"��-�2�2�?�37�3G�I�I���&�	?�	?�C���(�(��#�>�>�>�>��� � ���1E�F�F�F��(�-�-�j�.2�o�?�?���!�	:�	:�C���(�(��S�9�9�9�9�	:�	:rc�`�	tD]"}|j�t|���#|j�t|j��d|_tD]"}|j�t|���#|j�t|j��d|_dSr
)	rXr$�event_deleterW�unbindrr[rZrr\s  rrSzCalltipWindow._unbind_events�s���$�&�	B�	B�C���+�+�O�S�A�A�A�A���!�!�/�4�3C�D�D�D����!�	=�	=�C���+�+�J��<�<�<�<���!�!�*�d�k�:�:�:�����rr
)�__name__�
__module__�__qualname__rr,r/r5rBrKrOrGr6rS�
__classcell__)rs@rrrs��������5�'�'�'�'�'�
+�
+�
+�5�5�5�5�5������*�������6���-�-�-�-�-�2
:�
:�
:�	�	�	�	�	�	�	rrc����ddlm}m}m}m}||��}|�d��t
t|����	d��dd���\}}|�d|dz|dzfz��||��}|�
||d�	��|�d
d��|���t|����fd�}	�fd
�}
|�dd��|�dd��|�d|	��|�d|
��|���dS)Nr)�Toplevel�Textr�BOTHzTest call-tips�+r!z
250x100+%d+%d��)�side�fill�expandrzstring.splitc�6����ddd��dS)Nz(s='Hello world')r�end)r5�rL�calltips �r�calltip_showz%_calltip_window.<locals>.calltip_show�s ������+�X�u�=�=�=�=�=rc�0������dSr
)rGrqs �r�calltip_hidez%_calltip_window.<locals>.calltip_hide�s����������rz<<calltip-show>>�(z<<calltip-hide>>�))�tkinterrfrgrrh�titler4r#�geometryr&rAr�updaterrYrV�	focus_set)�parentrfrgrrh�top�x�yrrsrurrs           @r�_calltip_windowr��s����2�2�2�2�2�2�2�2�2�2�2�2�
�(�6�
�
�C��I�I������s�F�O�O�%�%�+�+�C�0�0����4�5�5�D�A�q��L�L��A��G�Q��W�#5�5�6�6�6��4��9�9�D��I�I�4�d�1�I�-�-�-��K�K��.�)�)�)��J�J�L�L�L��D�!�!�G�>�>�>�>�>�������N�N�%�s�+�+�+��N�N�%�s�+�+�+��I�I� �,�/�/�/��I�I� �,�/�/�/��N�N�����r�__main__)�mainz idlelib.idle_test.test_calltip_wr F)�	verbosity�exit)�runN)rxrrrr�idlelib.tooltiprrZr[rWrXrJr3rr�ra�unittestr��idlelib.idle_test.htestr��rr�<module>r�s
���
1�0�0�0�0�0�0�0�0�0�0�0�'�'�'�'�'�'�
%�
�/��/��9����
(�
�V�V�V�V�V�K�V�V�V�r���0�z����������D�	+�q�u�E�E�E�E�+�+�+�+�+�+��C��������r