3
f @ s\ d Z ddlZddlmZmZmZmZ G dd deZdd Ze dkrXdd l
mZ ee dS )
zd
OptionMenu widget modified to allow dynamic menu reconfiguration
and setting of highlightthickness
N)
OptionMenu_setit StringVarButtonc @ s" e Zd ZdZdd ZdddZdS )
DynOptionMenuzF
unlike OptionMenu, our kwargs can include highlightthickness
c O s` t j |}dt|j kr |d= tj| |||f|| | j|jdd || _|jd| _d S )Nhighlightthickness)r command) copylistkeysr __init__configgetvariabler )selfZmasterr valuevalueskwargsZ
kwargsCopy r 6/opt/alt/python36/lib64/python3.6/idlelib/dynoption.pyr
s
zDynOptionMenu.__init__Nc C sP | d j dd x*|D ]"}| d j|t| j|| jd qW |rL| jj| 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
Zmenur end)Zlabelr N)deleteZadd_commandr r r set)r Z valueListr itemr r r SetMenu s
zDynOptionMenu.SetMenu)N)__name__
__module____qualname____doc__r r r r r r r s r c s ddl m} || }|jd tt| j jddd \}}|jd|d |d f |j t|}|j d t
||d
ddd
j fdd}t|d|d}|j d S )Nr )ToplevelzTets dynamic option menu+ z
200x100+%d+%d zOld option setZold1Zold2Zold3Zold4c s j ddddgdd d S )NZnew1Znew2Znew3Znew4znew option set)r )r r )dynr r update3 s z _dyn_option_menu.