£Á°èZ¨Ä…–K§‚«“ô4“ÒÙ´dîfUÙÃÅ WKbyÊ¦•êŽ…È®FÒ¿ÊÎóCozá¬S@6{Í:›œêZÌ:Š•_%:¢¾¾~;‘Ã~èŠ©ÊÇí`ÔÑ©úë™µ'5I¿fš×WO%ø9¾«¾DK|€ùÍD”Ýs]nHÕ¶ê×Ó¼ãžªéUWŸÈË%DÒÕ¬ï‘]/Åcx  ‰ï2ß]ä6G[]S£ÔÏ¯rs{úëóµmÒï#UQxo·õÞCe]"±/aÙ&Eã4ú9Jé_ÞåëdãöKë)AÞ                  ¯¹ægƒÛowÐø^d™ý½ßB7áyMä9ÜÖUã
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
<html>

],                 @   s   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	 Gd d   d  Z
 d d   Z d Z d	 Z d Z e j d  Z d Z d d   Z e d k r d  d l m Z e d d d d S)    N)CallTipWindow)HyperParserc               @   s   e  Z d  Z d d g f g Z d d d  Z d d   Z d	 d
   Z d d d  Z d d   Z d d   Z	 d d   Z
 d d   Z d d   Z d S)CallTipsZeditShow call tip<<force-open-calltip>>Nc             C   sF   | d  k r d  |  _  n* | |  _  | j |  _ d  |  _ |  j |  _ d  S)N)editwintextactive_calltip_make_tk_calltip_window_calltip_window)selfr    r   -/opt/alt/python35/lib64/python3.5/CallTips.py__init__   s    		zCallTips.__init__c             C   s   d  |  _  d  S)N)r   )r   r   r   r   close#   s    zCallTips.closec             C   s   t  j |  j  S)N)r   ZCallTipr   )r   r   r   r   r
   &   s    z CallTips._make_tk_calltip_windowc             C   s#   |  j  r |  j  j   d  |  _  d  S)N)r	   Zhidetip)r   eventr   r   r   _remove_calltip_window*   s    	zCallTips._remove_calltip_windowc             C   s   |  j  d  d  S)NT)open_calltip)r   r   r   r   r   force_open_calltip_event/   s    z!CallTips.force_open_calltip_eventc             C   s   |  j  d  d  S)NF)r   )r   r   r   r   r   try_open_calltip_event3   s    zCallTips.try_open_calltip_eventc             C   s)   |  j  r% |  j  j   r% |  j d  d  S)NF)r	   Z	is_activer   )r   r   r   r   r   refresh_calltip_event:   s    zCallTips.refresh_calltip_eventc             C   s   |  j    t |  j d  } | j d  } | s5 d  S| j | d  | j   } | s\ d  S| r| | j d  d k r| d  S|  j |  } | s d  S|  j   |  _	 |  j	 j
 | | d | d  d  S)Ninsert(r      )r   r   r   Zget_surrounding_bracketsZ	set_indexZget_expressionfind	fetch_tipr   r	   Zshowtip)r   Z	evalfuncsZhpZ	sur_paren
expressionargspecr   r   r   r   >   s     
zCallTips.open_calltipc             C   sg   y |  j  j j j j } Wn t k
 r3 d  } Yn X| rS | j d d | f i   St t |   Sd  S)NexecZget_the_calltip)	r   flistZpyshellZinterprpccltAttributeErrorZ
remotecallget_argspec
get_entity)r   r   r!   r   r   r   r   Q   s    zCallTips.fetch_tip)r   r   )__name__
__module____qualname__Zmenudefsr   r   r
   r   r   r   r   r   r   r   r   r   r   r      s   	r   c             C   sS   |  rO t  j j   } | j t j  y t |  |  SWn t k
 rN d  SYn Xd  S)N)sysmodulescopyupdate__main____dict__evalBaseException)r   	namespacer   r   r   r$   i   s    r$   U          z(?<=\()\w*\,?\s*zSee source or docc             C   s  d } y |  j  } Wn t k
 r+ | SYn Xt |  t  rG |  j } n! t | t j  rb | } n |  } t | t j t j f  r t j	 t j
 |    } t |  t t j f  s t | t j  r t j d |  } t |  t k rt j | t d t n | r| g n g  } t | t j  r4| j } n t |  d d  } | rxn | j d t  d  t  D]P } | j   } | sPt |  t k r| d  t d  d } | j |  qiWd j |  } | st } | S)N subsequent_indent__doc__
   z...)__call__r/   
isinstancetyper   types
MethodTypeFunctionTypeinspectZformatargspecZgetfullargspec_first_paramsublen	_MAX_COLStextwrapwrap_INDENTr7   getattrsplit
_MAX_LINESstripappendjoin_default_callable_argspec)obr   Zob_callZfoblinesdocliner   r   r   r#      s>    			?#r#   r,   )mainzidlelib.idle_test.test_calltips	verbosity   z    )r,   r@   rer(   rE   r=   Zidlelibr   Zidlelib.HyperParserr   r   r$   rD   rJ   rG   compilerA   rN   r#   r%   ZunittestrS   r   r   r   r   <module>   s$   W.