ó
tŪļQc           @   s[   d  d l  Td d d     YZ e   Z e j Z e j Z e j Z d e f d     YZ d S(   iĸĸĸĸ(   t   *t
   WindowListc           B   sG   e  Z d    Z d   Z d   Z d   Z d   Z d   Z d   Z RS(   c         C   s   i  |  _  g  |  _ d  S(   N(   t   dictt	   callbacks(   t   self(    (    s(   /sys/lib/python2.7/idlelib/WindowList.pyt   __init__   s    	c         C   s'   | j  |  j  | |  j t |  <d  S(   N(   t
   after_idlet   call_callbacksR   t   str(   R   t   window(    (    s(   /sys/lib/python2.7/idlelib/WindowList.pyt   add	   s    c         C   s6   y |  j  t |  =Wn t k
 r' n X|  j   d  S(   N(   R   R   t   KeyErrorR   (   R   R	   (    (    s(   /sys/lib/python2.7/idlelib/WindowList.pyt   delete   s
    c         C   sĨ   g  } x^ |  j  j   D]M } |  j  | } y | j   } Wn t k
 rO q n X| j | | f  q W| j   x- | D]% \ } } | j d | d | j  qx Wd  S(   Nt   labelt   command(   R   t   keyst	   get_titlet   TclErrort   appendt   sortt   add_commandt   wakeup(   R   t   menut   listt   keyR	   t   title(    (    s(   /sys/lib/python2.7/idlelib/WindowList.pyt   add_windows_to_menu   s    
c         C   s   |  j  j |  d  S(   N(   R   R   (   R   t   callback(    (    s(   /sys/lib/python2.7/idlelib/WindowList.pyt   register_callback"   s    c         C   s,   y |  j  j |  Wn t k
 r' n Xd  S(   N(   R   t   removet
   ValueError(   R   R   (    (    s(   /sys/lib/python2.7/idlelib/WindowList.pyt   unregister_callback%   s    c         C   sD   x= |  j  D]2 } y |   Wq
 d Gt j Gd Gt j GHq
 Xq
 Wd  S(   Ns&   warning: callback failed in WindowListt   :(   R   t   syst   exc_typet	   exc_value(   R   R   (    (    s(   /sys/lib/python2.7/idlelib/WindowList.pyR   +   s    (	   t   __name__t
   __module__R   R
   R   R   R   R   R   (    (    (    s(   /sys/lib/python2.7/idlelib/WindowList.pyR      s   						t   ListedToplevelc           B   s5   e  Z d    Z d   Z d   Z d   Z d   Z RS(   c         K   s-   t  j |  | |  t j |   |  |  _ d  S(   N(   t   ToplevelR   t   registryR
   t   focused_widget(   R   t   mastert   kw(    (    s(   /sys/lib/python2.7/idlelib/WindowList.pyR   <   s    c         C   s4   t  j |   t j |   t  j s0 |  j   n  d  S(   N(   R(   R   R'   t   destroyR   t   quit(   R   (    (    s(   /sys/lib/python2.7/idlelib/WindowList.pyR,   A   s    	c         C   s   t  j   d  S(   N(   R(   R   (   R   R	   (    (    s(   /sys/lib/python2.7/idlelib/WindowList.pyt   update_windowlist_registryI   s    c         C   s
   |  j    S(   N(   t   wm_title(   R   (    (    s(   /sys/lib/python2.7/idlelib/WindowList.pyR   L   s    c         C   s\   yD |  j    d k r, |  j   |  j   n  |  j   |  j j   Wn t k
 rW n Xd  S(   Nt   iconic(   t   wm_statet   wm_withdrawt   wm_deiconifyt   tkraiseR)   t	   focus_setR   (   R   (    (    s(   /sys/lib/python2.7/idlelib/WindowList.pyR   P   s    

(   R$   R%   R   R,   R.   R   R   (    (    (    s(   /sys/lib/python2.7/idlelib/WindowList.pyR&   :   s
   				N(    (   t   TkinterR   R(   R   R   R   R'   R&   (    (    (    s(   /sys/lib/python2.7/idlelib/WindowList.pyt   <module>   s   
0				