mς
­fIc           @   sX   d  k  Td f  d     YZ e   Z e i Z e i Z e i Z d e f d     YZ d S(   (   t   *t
   WindowListc           B   sG   t  Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z RS(   Nc         C   s   h  |  _ g  |  _ d  S(   N(   t   selft   dictt	   callbacks(   R   (    (    t/   /mit/python/lib/python2.4/idlelib/WindowList.pyt   __init__   s    	c         C   s'   | i |  i  | |  i t |  <d  S(   N(   t   windowt
   after_idleR   t   call_callbacksR   t   str(   R   R   (    (    R   t   add	   s    c         C   s8   y |  i t |  =Wn t j
 o n X|  i   d  S(   N(   R   R   R
   R   t   KeyErrorR	   (   R   R   (    (    R   t   delete   s
    c         C   s§   g  } x` |  i i   D]O } |  i | } y | i   } Wn t j
 o
 q n X| i	 | | f  q W| i
   x- | D]% \ } } | i d | d | i  qz Wd  S(   Nt   labelt   command(   t   listR   R   t   keyst   keyR   t	   get_titlet   titlet   TclErrort   appendt   sortt   menut   add_commandt   wakeup(   R   R   R   R   R   R   (    (    R   t   add_windows_to_menu   s     
 c         C   s   |  i i |  d  S(   N(   R   R   R   t   callback(   R   R   (    (    R   t   register_callback"   s    c         C   s.   y |  i i |  Wn t j
 o n Xd  S(   N(   R   R   t   removeR   t
   ValueError(   R   R   (    (    R   t   unregister_callback%   s    c         C   sD   x= |  i D]2 } y |   Wq
 d Gt i Gd Gt i GHq
 Xq
 Wd  S(   Ns&   warning: callback failed in WindowListt   :(   R   R   R   t   syst   exc_typet	   exc_value(   R   R   (    (    R   R	   +   s    
 (	   t   __name__t
   __module__R   R   R   R   R   R    R	   (    (    (    R   R      s   						t   ListedToplevelc           B   s5   t  Z d   Z d   Z d   Z d   Z d   Z RS(   Nc         K   s-   t  i |  | |  t i |   |  |  _ d  S(   N(   t   ToplevelR   R   t   mastert   kwt   registryR   t   focused_widget(   R   R)   R*   (    (    R   R   <   s    c         C   s6   t  i |   t i |   t  i p |  i   n d  S(   N(   R+   R   R   R(   t   destroyR   t   quit(   R   (    (    R   R-   A   s    
c         C   s   t  i   d  S(   N(   R+   R	   (   R   R   (    (    R   t   update_windowlist_registryI   s    c         C   s
   |  i   S(   N(   R   t   wm_title(   R   (    (    R   R   L   s    c         C   s`   yF |  i   d j o |  i   |  i   n |  i   |  i i   Wn t j
 o n Xd  S(   Nt   iconic(   R   t   wm_statet   wm_withdrawt   wm_deiconifyt   tkraiseR,   t	   focus_setR   (   R   (    (    R   R   P   s    

(   R%   R&   R   R-   R/   R   R   (    (    (    R   R'   :   s
   				N(   t   TkinterR   R+   R   R   R    R(   R'   (   R   R   R'   R+   R   R    (    (    R   t   ?   s   0				