î f fe ã@s‚ddlTGdd„dƒZGdd„deƒZGdd„deƒZdd „Zed kr~dd lmZeeƒnd S) é)Ú*c@syeZdZdd„Zddd„Zddd„Zdd „Zd d „Zd d „Zddd„Z dd„Z dS)Ú ToolTipBasecCs€||_d|_d|_d|_|_|jjd|jƒ|_|jjd|jƒ|_ |jjd|jƒ|_ dS)Nrzzz ) ÚbuttonÚ tipwindowÚidÚxÚyZbindÚenterZ_id1ÚleaveZ_id2Z_id3)Úselfr©r ú4/opt/alt/python34/lib64/python3.4/idlelib/ToolTip.pyÚ__init__ s   zToolTipBase.__init__NcCs|jƒdS)N)Úschedule)r Úeventr r r r szToolTipBase.entercCs|jƒ|jƒdS)N)Ú unscheduleÚhidetip)r rr r r r s zToolTipBase.leavecCs)|jƒ|jjd|jƒ|_dS)NiÜ)rrÚafterÚshowtipr)r r r r rs zToolTipBase.schedulecCs/|j}d|_|r+|jj|ƒndS)N)rrZ after_cancel)r rr r r rs  zToolTipBase.unschedulecCsˆ|jr dS|jjƒd}|jjƒ|jjƒd}t|jƒ|_}|jdƒ|jd||fƒ|jƒdS)Nééz+%d+%d) rrZ winfo_rootxZ winfo_rootyZ winfo_heightZToplevelZwm_overrideredirectZ wm_geometryÚ showcontents)r rrÚtwr r r r$s   zToolTipBase.showtipzYour text herec Cs;t|jd|dtdddtddƒ}|jƒdS)NÚtextZjustifyÚ backgroundz#ffffe0ZreliefZ borderwidthr)ÚLabelrZLEFTZSOLIDÚpack)r rÚlabelr r r r2szToolTipBase.showcontentscCs)|j}d|_|r%|jƒndS)N)rZdestroy)r rr r r r8s  zToolTipBase.hidetip) Ú__name__Ú __module__Ú __qualname__rr r rrrrrr r r r rs     rc@s(eZdZdd„Zdd„ZdS)ÚToolTipcCstj||ƒ||_dS)N)rrr)r rrr r r r?szToolTip.__init__cCstj||jƒdS)N)rrr)r r r r rBszToolTip.showcontentsN)rrr rrr r r r r!>s  r!c@s(eZdZdd„Zdd„ZdS)ÚListboxToolTipcCstj||ƒ||_dS)N)rrÚitems)r rr#r r r rFszListboxToolTip.__init__cCsGt|jddƒ}|jƒx!|jD]}|jt|ƒq)WdS)Nrz#ffffe0)ZListboxrrr#ÚinsertZEND)r ZlistboxÚitemr r r rIs zListboxToolTip.showcontentsN)rrr rrr r r r r"Es  r"c Csìtƒ}|jdƒttttjd|jƒƒƒƒ\}}}}|jd||dfƒt|ddƒ}|j ƒt |ddƒ}t |ddƒ}|j ƒ|j ƒt |d ƒt |d d d d gƒ|j ƒdS)Nz Test tooltipz[x+]z+%d+%dé–rzPlace your mouse over buttonszButton 1zButton 2z!This is tooltip text for button1.zThis isz multiple linez tooltip textz for button2)ZTkÚtitleÚlistÚmapÚintÚreÚsplitZgeometryrrZButtonr!r"Zmainloop) ÚparentÚrootÚwidthZheightrrrZbutton1Zbutton2r r r Ú_tooltipOs  3      r0Ú__main__)ÚrunN)Ztkinterrr!r"r0rZidlelib.idle_test.htestr2r r r r Ús 6