File: D:/Python311/Lib/idlelib/__pycache__/dynoption.cpython-311.pyc
�
��Vc � �~ � d Z ddlZddlmZmZmZmZ G d� de� � Zd� Ze dk rddl
mZ ee� � dS dS ) zd
OptionMenu widget modified to allow dynamic menu reconfiguration
and setting of highlightthickness
� N)�
OptionMenu�_setit� StringVar�Buttonc � � e Zd ZdZd� Zdd�ZdS )�
DynOptionMenuzF
unlike OptionMenu, our kwargs can include highlightthickness
c �> � t j |� � }dt |� � � � � v r|d= t j | |||g|�R i |�� | � |� d� � �� � || _ |� d� � | _ d S )N�highlightthickness)r
�command) �copy�list�keysr �__init__�config�get�variabler )�self�masterr �value�values�kwargs�
kwargsCopys �%D:\Python311\Lib\idlelib\dynoption.pyr zDynOptionMenu.__init__
s� � ��9�V�$�$�
��4����
�
�#6�#6�6� .��+�,���D�&�(�E�M�F�M�M�M�f�M�M�M����z�~�~�6J�'K�'K��L�L�L���
��Z�Z� �*�*����� Nc �� � | d � dd� � |D ]8}| d � |t | j || j � � �� � �9|r| j � |� � dS dS )z�
clear and reload the menu with a new set of options.
valueList - list of new options
value - initial value to set the optionmenu's menubutton to
�menur �end)�labelr N)�delete�add_commandr r r �set)r � valueListr �items r �SetMenuzDynOptionMenu.SetMenu s� � �
�V����A�e�$�$�$�� E� E�D���L�$�$�4�"�4�=��d�l�C�C�
%�
E�
E�
E�
E�� %��M���e�$�$�$�$�$� %� %r )N)�__name__�
__module__�__qualname__�__doc__r r$ � r r r r sA � � � � � �� � +� +� +�%� %� %� %� %� %r r c �4 �� ddl m} || � � }|� d� � t t | � � � � d� � dd � � � \ }}|� d|dz |dz fz � � |� � � t |� � }|� d � � t ||d
ddd
� � ��� � � �fd�}t |d|�� � }|� � � d S )Nr )�ToplevelzTets dynamic option menu�+� z
200x100+%d+%d� � zOld option set�old1�old2�old3�old4c �: �� � � g d�d�� � d S )N)�new1�new2�new3�new4znew option set)r )r$ )�dyns �r �updatez _dyn_option_menu.<locals>.update3 s'