î
\á[\e  ã               @   s‚   d  d l  TGd d „  d ƒ Z Gd d „  d e ƒ Z Gd d „  d e ƒ Z d d	 „  Z e d
 k r~ d  d l m Z e e ƒ n  d S)é    )Ú*c               @   sy   e  Z d  Z d d „  Z d d d „ Z d d d „ Z d d	 „  Z d
 d „  Z d d „  Z d d d „ Z	 d d „  Z
 d S)ÚToolTipBasec             C   s€   | |  _  d  |  _ d  |  _ d |  _ |  _ |  j  j d |  j ƒ |  _ |  j  j d |  j ƒ |  _	 |  j  j d |  j ƒ |  _
 d  S)Nr   z<Enter>z<Leave>z<ButtonPress>)ÚbuttonÚ	tipwindowÚidÚxÚyZbindÚenterZ_id1ÚleaveZ_id2Z_id3)Úselfr   © r   ú%/usr/lib/python3.4/idlelib/ToolTip.pyÚ__init__
   s    			zToolTipBase.__init__Nc             C   s   |  j  ƒ  d  S)N)Úschedule)r   Úeventr   r   r   r	      s    zToolTipBase.enterc             C   s   |  j  ƒ  |  j ƒ  d  S)N)Ú
unscheduleÚhidetip)r   r   r   r   r   r
      s    
zToolTipBase.leavec             C   s)   |  j  ƒ  |  j j d |  j ƒ |  _ d  S)NiÜ  )r   r   ZafterÚshowtipr   )r   r   r   r   r      s    
zToolTipBase.schedulec             C   s/   |  j  } d  |  _  | r+ |  j j | ƒ n  d  S)N)r   r   Zafter_cancel)r   r   r   r   r   r      s    		zToolTipBase.unschedulec             C   sˆ   |  j  r d  S|  j j ƒ  d } |  j j ƒ  |  j j ƒ  d } t |  j ƒ |  _  } | j d ƒ | j d | | f ƒ |  j ƒ  d  S)Né   é   z+%d+%d)	r   r   Zwinfo_rootxZwinfo_rootyZwinfo_heightZToplevelZwm_overrideredirectZwm_geometryÚshowcontents)r   r   r   Útwr   r   r   r   $   s    	 zToolTipBase.showtipzYour text herec             C   s;   t  |  j d | d t d d d t d d ƒ} | j ƒ  d  S)NÚtextZjustifyÚ
backgroundz#ffffe0ZreliefZborderwidthr   )ÚLabelr   ZLEFTZSOLIDÚpack)r   r   Úlabelr   r   r   r   2   s    zToolTipBase.showcontentsc             C   s)   |  j  } d  |  _  | r% | j ƒ  n  d  S)N)r   Zdestroy)r   r   r   r   r   r   8   s    		zToolTipBase.hidetip)Ú__name__Ú
__module__Ú__qualname__r   r	   r
   r   r   r   r   r   r   r   r   r   r      s   	r   c               @   s(   e  Z d  Z d d „  Z d d „  Z d S)ÚToolTipc             C   s   t  j |  | ƒ | |  _ d  S)N)r   r   r   )r   r   r   r   r   r   r   ?   s    zToolTip.__init__c             C   s   t  j |  |  j ƒ d  S)N)r   r   r   )r   r   r   r   r   B   s    zToolTip.showcontentsN)r   r   r   r   r   r   r   r   r   r    >   s   r    c               @   s(   e  Z d  Z d d „  Z d d „  Z d S)ÚListboxToolTipc             C   s   t  j |  | ƒ | |  _ d  S)N)r   r   Úitems)r   r   r"   r   r   r   r   F   s    zListboxToolTip.__init__c             C   sG   t  |  j d d ƒ} | j ƒ  x! |  j D] } | j t | ƒ q) Wd  S)Nr   z#ffffe0)ZListboxr   r   r"   ÚinsertZEND)r   ZlistboxÚitemr   r   r   r   I   s    
zListboxToolTip.showcontentsN)r   r   r   r   r   r   r   r   r   r!   E   s   r!   c       	      C   sì   t  ƒ  } | j d ƒ t t t t j d |  j ƒ  ƒ ƒ ƒ \ } } } } | j d | | d f ƒ t | d d ƒ} | j	 ƒ  t
 | d d ƒ} t
 | d d ƒ} | j	 ƒ  | j	 ƒ  t | d	 ƒ t | d
 d d d g ƒ | j ƒ  d  S)NzTest tooltipz[x+]z+%d+%dé–   r   zPlace your mouse over buttonszButton 1zButton 2z!This is tooltip text for button1.zThis iszmultiple lineztooltip textzfor button2)ZTkÚtitleÚlistÚmapÚintÚreÚsplitZgeometryr   r   ZButtonr    r!   Zmainloop)	ÚparentÚrootÚwidthZheightr   r   r   Zbutton1Zbutton2r   r   r   Ú_tooltipO   s    	3


r/   Ú__main__)ÚrunN)Ztkinterr   r    r!   r/   r   Zidlelib.idle_test.htestr1   r   r   r   r   Ú<module>   s   
6
