<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>
3
 f
                 @   sb   d dl T G dd dZe ZejZejZejZG dd deZedkr^d dl	m
Z
 e
dd	d
 dS )    )*c               @   sD   e Zd Zdd Zdd Zdd Zdd Zd	d
 Zdd Zdd Z	dS )
WindowListc             C   s   i | _ g | _d S )N)dict	callbacks)self r   3/opt/alt/python36/lib64/python3.6/idlelib/window.py__init__   s    zWindowList.__init__c             C   s   |j | j || jt|< d S )N)Z
after_idlecall_callbacksr   str)r   windowr   r   r   add
   s    zWindowList.addc             C   s2   y| j t|= W n tk
r$   Y nX | j  d S )N)r   r   KeyErrorr
   )r   r   r   r   r   delete   s
    zWindowList.deletec             C   s   g }xL| j D ]B}| j | }y|j }W n tk
r<   wY nX |j|||f qW |j  x"|D ]\}}}|j||jd q`W d S )N)ZlabelZcommand)r   	get_titleTclErrorappendsortZadd_commandwakeup)r   Zmenulistkeyr   titler   r   r   add_windows_to_menu   s    
zWindowList.add_windows_to_menuc             C   s   | j j| d S )N)r   r   )r   callbackr   r   r   register_callback#   s    zWindowList.register_callbackc             C   s*   y| j j| W n tk
r$   Y nX d S )N)r   remove
ValueError)r   r   r   r   r   unregister_callback&   s    zWindowList.unregister_callbackc             C   sH   xB| j D ]8}y
|  W q   tj \}}}td|d| Y qX qW d S )Nz&warning: callback failed in WindowList:)r   sysexc_infoprint)r   r   tvtbr   r   r   r
   ,   s    
zWindowList.call_callbacksN)
__name__
__module____qualname__r	   r   r   r   r   r   r
   r   r   r   r   r      s   r   c               @   s4   e Zd Zdd Zdd Zdd Zdd Zd	d
 ZdS )ListedToplevelc             K   s"   t j| || tj|  | | _d S )N)Toplevelr	   registryr   focused_widget)r   Zmasterkwr   r   r   r	   >   s    
zListedToplevel.__init__c             C   s&   t j|  tj|  t js"| j  d S )N)r*   r   r)   destroyr   quit)r   r   r   r   r-   C   s    

zListedToplevel.destroyc             C   s   t j  d S )N)r*   r
   )r   r   r   r   r   update_windowlist_registryK   s    z)ListedToplevel.update_windowlist_registryc             C   s   | j  S )N)Zwm_title)r   r   r   r   r   N   s    zListedToplevel.get_titlec             C   sL   y2| j  dkr| j  | j  | j  | jj  W n tk
rF   Y nX d S )NZiconic)Zwm_stateZwm_withdrawZwm_deiconifyZtkraiser+   Z	focus_setr   )r   r   r   r   r   R   s    zListedToplevel.wakeupN)r%   r&   r'   r	   r-   r/   r   r   r   r   r   r   r(   <   s
   r(   __main__)mainzidlelib.idle_test.test_window   )	verbosityN)Ztkinterr   r*   r   r   r   r)   r(   r%   Zunittestr1   r   r   r   r   <module>   s   1#