
    r@;j                     (   d dl Z d dlZd dlZd dlZ G d d          Zd Zd Zedk    rhd ZddZ	d	 Z
d
 Zd ZddZ G d d          Zd Z e            Zee	e
eeeeej        ej	        ej
        ej        ej        ej        fZ ee           dS dS )    Nc                       e Zd Zg ZdgdgdgddgdZi Zi Zd Zd Zd	 Z	d
 Z
d Zd Zd Zd Zdej        z   ej        z   ej        z   fdZdS )CallTipsz<Key-parenleft>z<Key-parenright>z<KeyRelease>z<ButtonPress>z<Key-Escape>)z<<paren-open>>z<<paren-close>>z<<check-calltip-cancel>>z<<calltip-cancel>>c                     || _         |j        | _        d | _        t          | j        d          r| j        j        | _        d S | j        | _        d S )Nmake_calltip_window)editwintextcalltiphasattrr   _make_calltip_window_make_tk_calltip_window)selfr   s     kC:\Users\Administrator\AppData\Local\Temp\2\pip-target-b0z114gj\lib\python\pythonwin/pywin/idle/CallTips.py__init__zCallTips.__init__   sS    L	49344 	E(,	(ED%%%(,(DD%%%    c                     d | _         d S N)r   r   s    r   closezCallTips.close!   s    $(!!!r   c                 >    dd l }|                    | j                  S )Nr   )CallTipWindowCallTipr   )r   r   s     r   r   z CallTips._make_tk_calltip_window&   s$    $$TY///r   c                 X    | j         r"| j                                          d | _         d S d S r   )r	   hidetipr   s    r   _remove_calltip_windowzCallTips._remove_calltip_window+   s5    < 	 L  """DLLL	  	 r   c                    |                                   t          |                                           }|rR| j                            d          | _        |                                 | _        | j                            |           dS )Ninsert )	r   get_arg_textget_object_at_cursorr   indexcalltip_startr   r	   showtip)r   eventarg_texts      r   paren_open_eventzCallTips.paren_open_event0   sy    ##%%% 9 9 ; ;<< 	+!%!:!:D4466DLL  ***rr   c                 .    |                                   dS Nr   r   r   r#   s     r   paren_close_eventzCallTips.paren_close_event9   s     	##%%%rr   c                     | j         rY| j                            dd| j                  s$| j                            dd| j        dz             r|                                  dS )Nr   z<=>z lineendr   )r	   r   comparer!   r   r)   s     r   check_calltip_cancel_eventz#CallTips.check_calltip_cancel_event?   so    < 	. y  $ 2  .""8S$2Dz2QRR. ++---rr   c                 .    |                                   dS r'   r(   r)   s     r   calltip_cancel_eventzCallTips.calltip_cancel_eventJ   s    ##%%%rr   z._c                    | j         }|                    dd          }t          |          }|r!||dz
           |v r|dz  }|r||dz
           |v ||d          }|r.dd l}	 t	          |t
          j        |j        z            S #  Y nxY wd S )Nzinsert linestartr      r   )r   getlen__main__evalsysmodules__dict__)r   	wordcharsr   charsiwordr5   s          r   r   zCallTips.get_object_at_cursorN   s     y+X66JJ 	E!a%LI--FA  	E!a%LI--QRRy 	OOOD#+0A"ABBBts   !!B BN)__name__
__module____qualname__menudefskeydefswindows_keydefsunix_keydefsr   r   r   r   r%   r*   r.   r0   stringascii_uppercaseascii_lowercasedigitsr    r   r   r   r   
   s       H --./%3$4.?	 G OLE E E) ) )
0 0 0
     
    	 	 	   

 !

 ! -     r   r   c                 x    	 | j         S # t          $ r$ | j        D ]}t          |          }||c cY S Y nw xY wd S r   )r   AttributeError	__bases___find_constructor)class_obbasercs      r   rM   rM   h   sr         & 	 	D"4((B~					 	 	
 4s   	 (777c                 6   d}| t          j        |           rt          |           }|d }n| }t          j        |          st          j        |          rL	 t          t          j        |                    }n)#  t          d           t          j	                     Y nxY wt          | d          rd| j        }	 |                                }|                    d          }|dk     s|dk    rd}|r|dz  }||d |         z  }n# t          $ r Y nw xY w|S )Nr   c                      d S r   rI   rI   r   r   <lambda>zget_arg_text.<locals>.<lambda>}   s    d r   zFailed to format the args__doc__
r   F   )inspectisclassrM   
isfunctionismethodstr	signatureprint	traceback	print_excr
   rT   stripfindrK   )obargTextfobdocposs        r   r   r   u   sP   G	~?2 	#B''C{"lCc"" 	&g&6s&;&; 	&&g/4455&1222#%%%%%2y!! 	%*C%iikkhhtnn 77cBhhC $tOG3tt9$ "     Ns   !A< <$B"=)D	 	
DDr5   c                      dS )z()NrI   rI   r   r   t1rh            r   c                     dS )z(a, b=None)NrI   )abs     r   t2rm      ri   r   c                     dS z
(a, *args)NrI   rk   argss     r   t3rr      ri   r   c                      dS )z(*args)NrI   )rq   s    r   t4rt      ri   r   c                     dS ro   rI   rp   s     r   t5rv      ri   r   c                     dS )z(a, b=None, *args, **kw)NrI   )rk   rl   rq   kws       r   t6ry      ri   r   c                   B    e Zd ZdZd
dZd Zd
dZd Zd Zd Z	d
d	Z
dS )TC(self, a=None, *b)Nc                     dS )r|   NrI   r   rk   rl   s      r   r   zTC.__init__   ri   r   c                     dS )z(self)NrI   r   s    r   rh   zTC.t1   ri   r   c                     dS )z(self, a, b=None)NrI   r~   s      r   rm   zTC.t2   ri   r   c                     dS z(self, a, *args)NrI   r   rk   rq   s      r   rr   zTC.t3   ri   r   c                     dS )z(self, *args)NrI   )r   rq   s     r   rt   zTC.t4   ri   r   c                     dS r   rI   r   s      r   rv   zTC.t5   ri   r   c                     dS )z(self, a, b=None, *args, **kw)NrI   )r   rk   rl   rq   rx   s        r   ry   zTC.t6   ri   r   r   )r>   r?   r@   rT   r   rh   rm   rr   rt   rv   ry   rI   r   r   r{   r{      s        	! 	! 	! 	!	 	 		  	  	  	 	 	 		 	 		 	 		- 	- 	- 	- 	- 	-r   r{   c           
      ,   g }| D ]`}|j         dz   |j         z   }t          |          |k    r9|                    |           t          | d|dt          |                     at          dt	          |          t	          |           fz             d S )NrU   z - expected z
, but got z%d of %d tests failed)rT   r   appendr]   r4   )testsfailedtexpecteds       r   testr      s     	S 	SAy4'!)3HA(**a   QQQQl1ooQQRRR%Vc%jj(AABBBBBr   r   )rW   rE   r7   r^   r   rM   r   r>   rh   rm   rr   rt   rv   ry   r{   r   tcr   rI   r   r   <module>r      s|     



    [ [ [ [ [ [ [ [|
 
 
" " "R z           # # # #- - - - - - - -0C C C 
BBBBrubeRUBE25PEDKKKKKq r   