B £¥K§fX!ã@srddlmZmZddlZGdd„dƒZeƒZejZejZejZGdd„deƒZ e dkrnddl m Z e d d d dS) é)ÚToplevelÚTclErrorNc@sDeZdZdd„Zdd„Zdd„Zdd„Zd d „Zd d „Zd d„Z dS)Ú WindowListcCsi|_g|_dS)N)ÚdictÚ callbacks)Úself©rú3/opt/alt/python37/lib64/python3.7/idlelib/window.pyÚ__init__szWindowList.__init__cCs| |j¡||jt|ƒ<dS)N)Z after_idleÚcall_callbacksrÚstr)rÚwindowrrr Úadd s zWindowList.addcCs2y|jt|ƒ=Wntk r$YnX| ¡dS)N)rr ÚKeyErrorr )rr rrr Údeletes zWindowList.deletec Cs‚g}xL|jD]B}|j|}y | ¡}Wntk r<w YnX| |||f¡q W| ¡x"|D]\}}}|j||jdq`WdS)N)ZlabelZcommand)rÚ get_titlerÚappendÚsortZ add_commandÚwakeup)rZmenuÚlistÚkeyr Útitlerrr Úadd_windows_to_menus   zWindowList.add_windows_to_menucCs|j |¡dS)N)rr)rÚcallbackrrr Úregister_callback$szWindowList.register_callbackcCs*y|j |¡Wntk r$YnXdS)N)rÚremoveÚ ValueError)rrrrr Úunregister_callback'szWindowList.unregister_callbackc CsHxB|jD]8}y |ƒWqt ¡\}}}td|d|ƒYqXqWdS)Nz&warning: callback failed in WindowListú:)rÚsysÚexc_infoÚprint)rrÚtÚvÚtbrrr r -s   zWindowList.call_callbacksN) Ú__name__Ú __module__Ú __qualname__r rrrrrr rrrr rs rc@s4eZdZdd„Zdd„Zdd„Zdd„Zd d „Zd S) ÚListedToplevelcKs"t |||¡t |¡||_dS)N)rr ÚregistryrÚfocused_widget)rZmasterÚkwrrr r ?s zListedToplevel.__init__cCs&t |¡t |¡tjs"| ¡dS)N)r)rrÚdestroyrÚquit)rrrr r,Ds  zListedToplevel.destroycCs t ¡dS)N)r)r )rr rrr Úupdate_windowlist_registryLsz)ListedToplevel.update_windowlist_registrycCs| ¡S)N)Zwm_title)rrrr rOszListedToplevel.get_titlecCsLy2| ¡dkr| ¡| ¡| ¡|j ¡Wntk rFYnXdS)NZiconic)Zwm_stateZ wm_withdrawZ wm_deiconifyZtkraiser*Z focus_setr)rrrr rSs zListedToplevel.wakeupN)r%r&r'r r,r.rrrrrr r(=s r(Ú__main__)Úmainzidlelib.idle_test.test_windowé)Ú verbosity) Ztkinterrrrrr)rrrr(r%Zunittestr0rrrr Ús1#