
    ;e                     t    	 d dl mZmZmZmZ  G d de          Zd Zedk    rd dlm	Z	  e	e           dS dS )    )
OptionMenu_setit	StringVarButtonc                       e Zd Z	 d ZddZdS )DynOptionMenuc                     |                     dd           }t          j        | |||g|R i | || d<   || _        |                    d          | _        d S )Nhighlightthicknesscommand)popr   __init__variablegetr   )selfmasterr   valuevalueskwargsr
   s          (/usr/lib/python3.11/idlelib/dynoption.pyr   zDynOptionMenu.__init__   sg    #ZZ(<dCCD&(EMFMMMfMMM%7!" zz),,    Nc           	          	 | d                              dd           |D ]8}| d                             |t          | j        || j                             9|r| j                            |           d S d S )Nmenur   end)labelr   )deleteadd_commandr   r   r   set)r   	valueListr   items       r   SetMenuzDynOptionMenu.SetMenu   s    	
 	VAe$$$ 	E 	EDL$$4"4=dlCC % E E E E 	%Me$$$$$	% 	%r   )N)__name__
__module____qualname__r   r     r   r   r   r      s<        - - -% % % % % %r   r   c           	      8   ddl m}  ||           }|                    d           t          t          |                                                     d          dd                    \  }}|                    d|dz   |dz   fz             |                                 t          |          }|	                    d	           t          ||d
dddd                                           fd}t          |d|          }|                                 d S )Nr   )ToplevelzTest dynamic option menu+   z200x100+%d+%d      zOld option setold1old2old3old4   )r
   c                  :                          g dd           d S )N)new1new2new3new4znew option set)r   )r    )dyns   r   updatez _dyn_option_menu.<locals>.update/   s'    1119IJJJJJr   zChange option set)textr   )tkinterr&   titlemapintgeometrysplit	focus_setr   r   r   packr   )	parentr&   topxyvarr6   buttonr5   s	           @r   _dyn_option_menurF       s.         
(6

CII()))sFOO%%++C00455DAqLLAGQW#55666MMOOO
C..CGG
S&v+,. . .CHHJJJK K K K KC16BBBF
KKMMMMMr   __main__)runN)
r8   r   r   r   r   r   rF   r!   idlelib.idle_test.htestrH   r$   r   r   <module>rJ      s    : 9 9 9 9 9 9 9 9 9 9 9% % % % %J % % %2  ( z++++++C r   