
    ;eq                         d dl T d dlmZmZ d dlmZ  G d d          Zd Zedk    r&d dl	m
Z
  e
d	d
           d dlmZ  ee           dS dS )    )*)Frame	Scrollbar)macosxc                   p    e Zd ZdZd Zd Zd Zd Zd Zd Z	d Z
d	Zd
 Zd Zd Zd Zd Zd Zd Zd Zd	S )ScrolledListz(None)c                 `   || _         t          |          x| _        }| j                            dd           t	          |d          x| _        }| j                            dd           t          |d	d
          x| _        }|r|                    |           |                    dd           |j	        |d<   |j
        |d<   |                    d| j                   |                    d| j                   t          j                    r7|                    d| j                   |                    d| j                   n|                    d| j                   |                    d| j                   |                    d| j                   |                                  d S )Nboth   )fillexpandvbar)namerighty)sider   r   white)exportselection
background)r   r   commandyscrollcommandz<ButtonRelease-1>z<Double-ButtonRelease-1>z<ButtonPress-2>z<Control-Button-1>z<ButtonPress-3>z<Key-Up>z
<Key-Down>)masterr   framepackr   r   Listboxlistbox	configureyviewsetbindclick_eventdouble_click_eventr   isAquaTkpopup_eventup_event
down_eventclear)selfr   optionsr   r   r   s         +/usr/lib/python3.11/idlelib/scrolledlist.py__init__zScrolledList.__init__   s   "6]]*
U
VA...$U8888	D	G#...!("  "  "  	 w 	'g&&&AF+++!-Y$(H !($*:;;;/1HIII? 	>LL*D,<===LL-t/?@@@@LL*D,<===Z///\4?333

    c                 8    | j                                          d S N)r   destroyr(   s    r*   closezScrolledList.close'   s    
r,   c                     | j                             dd           d| _        | j                             d| j                   d S )Nr   endr   )r   deleteemptyinsertdefaultr0   s    r*   r'   zScrolledList.clear*   sA    Au%%%
E4<00000r,   c                     | j         r"| j                            dd           d| _         | j                            dt	          |                     d S Nr   r3   )r5   r   r4   r6   str)r(   items     r*   appendzScrolledList.append/   sO    : 	L5)))DJE3t99-----r,   c                 6    | j                             |          S r.   )r   getr(   indexs     r*   r>   zScrolledList.get5   s    |&&&r,   c                     | j                             d|j        |j        fz             | j                             d          }|                     |           |                     |           dS Nz@%d,%dactivebreak)r   activatexr   r@   select	on_selectr(   eventr@   s      r*   r!   zScrolledList.click_event8   sd    h%'57);;<<<""8,,Euwr,   c                     | j                             d          }|                     |           |                     |           dS )NrC   rD   )r   r@   rG   	on_doublerI   s      r*   r"   zScrolledList.double_click_event?   s@    ""8,,Euwr,   Nc                 :   | j         s|                                  | j         }| j                            d|j        |j        fz             | j                            d          }|                     |           |                    |j	        |j
                   dS rB   )menu	make_menur   rE   rF   r   r@   rG   tk_popupx_rooty_root)r(   rJ   rN   r@   s       r*   r$   zScrolledList.popup_eventG   s    y 	NNyh%'57);;<<<""8,,EelEL111wr,   c                 h    t          | j        d          }|| _        |                                  d S )Nr   )tearoff)Menur   rN   	fill_menu)r(   rN   s     r*   rO   zScrolledList.make_menuQ   s3    DL!,,,	r,   c                 F   | j                             d          }| j                             |          r|dz
  }n| j                                         dz
  }|dk     r| j                                          n*|                     |           |                     |           dS NrC   r   r   rD   r   r@   selection_includessizebellrG   rH   rI   s      r*   r%   zScrolledList.up_eventV   s    ""8,,<**511 	,AIEEL%%''!+E199LKKNN5!!!wr,   c                 @   | j                             d          }| j                             |          r|dz   }nd}|| j                                         k    r| j                                          n*|                     |           |                     |           dS rX   rY   rI   s      r*   r&   zScrolledList.down_eventc   s    ""8,,<**511 	AIEEEDL%%''''LKKNN5!!!wr,   c                 
   | j                                          | j                             |           | j                             dd           | j                             |           | j                             |           d S r9   )r   	focus_setrE   selection_clearselection_setseer?   s     r*   rG   zScrolledList.selectp   sv       e$$$$$Q...""5)))r,   c                     d S r.    r0   s    r*   rV   zScrolledList.fill_menuy       r,   c                     d S r.   rd   r?   s     r*   rH   zScrolledList.on_select|   re   r,   c                     d S r.   rd   r?   s     r*   rL   zScrolledList.on_double   re   r,   )__name__
__module____qualname__r7   r+   r1   r'   r<   r>   r!   r"   rN   r$   rO   r%   r&   rG   rV   rH   rL   rd   r,   r*   r   r      s       G  8  1 1 1
. . .' ' '     D    
                 r,   r   c                 ~   t          |           }t          t          |                                                     d          dd                    \  }}|                    d|dz   |dz   fz              G d dt
                    } ||          }t          d          D ]}|                    d	|z             d S )
N+r   z+%d+%d      c                        e Zd Zd Zd Zd ZdS )&_scrolled_list.<locals>.MyScrolledListc                 <    | j                             d           d S )Nzright click)label)rN   add_commandr0   s    r*   rV   z0_scrolled_list.<locals>.MyScrolledList.fill_menu   s     TY222GGGGGr,   c                 L    t          d|                     |                     d S )NrG   printr>   r?   s     r*   rH   z0_scrolled_list.<locals>.MyScrolledList.on_select   !    E(DHHUOO$D$D$D$D$Dr,   c                 L    t          d|                     |                     d S )Ndoubleru   r?   s     r*   rL   z0_scrolled_list.<locals>.MyScrolledList.on_double   rw   r,   N)rh   ri   rj   rV   rH   rL   rd   r,   r*   MyScrolledListrp      s+        GGGDDDDDDDDr,   rz      z	Item %02d)Toplevelmapintgeometrysplitr   ranger<   )parenttoprF   r   rz   scrolled_listis          r*   _scrolled_listr      s    
6

CsFOO%%++C00455DAqLLQsUAG,,---E E E E E E E E
 #N3''M2YY . .[1_----. .r,   __main__)mainz#idlelib.idle_test.test_scrolledlist   )	verbosity)runN)tkintertkinter.ttkr   r   idlelibr   r   r   rh   unittestr   idlelib.idle_test.htestr   rd   r,   r*   <module>r      s        ( ( ( ( ( ( ( (      y y y y y y y yx. . . zD	.!====++++++C r,   