
    .hh	                         S SK 7   " S S5      r " S S\5      r " S S\5      rS r\S	:X  a  S S
KJr  \" SSSS9  S SKJ	r	  \	" \5        gg)    )*c                   >    \ rS rSrS rS rS rS rS rS r	S r
S	rg
)TooltipBase
   c                     Xl         S U l        g Nanchor_widget	tipwindow)selfr
   s     8/opt/python-3.13.8/usr/lib/python3.13/idlelib/tooltip.py__init__TooltipBase.__init__   s     +    c                 $    U R                  5         g r   hidetipr   s    r   __del__TooltipBase.__del__   s    r   c                    U R                   (       a  g [        U R                  5      =U l         nUR                  S5         UR                  R                  SSUR                  SS5        U R                  5         U R                  5         U R                   R                  5         U R                   R                  5         g ! [         a     Naf = f)N   z!::tk::unsupported::MacWindowStylestylehelpnoActivates)r   Toplevelr
   wm_overrideredirecttkcall_wTclErrorposition_windowshowcontentsupdate_idletasksliftr   tws     r   showtipTooltipBase.showtip   s    >>&t'9'9::
q!	 EEJJ:GRUU}.
 	'')  		s   )B? ?
CCc                     U R                  5       u  pU R                  R                  5       U-   nU R                  R                  5       U-   nU R                  R                  SX44-  5        g )N+%d+%d)get_positionr
   winfo_rootxwinfo_rootyr   wm_geometry)r   xyroot_xroot_ys        r   r"   TooltipBase.position_window/   s^      "##//1A5##//1A5""8v.>#>?r   c                 @    SU R                   R                  5       S-   4$ )N   r   )r
   winfo_heightr   s    r   r,   TooltipBase.get_position6   s#     4%%224q888r   c                     [         er   )NotImplementedErrorr   s    r   r#   TooltipBase.showcontentsA   s
     "!r   c                 |    U R                   nS U l         U(       a   UR                  5         g g ! [         a     g f = fr   )r   destroyr!   r&   s     r   r   TooltipBase.hidetipF   s>     ^^

   s   . 
;;r	   N)__name__
__module____qualname____firstlineno__r   r   r(   r"   r,   r#   r   __static_attributes__ r   r   r   r   
   s&    *@	9"
	r   r   c                   d   ^  \ rS rSrS
U 4S jjrU 4S jrSS jrSS jrS rS r	U 4S jr
S	rU =r$ )OnHoverTooltipBaseR   c                 @  > [         TU ]  U5        X l        S U l        U R                  R                  SU R                  5      U l        U R                  R                  SU R                  5      U l	        U R                  R                  SU R                  5      U l
        g Nz<Enter>z<Leave>z<Button>)superr   hover_delay	_after_idr
   bind_show_event_id1_hide_event_id2_id3)r   r
   rK   	__class__s      r   r   OnHoverTooltipBase.__init__U   s     	'&&&++It7G7GH	&&++It7G7GH	&&++J8H8HI	r   c                 (  >  U R                   R                  SU R                  5        U R                   R                  SU R                  5        U R                   R                  SU R                  5        [        TU ]  5         g ! [
         a     Nf = frI   )r
   unbindrO   rQ   rR   r!   rJ   r   r   rS   s    r   r   OnHoverTooltipBase.__del__g   sv    	%%i;%%i;%%j$))< 	  		s   A2B 
BBc                 h    U R                   (       a  U R                  5         g U R                  5         g r   )rK   scheduler(   r   events     r   rN   OnHoverTooltipBase._show_eventp   s    MMOLLNr   c                 $    U R                  5         g r   r   r[   s     r   rP   OnHoverTooltipBase._hide_eventw   s    r   c                     U R                  5         U R                  R                  U R                  U R                  5      U l        g r   )
unscheduler
   afterrK   r(   rL   r   s    r   rZ   OnHoverTooltipBase.schedule{   s4    ++11$2B2B26,,@r   c                 p    U R                   nS U l         U(       a  U R                  R                  U5        g g r   )rL   r
   after_cancel)r   after_ids     r   ra   OnHoverTooltipBase.unschedule   s.    >>++H5 r   c                 d   >  U R                  5         [        TU ]  5         g ! [         a     Nf = fr   )ra   r!   rJ   r   rW   s    r   r   OnHoverTooltipBase.hidetip   s2    	OO 	  		s   " 
//)rL   rO   rQ   rR   rK   )  r   )r?   r@   rA   rB   r   r   rN   rP   rZ   ra   r   rC   __classcell__rS   s   @r   rF   rF   R   s-    J$@6 r   rF   c                   6   ^  \ rS rSr  SU 4S jjrS rSrU =r$ )Hovertip   c                 D   > [         TU ]  XS9  X l        X@l        XPl        g )NrK   )rJ   r   text
foreground
background)r   r
   rr   rK   rs   rt   rS   s         r   r   Hovertip.__init__   s$     	@	$$r   c           
          [        U R                  U R                  [        [        SU R
                  U R                  S9nUR                  5         g )Nr   )rr   justifyreliefborderwidthrs   rt   )Labelr   rr   LEFTSOLIDrs   rt   pack)r   labels     r   r#   Hovertip.showcontents   s8    dnn499d#!"&//dooO 	

r   )rt   rs   rr   )rj   z#000000z#ffffe0)r?   r@   rA   rB   r   r#   rC   rk   rl   s   @r   rn   rn      s    8<2;%  r   rn   c                    [        U 5      nUR                  S5        [        [        U R	                  5       R                  S5      SS  5      u  p#UR	                  SX#S-   4-  5        [        USS9nUR                  5         [        USS9nUR                  5         [        US	S
S9  [        USS9nUR                  5         [        USS S9  g )NzTest tooltip+r   r+      zPlace your mouse over buttons)rr   z"Button 1 -- 1/2 second hover delayz!This is tooltip text for button1.i  rq   zButton 2 -- no hover delayz!This is tooltip
text for button2.)
r   titlemapintgeometrysplitrz   r}   Buttonrn   )parenttopr0   r1   r~   button1button2s          r   _tooltipr      s    
6
CIInsFOO%++C045DALLQCL()#;<E	JJLSCDGLLNW9sKS;<GLLNW:Mr   __main__)mainzidlelib.idle_test.test_tooltip   F)	verbosityexit)runN)
tkinterr   rF   rn   r   r?   unittestr   idlelib.idle_test.htestr   rD   r   r   <module>r      s`    E EP< <~! 2N z	)QUC+M r   