
   3z                   f    S r SSKJrJrJrJr   " S S\5      rS r\S:X  a  SSK	J
r
  \
" \5        gg)	zd
OptionMenu widget modified to allow dynamic menu reconfiguration
and setting of highlightthickness
    )
OptionMenu_setit	StringVarButtonc                   (    \ rS rSrSrS rSS jrSrg)DynOptionMenu   zeAdd SetMenu and highlightthickness to OptionMenu.

Highlightthickness adds space around menu button.
c                     UR                  SS 5      n[        R                  " XX#/UQ70 UD6  X`S'   X l        UR	                  S5      U l        g )Nhighlightthicknesscommand)popr   __init__variablegetr   )selfmasterr   valuevalueskwargsr   s          (/usr/lib/python3.13/idlelib/dynoption.pyr   DynOptionMenu.__init__   sL    #ZZ(<dCD(MFMfM%7!" zz),    Nc           	          U S   R                  SS5        U H4  nU S   R                  U[        U R                  X0R                  5      S9  M6     U(       a  U R                  R                  U5        gg)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   SetMenuDynOptionMenu.SetMenu   sj     	VAe$DL$$4"4==llC % E  MMe$ r   )r   r   )N)__name__
__module____qualname____firstlineno____doc__r   r"   __static_attributes__ r   r   r   r      s    -%r   r   c           
        ^ SSK Jn  U" U 5      nUR                  S5        [        [        U R                  5       R                  S5      SS  5      u  p4UR                  SUS-   US-   4-  5        UR                  5         [        U5      nUR                  S	5        [        X%S
SSSSS9mTR                  5         U4S jn[        USUS9nUR                  5         g )Nr   )ToplevelzTest dynamic option menu+   z200x100+%d+%d      zOld option setold1old2old3old4   )r   c                  *   > T R                  / SQSS9  g )N)new1new2new3new4znew option set)r   )r"   )dyns   r   update _dyn_option_menu.<locals>.update0   s    19IJr   zChange option set)textr   )tkinterr,   titlemapintgeometrysplit	focus_setr   r   r   packr   )	parentr,   topxyvarr<   buttonr;   s	           @r   _dyn_option_menurM   !   s     
6
CII()sFOO%++C045DALLAGQW#556MMO
C.CGG
&v+,.CHHJKC16BF
KKMr   __main__)runN)r(   r?   r   r   r   r   r   rM   r$   idlelib.idle_test.htestrO   r*   r   r   <module>rQ      s>    : 9%J %4* z+ r   