;
Πβ"Ic               @   sy   d  Z  d d l Td Z d Z d Z d Z d	 Z d
 Z Gd   d  Z Gd   d  Z	 d   Z
 e d k o e
   n d S(   u   A CallTip window class for Tkinter/IDLE.

After ToolTip.py, which uses ideas gleaned from PySol
Used by the CallTips IDLE extension.

i    (   u   *u   <<calltipwindow-hide>>u   <Key-Escape>u
   <FocusOut>u   <<calltipwindow-checkhide>>u   <KeyRelease>u   <ButtonRelease>id   u   calltipwindowregion_rightc             B   sP   |  Ee  Z d    Z d   Z d   Z d d  Z d   Z d   Z d   Z	 d S(   c             C   sF   | |  _  d  |  _ |  _ d  |  _ |  _ d  |  _ d  |  _ |  _ d  S(   N(	   u   widgetu   Noneu	   tipwindowu   labelu	   parenlineu   parencolu   lastlineu   hideidu   checkhideid(   u   selfu   widget(    (    u2   /mit/python/lib/python3.0/idlelib/CallTipWindow.pyu   __init__   s
    		c             C   s.  t  |  j j d  j d  d  } | |  j k o d S| |  _ |  j j d  | |  j k o& |  j j d |  j |  j f  } n |  j j d |  } | p0 t	 |  j j d   } d | d <d | d <n | d |  j j
   d } | d | d	 |  j j   } |  j j d
 | | f  d S(   u;   Check if needs to reposition the window, and if so - do it.u   insertu   .i    Nu   %d.%du   %d.0i   i   i   u   +%d+%d(   u   intu   widgetu   indexu   splitu   lastlineu   seeu	   parenlineu   bboxu   parencolu   listu   winfo_rootxu   winfo_rootyu	   tipwindowu   wm_geometry(   u   selfu   curlineu   boxu   xu   y(    (    u2   /mit/python/lib/python3.0/idlelib/CallTipWindow.pyu   position_window   s     %	
c       	      C   s-  t  |  d k ok | j   } xI t |  D]; \ } } t  |  d k o | d d  d | | <q, q, Wd j |  } n | |  _ |  j p |  j o d S|  j j t |  t	 t
 |  j j |  j d   \ |  _ |  _ t |  j  |  _ } |  j   | j d  y# | j j d d	 | j d
 d  Wn t k
 o Yn Xt | d |  j d t d d d t d d d |  j d |  _ |  j j   |  j j t |  j  |  _ x! t D] } |  j j  t |  q·W|  j j! t" |  j  |  j j t# |  j$  |  _% x! t& D] } |  j j  t# |  qWd S(   uM   Show the calltip, bind events which will close it and reposition it.
        iO   NiK   u    ...u   
u   .i   u!   ::tk::unsupported::MacWindowStyleu   styleu   helpu   noActivatesu   textu   justifyu
   backgroundu   #ffffe0u   reliefu   borderwidthu   font('   u   lenu
   splitlinesu	   enumerateu   joinu   textu	   tipwindowu   widgetu   mark_setu
   MARK_RIGHTu   mapu   intu   indexu   splitu	   parenlineu   parencolu   Toplevelu   position_windowu   wm_overrideredirectu   tku   callu   _wu   TclErroru   Labelu   LEFTu   SOLIDu   labelu   packu   bindu   CHECKHIDE_VIRTUAL_EVENT_NAMEu   checkhide_eventu   checkhideidu   CHECKHIDE_SEQUENCESu	   event_addu   afteru   CHECKHIDE_TIMEu   HIDE_VIRTUAL_EVENT_NAMEu
   hide_eventu   hideidu   HIDE_SEQUENCES(	   u   selfu   textu	   parenleftu
   parenrightu	   textlinesu   iu   lineu   twu   seq(    (    u2   /mit/python/lib/python3.0/idlelib/CallTipWindow.pyu   showtip/   sH      	-
  c             C   s΄   |  j  p d  St t |  j j d  j d   \ } } | |  j k  p9 | |  j k o | |  j k p |  j j d d t	  o |  j
   n! |  j   |  j j t |  j  d  S(   Nu   insertu   .u   >(   u	   tipwindowu   mapu   intu   widgetu   indexu   splitu	   parenlineu   parencolu   compareu
   MARK_RIGHTu   hidetipu   position_windowu   afteru   CHECKHIDE_TIMEu   checkhide_event(   u   selfu   eventu   curlineu   curcol(    (    u2   /mit/python/lib/python3.0/idlelib/CallTipWindow.pyu   checkhide_event\   s    
* 
c             C   s   |  j  p d  S|  j   d  S(   N(   u	   tipwindowu   hidetip(   u   selfu   event(    (    u2   /mit/python/lib/python3.0/idlelib/CallTipWindow.pyu
   hide_eventk   s    
c             C   sμ   |  j  p d  Sx! t D] } |  j j t |  q W|  j j t |  j  d  |  _ x! t D] } |  j j t	 |  qY W|  j j t	 |  j
  d  |  _
 |  j j   d  |  _ |  j  j   d  |  _  |  j j t  d  |  _ |  _ |  _ d  S(   N(   u	   tipwindowu   CHECKHIDE_SEQUENCESu   widgetu   event_deleteu   CHECKHIDE_VIRTUAL_EVENT_NAMEu   unbindu   checkhideidu   Noneu   HIDE_SEQUENCESu   HIDE_VIRTUAL_EVENT_NAMEu   hideidu   labelu   destroyu
   mark_unsetu
   MARK_RIGHTu	   parenlineu   parencolu   lastline(   u   selfu   seq(    (    u2   /mit/python/lib/python3.0/idlelib/CallTipWindow.pyu   hidetipq   s$    
 	 			c             C   s   t  |  j  S(   N(   u   boolu	   tipwindow(   u   self(    (    u2   /mit/python/lib/python3.0/idlelib/CallTipWindow.pyu	   is_active   s    N(
   u   __name__u
   __module__u   __init__u   position_windowu   showtipu   Noneu   checkhide_eventu
   hide_eventu   hidetipu	   is_active(   u
   __locals__(    (    u2   /mit/python/lib/python3.0/idlelib/CallTipWindow.pyu   CallTip   s   
			-		u   CallTipc             B   s)   |  Ee  Z d    Z d   Z d   Z d S(   c             C   sΏ   t    } t |  } |  _ | j d t d t d d  | j d d  | j   t |  |  _	 | j
 d d  | j
 d	 d
  | j d |  j  | j d	 |  j  | j   | j   d  S(   Nu   sideu   fillu   expandi   u   insertu   string.splitu   <<calltip-show>>u   (u   <<calltip-hide>>u   )(   u   Tku   Textu   textu   packu   LEFTu   BOTHu   insertu   updateu   CallTipu   calltipu	   event_addu   bindu   calltip_showu   calltip_hideu	   focus_setu   mainloop(   u   selfu   rootu   text(    (    u2   /mit/python/lib/python3.0/idlelib/CallTipWindow.pyu   __init__   s    	

c             C   s   |  j  j d  d  S(   Nu   Hello world(   u   calltipu   showtip(   u   selfu   event(    (    u2   /mit/python/lib/python3.0/idlelib/CallTipWindow.pyu   calltip_show    s    c             C   s   |  j  j   d  S(   N(   u   calltipu   hidetip(   u   selfu   event(    (    u2   /mit/python/lib/python3.0/idlelib/CallTipWindow.pyu   calltip_hide£   s    N(   u   __name__u
   __module__u   __init__u   calltip_showu   calltip_hide(   u
   __locals__(    (    u2   /mit/python/lib/python3.0/idlelib/CallTipWindow.pyu	   container   s   
		u	   containerc              C   s   t    }  d  S(   N(   u	   container(   u   c(    (    u2   /mit/python/lib/python3.0/idlelib/CallTipWindow.pyu   main¦   s    u   __main__N(   u   <Key-Escape>u
   <FocusOut>(   u   <KeyRelease>u   <ButtonRelease>(   u   __doc__u   tkinteru   HIDE_VIRTUAL_EVENT_NAMEu   HIDE_SEQUENCESu   CHECKHIDE_VIRTUAL_EVENT_NAMEu   CHECKHIDE_SEQUENCESu   CHECKHIDE_TIMEu
   MARK_RIGHTu   CallTipu	   containeru   mainu   __name__(    (    (    u2   /mit/python/lib/python3.0/idlelib/CallTipWindow.pyu   <module>   s   
~	