й¼]e ã@sddlTGdd„dƒZGdd„deƒZGdd„deƒZdd „Zed kr{dd lmZeeƒd 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ÚyÚbindÚenterZ_id1ÚleaveZ_id2Z_id3)Úselfr©r ú,/opt/alt/python35/lib64/python3.5/ToolTip.pyÚ__init__ s   zToolTipBase.__init__NcCs|jƒdS)N)Úschedule)r Úeventr r rr szToolTipBase.entercCs|jƒ|jƒdS)N)Ú unscheduleÚhidetip)r rr r rr s zToolTipBase.leavecCs)|jƒ|jjd|jƒ|_dS)NiÜ)rrÚafterÚshowtipr)r r r rrs zToolTipBase.schedulecCs,|j}d|_|r(|jj|ƒdS)N)rrZ after_cancel)r rr r rrs  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 rr$s   zToolTipBase.showtipzYour text herec Cs;t|jd|dtdddtddƒ}|jƒdS)NÚtextZjustifyÚ backgroundz#ffffe0ZreliefZ borderwidthr)ÚLabelrZLEFTZSOLIDÚpack)r rÚlabelr r rr2szToolTipBase.showcontentscCs&|j}d|_|r"|jƒdS)N)rZdestroy)r rr r rr8s  zToolTipBase.hidetip) Ú__name__Ú __module__Ú __qualname__rr r rrrrrr r r rrs     rc@s(eZdZdd„Zdd„ZdS)ÚToolTipcCstj||ƒ||_dS)N)rrr)r rrr r rr?szToolTip.__init__cCstj||jƒdS)N)rrr)r r r rrBszToolTip.showcontentsN)rr r!rrr r r rr">s  r"c@s(eZdZdd„Zdd„ZdS)ÚListboxToolTipcCstj||ƒ||_dS)N)rrÚitems)r rr$r r rrFszListboxToolTip.__init__cCsGt|jddƒ}|jƒx!|jD]}|jt|ƒq)WdS)Nrz#ffffe0)ZListboxrrr$ÚinsertZEND)r ZlistboxÚitemr r rrIs zListboxToolTip.showcontentsN)rr r!rrr r r rr#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      r1Ú__main__)ÚrunN)Útkinterrr"r#r1rZidlelib.idle_test.htestr3r r r rÚs 6