
   E\                       S SK JrJr  S SKr " S S5      r\" 5       r\R                  r\R                  r\R                  r " S S\5      r	\
S:X  a  S SKJr  \" S	S
S9  gg)    )ToplevelTclErrorNc                   >    \ rS rSrS rS rS rS rS rS r	S r
S	rg
)
WindowList   c                      0 U l         / U l        g N)dict	callbacksselfs    %/usr/lib/python3.13/idlelib/window.py__init__WindowList.__init__   s    	    c                 h    UR                  U R                  5        XR                  [        U5      '   g r	   )
after_idlecall_callbacksr
   strr   windows     r   addWindowList.add   s&    $--.!'		#f+r   c                 r     U R                   [        U5      	 U R                  5         g ! [         a     Nf = fr	   )r
   r   KeyErrorr   r   s     r   deleteWindowList.delete   s9    			#f+& 	  		s   ) 
66c                     / nU R                    H6  nU R                   U   n UR                  5       nUR                  XSU45        M8     UR	                  5         U H  u  pSnUR                  XTR                  S9  M!     g ! [         a     M}  f = f)N)labelcommand)r
   	get_titler   appendsortadd_commandwakeup)r   menulistkeyr   titles         r   add_windows_to_menuWindowList.add_windows_to_menu   s    99CYYs^F((* KKV,-  			"&E5--@ #'	  s   A??
BBc                 :    U R                   R                  U5        g r	   )r   r"   r   callbacks     r   register_callbackWindowList.register_callback$   s    h'r   c                 \     U R                   R                  U5        g ! [         a     g f = fr	   )r   remove
ValueErrorr-   s     r   unregister_callbackWindowList.unregister_callback'   s+    	NN!!(+ 		s    
++c                     U R                    H  n U" 5         M     g !   [        R                  " 5       u  p#n[        SUSU5         M;  = f)Nz&warning: callback failed in WindowList:)r   sysexc_infoprint)r   r.   tvtbs        r   r   WindowList.call_callbacks-   sA    HK
 'K<<>b>3Js	   (A)r   r
   N)__name__
__module____qualname____firstlineno__r   r   r   r*   r/   r4   r   __static_attributes__ r   r   r   r      s'    (A(Kr   r   c                   2    \ rS rSrS rS rS rS rS rSr	g)	ListedToplevel=   c                 h    [         R                  " XU5        [        R                  U 5        X l        g r	   )r   r   registryr   focused_widget)r   masterkws      r   r   ListedToplevel.__init__?   s$    $+T"r   c                     [         R                  U 5        [        R                  " U 5        [         R                  (       d  U R                  5         g g r	   )rI   r   r   destroyr
   quitr   s    r   rO   ListedToplevel.destroyD   s3     }}IIK r   c                 ,    [         R                  5         g r	   )rI   r   r   s     r   update_windowlist_registry)ListedToplevel.update_windowlist_registryL   s    !r   c                 "    U R                  5       $ r	   )wm_titler   s    r   r!   ListedToplevel.get_titleO   s    }}r   c                      U R                  5       S:X  a   U R                  5         U R                  5         U R                  5         U R                  R                  5         g ! [         a     g f = f)Niconic)wm_statewm_withdrawwm_deiconifytkraiserJ   	focus_setr   r   s    r   r%   ListedToplevel.wakeupS   s\    		}}(*  "!!#LLN))+ 	 	s   AA! !
A.-A.)rJ   N)
r?   r@   rA   rB   r   rO   rS   r!   r%   rC   rD   r   r   rF   rF   =   s    #
"
r   rF   __main__)mainzidlelib.idle_test.test_window   )	verbosity)tkinterr   r   r8   r   rI   r*   r/   r4   rF   r?   unittestra   rD   r   r   <module>rf      so    & 
.K .Kb <22 .. 22  X  F z	(A6 r   