î e f’ã@sždZddlmZmZmZmZmZdZdZdZ dZ d Z d Z Gd d „d ƒZ d d„ZedkršddlmZeeƒndS)z…A CallTip window class for Tkinter/IDLE. After ToolTip.py, which uses ideas gleaned from PySol Used by the CallTips IDLE extension. é)ÚToplevelÚLabelÚLEFTÚSOLIDÚTclErrorz<ú z<úédZcalltipwindowregion_rightc@sgeZdZdd„Zdd„Zdd„Zddd „Zd d „Zd d „Zdd„Z dS)ÚCallTipcCsO||_d|_|_d|_|_d|_d|_|_d|_dS)N) ÚwidgetÚ tipwindowÚlabelÚ parenlineÚparencolÚlastlineÚhideidÚ checkhideidÚcheckhide_after_id)Úselfr ©rú:/opt/alt/python34/lib64/python3.4/idlelib/CallTipWindow.pyÚ__init__s   zCallTip.__init__cCs(t|jjdƒjdƒdƒ}||jkr8dS||_|jjdƒ||jkr…|jjd|j|jfƒ}n|jjd|ƒ}|sÐt |jjdƒƒ}d|dW|jjt|jƒ|jjt |j!ƒ|_"x!t#D]}|jjt |ƒq“WdS)zMShow the calltip, bind events which will close it and reposition it. Nrrz!::tk::unsupported::MacWindowStyleZstyleÚhelpZ noActivatesÚtextZjustifyZ backgroundz#ffffe0ZreliefZ borderwidthZfont)$r*rr Zmark_setÚ MARK_RIGHTÚmaprr r!rrrr(Zwm_overrideredirectZtkÚcallZ_wrrrrrÚpackZliftÚbindÚCHECKHIDE_VIRTUAL_EVENT_NAMEÚcheckhide_eventrÚCHECKHIDE_SEQUENCESÚ event_addÚafterÚCHECKHIDE_TIMEÚHIDE_VIRTUAL_EVENT_NAMEÚ hide_eventrÚHIDE_SEQUENCES)rr*Z parenleftZ parenrightZtwÚseqrrrÚshowtip/s8 -         zCallTip.showtipNcCs×|js dStt|jjdƒjdƒƒ\}}||jks|||jkrd||jks||jjddt ƒr‰|j ƒnJ|j ƒ|j dk r¸|jj |j ƒn|jjt|jƒ|_ dS)Nrrú>)rr,rr r r!rrZcomparer+Úhidetipr(rZ after_cancelr4r5r1)rÚeventr%Zcurcolrrrr1Ws *  zCallTip.checkhide_eventcCs|js dS|jƒdS)N)rr<)rr=rrrr7is zCallTip.hide_eventcCsê|js dSx!tD]}|jjt|ƒqW|jjt|jƒd|_x!tD]}|jjt|ƒqWW|jjt|j ƒd|_ |j j ƒd|_ |jj ƒd|_|jj t ƒd|_|_|_dS)N)rr2r Z event_deleter0Zunbindrr8r6rrZdestroyZ mark_unsetr+rrr)rr9rrrr<os          zCallTip.hidetipcCs t|jƒS)N)Úboolr)rrrrÚ is_active„szCallTip.is_active) Ú__name__Ú __module__Ú __qualname__rr(r:r1r7r<r?rrrrr s    (  r c s&ddlm}m}m}m}||ƒ}|jdƒ|jd|jƒd|jƒdfƒ||ƒ}|j d|d|d d ƒ|j d d ƒ|j ƒt |ƒ‰‡fd d†}‡fdd†}|j ddƒ|j ddƒ|jd|ƒ|jd|ƒ|jƒdS)Nr)rÚTextrÚBOTHz Test calltipsz 200x100+%d+%déÈé–ZsideZfillÚexpandrrz string.splitcsˆjdddƒdS)Nz(s=Hello world)rÚend)r:)r=)ÚcalltiprrÚ calltip_show•sz%_calltip_window..calltip_showcsˆjƒdS)N)r<)r=)rIrrÚ calltip_hide—sz%_calltip_window..calltip_hidez<>ú(z<>ú))ÚtkinterrrCrrDÚtitleZgeometryr#r$r.rÚupdater r3r/Z focus_set) ÚparentrrCrrDÚtopr*rJrKr)rIrÚ_calltip_windowˆs""     rSÚ__main__)ÚrunN)rr)r r )Ú__doc__rNrrrrrr6r8r0r2r5r+r rSr@Zidlelib.idle_test.htestrUrrrrÚs(x