
    3\hc                         	 d dl Z d dlZd dlZd dlZd dlZd dlZd dlmZ d dlm	Z	  G d d          Z
d ZdZdZd	Z ej        d
          ZdZdZd Zedk    rd dlmZ  edd           dS dS )    N)	calltip_w)HyperParserc                   H    e Zd ZddZd Zd ZddZd Zd Zd Z	d	 Z
d
 ZdS )CalltipNc                 h    |	d | _         d S || _         |j        | _        d | _        | j        | _        d S N)editwintextactive_calltip_make_tk_calltip_window_calltip_window)selfr	   s     9/opt/python-3.11.14/usr/lib/python3.11/idlelib/calltip.py__init__zCalltip.__init__   s;    ?DLLL"DLDI"&D#'#?D       c                     d | _         d S r   )r   r   s    r   closezCalltip.close   s    #r   c                 4    t          j        | j                  S r   )r   CalltipWindowr
   r   s    r   r   zCalltip._make_tk_calltip_window    s    &ty111r   c                 X    | j         r"| j                                          d | _         d S d S r   )r   hidetipr   events     r   remove_calltip_windowzCalltip.remove_calltip_window$   s:     	''')))"&D	' 	'r   c                 2    	 |                      d           dS )NTbreakopen_calltipr   s     r   force_open_calltip_eventz Calltip.force_open_calltip_event)   s    C$wr   c                 2    	 |                      d           d S NFr   r   s     r   try_open_calltip_eventzCalltip.try_open_calltip_event.   s#    	 	%     r   c                 ^    | j         r#| j         j        r|                     d           d S d S d S r"   )r   	tipwindowr   r   s     r   refresh_calltip_eventzCalltip.refresh_calltip_event5   sH     	%4#6#@ 	%e$$$$$	% 	% 	% 	%r   c                    	 t          | j        d          }|                    d          }|s|                                  d S | j        rQt          t          |d                             d                    \  }}||f| j        j        | j        j	        fk    rd S |
                    |d                    	 |                                }n# t          $ r d }Y nw xY w|sd S |                                  |s|                    d          dk    rd S |                     |          }|sd S |                                 | _        | j                            ||d         |d                    d S )Ninsert(r   .   )r   r	   get_surrounding_bracketsr   r   mapintsplit	parenlineparencol	set_indexget_expression
ValueErrorfind	fetch_tipr   showtip)r   	evalfuncshp	sur_parenopener_line
opener_col
expressionargspecs           r   r   zCalltip.open_calltip9   s   	 x00//44	  	&&(((F  	&)#y|/A/A#/F/F&G&G#Kj)$.0C0LMN N 
Yq\"""	**,,JJ 	 	 	JJJ	 	 F 	""$$$  	jooc22b88F..,, 	F"2244##GYq\9Q<HHHHHs   8C CCc                     	 	 | j         j        j        j        j        }n# t
          $ r d }Y nw xY w|r|                    dd|fi           S t          t          |                    S )Nexecget_the_calltip)	r	   flistpyshellinterprpccltAttributeError
remotecallget_argspec
get_entity)r   r>   rF   s      r   r7   zCalltip.fetch_tipl   s    		\'/6=FF 	 	 	FFF	 	7$$V->&0]B8 8 8 z*55666s    ..r   )__name__
__module____qualname__r   r   r   r   r    r#   r&   r   r7    r   r   r   r      s        @ @ @ @$ $ $2 2 2' ' ' '
  
! ! !% % %1I 1I 1If7 7 7 7 7r   r   c                     	 | r<i t           j        t          j        }	 t	          | |          S # t
          $ r Y d S w xY wd S r   )sysmodules__main____dict__evalBaseException)r>   	namespaces     r   rJ   rJ      sh      8s{8h&78		
I... 	 	 	 44		 s   / 
==U      z    z(?<=\()\w*\,?\s*zSee source or doczinvalid method signaturec                    	 	 | j         }n# t          $ r Y dS w xY wt          |t          j                  r|n| }	 t          t          j        |                    }nN# t          $ rA}t          |          }|	                    t                    rt          cY d }~S d}Y d }~nd }~ww xY wt          |t                    r|dk    rt          }t          |          t          k    r!t          j        |t          t"                    n|r|gng }t          j        |           }|r|                    dt(                    d t(                   D ]\}|                                }|s nCt          |          t          k    r|d t          dz
           dz   }|                    |           ]d                    |          }|pt          S )N z())subsequent_indent
   z...)__call__rU   
isinstancetypes
MethodTypestrinspect	signature	Exception
startswith_invalid_methodtype_default_callable_argspeclen	_MAX_COLStextwrapwrap_INDENTgetdocr0   
_MAX_LINESstripappendjoin)	obob_callfobr?   errmsglinesdoclines	            r   rI   rI      s   +   rr  )9::
B''Cg',,--   #hh>>/** 	"""""""GGGGGG #t ,D+ Gy(( ]7IIIII;B.Jwii 
 .

C
 IIdJ//< 	 	D::<<D 4yy9$$Oi!mO,u4LLiiG///s/    
!A 
B('/B#B(B##B(rR   )mainzidlelib.idle_test.test_calltip   )	verbosity)rR   rc   rerP   rl   r`   idlelibr   idlelib.hyperparserr   r   rJ   rk   rp   rn   compile_first_paramri   rg   rI   rK   unittestr|   rN   r   r   <module>r      s'     				 



         + + + + + +p7 p7 p7 p7 p7 p7 p7 p7f   	

rz-../ ,.0 .0 .0b zD	)Q777777 r   