��Qc@s}dZddlTdZdZdZdZd Zd
Zddd��YZd
dd��YZ d�Z
edkrye
�ndS(s�A CallTip window class for Tkinter/IDLE.
After ToolTip.py, which uses ideas gleaned from PySol
Used by the CallTips IDLE extension.
i�(t*s<<calltipwindow-hide>>s<Key-Escape>s
<FocusOut>s<<calltipwindow-checkhide>>s<KeyRelease>s<ButtonRelease>idtcalltipwindowregion_righttCallTipcBsJeZd�Zd�Zd�Zdd�Zd�Zd�Zd�Z RS(cCsO||_d|_|_d|_|_d|_d|_|_d|_ dS(N(
twidgettNonet tipwindowtlabelt parenlinetparencoltlastlinethideidtcheckhideidtcheckhide_after_id(tselfR((s+/sys/lib/python2.7/idlelib/CallTipWindow.pyt__init__s cCs(t|jjd�jd�d�}||jkr8dS||_|jjd�||jkr�|jjd|j|jf�}n|jjd|�}|s�t |jjd��}d|d<d|d<n|d|jj
�d}|d|d |jj�}|jj
d
||f�dS(s;Check if needs to reposition the window, and if so - do it.tinsertt.iNs%d.%ds%d.0iiis+%d+%d(tintRtindextsplitR tseeRtbboxRtlisttwinfo_rootxtwinfo_rootyRtwm_geometry(R
tcurlinetboxtxty((s+/sys/lib/python2.7/idlelib/CallTipWindow.pytposition_windows %
c Cst|�dkrt|j�}xAt|�D]3\}}t|�dkr+|d d||<q+q+Wdj|�}n||_|js�|jr�dS|jjt|�t t
|jj|�jd��\|_
|_t|j�|_}|j�|jd�y#|jjdd |jd
d�Wntk
r:nXt|d|jd
tdddtddd|jd�|_|jj�|jjt|j�|_x!tD]}|jj t|�q�W|jj!t"|j�|jjt#|j$�|_%x!t&D]}|jj t#|�q�S(sMShow the calltip, bind events which will close it and reposition it.
iOiKs ...s
NRis!::tk::unsupported::MacWindowStyletstylethelptnoActivatesttexttjustifyt
backgrounds#ffffe0trelieftborderwidthtfont('tlent
splitlinest enumeratetjoinR"RRtmark_sett
MARK_RIGHTtmapRRRRRtToplevelRtwm_overrideredirectttktcallt_wtTclErrortLabeltLEFTtSOLIDRtpacktbindtCHECKHIDE_VIRTUAL_EVENT_NAMEtcheckhide_eventRtCHECKHIDE_SEQUENCESt event_addtaftertCHECKHIDE_TIMEtHIDE_VIRTUAL_EVENT_NAMEt
hide_eventR
tHIDE_SEQUENCES( R
R"t parenleftt
parenrightt textlinestitlinettwtseq((s+/sys/lib/python2.7/idlelib/CallTipWindow.pytshowtip0sB -
cCs�|js
dStt|jjd�jd��\}}||jks|||jkrd||jks||jjddt �r�|j
�nJ|j�|jdk r�|jj|j�n|jjt|j�|_dS(NRRt>(RR.RRRRRRtcompareR-thidetipRRRtafter_cancelR>R?R;(R
teventRtcurcol((s+/sys/lib/python2.7/idlelib/CallTipWindow.pyR;]s *
cCs|js
dS|j�dS(N(RRM(R
RO((s+/sys/lib/python2.7/idlelib/CallTipWindow.pyRAos cCs�|js
dSx!tD]}|jjt|�qW|jjt|j�d|_x!tD]}|jjt |�qWW|jjt |j
�d|_
|jj�d|_|jj�d|_|jj
t�d|_|_|_dS(N(RR<Rtevent_deleteR:tunbindRRRBR@R
Rtdestroyt
mark_unsetR-RRR (R
RI((s+/sys/lib/python2.7/idlelib/CallTipWindow.pyRMus
cCs
t|j�S(N(tboolR(R
((s+/sys/lib/python2.7/idlelib/CallTipWindow.pyt is_active�sN(
t__name__t
__module__RRRJRR;RARMRV(((s+/sys/lib/python2.7/idlelib/CallTipWindow.pyRs - t containercBs#eZd�Zd�Zd�ZRS(cCs�t�}t|�}|_|jdtdtdd�|jdd�|j�t|�|_ |j
dd�|j
d d
�|jd|j�|jd |j
�|j�|j�dS(NtsidetfilltexpandiRsstring.splits<<calltip-show>>t(s<<calltip-hide>>t)(tTktTextR"R8R6tBOTHRtupdateRtcalltipR=R9tcalltip_showtcalltip_hidet focus_settmainloop(R
trootR"((s+/sys/lib/python2.7/idlelib/CallTipWindow.pyR�s
cCs|jjd�dS(NsHello world(RcRJ(R
RO((s+/sys/lib/python2.7/idlelib/CallTipWindow.pyRd�scCs|jj�dS(N(RcRM(R
RO((s+/sys/lib/python2.7/idlelib/CallTipWindow.pyRe�s(RWRXRRdRe(((s+/sys/lib/python2.7/idlelib/CallTipWindow.pyRY�s cCs
t�}dS(N(RY(tc((s+/sys/lib/python2.7/idlelib/CallTipWindow.pytmain�st__main__N(s<Key-Escape>s
<FocusOut>(s<KeyRelease>s<ButtonRelease>(((t__doc__tTkinterR@RBR:R<R?R-RRYRjRW(((s+/sys/lib/python2.7/idlelib/CallTipWindow.pyt<module>s
�
|