Ë
    #´˜jÉ  ã                   ód   — d Z 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«       yy)	zd
OptionMenu widget modified to allow dynamic menu reconfiguration
and setting of highlightthickness
é    )Ú
OptionMenuÚ_setitÚ	StringVarÚButtonc                   ó   — e Zd ZdZd„ Zdd„Zy)ÚDynOptionMenuzmAdd SetMenu and highlightthickness to OptionMenu.

    Highlightthickness adds space around menu button.
    c                 ó¤   — |j                  dd «      }t        j                  | |||g|¢­i |¤Ž || d<   || _        |j	                  d«      | _        y )NÚhighlightthicknessÚcommand)Úpopr   Ú__init__ÚvariableÚgetr   )ÚselfÚmasterr   ÚvalueÚvaluesÚkwargsr
   s          ú#lib/python3.12/idlelib/dynoption.pyr   zDynOptionMenu.__init__   sT   € Ø#ŸZ™ZÐ(<¸dÓCÐÜ×Ñ˜D &¨(°EÐM¸FÒMÀfÒMØ%7ˆÐ!Ñ"Ø ˆŒØ—z‘z )Ó,ˆ�ó    Nc           	      óâ   — | d   j                  dd«       |D ]7  }| d   j                  |t        | j                  || j                  «      ¬«       Œ9 |r| j                  j                  |«       yy)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   ÚSetMenuzDynOptionMenu.SetMenu   sl   € ð 	ˆV‰×Ñ˜A˜eÔ$ÛˆDØ�‰L×$Ñ$¨4Ü" 4§=¡=°°d·l±lÓCð %õ Eð ñ Ø�M‰M×Ñ˜eÕ$ð r   )N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r    © r   r   r   r      s   „ ñò-ô%r   r   c           	      óÄ  ‡— ddl m}  || «      }|j                  d«       t        t        | j                  «       j                  d«      dd  «      \  }}|j                  d|dz   |dz   fz  «       |j                  «        t        |«      }|j                  d	«       t        ||d
dddd¬«      Š‰j                  «        ˆfd„}t        |d|¬«      }|j                  «        y )Nr   )ÚToplevelzTest dynamic option menuÚ+é   z200x100+%d+%déú   é¯   zOld option setÚold1Úold2Úold3Úold4é   )r
   c                  ó0   •— ‰ j                  g d¢d¬«       y )N)Únew1Únew2Únew3Únew4znew option set)r   )r    )Údyns   €r   Úupdatez _dyn_option_menu.<locals>.update0   s   ø€ Ø�‰Ò1Ð9IˆÕJr   zChange option set)Útextr   )Útkinterr'   ÚtitleÚmapÚintÚgeometryÚsplitÚ	focus_setr   r   r   Úpackr   )	Úparentr'   ÚtopÚxÚyÚvarr7   Úbuttonr6   s	           @r   Ú_dyn_option_menurG   !   sÃ   ø€ Ý á
�6Ó
€CØ‡I�IÐ(Ô)ÜŒs�F—O‘OÓ%×+Ñ+¨CÓ0°°Ð4Ó5�D€A€qØ‡L�L� A¨¡G¨Q°©WÐ#5Ñ5Ô6Ø‡M�M„Oä
�C‹.€CØ‡G�GÐÔÜ
˜˜S &¨°°vØ+,ô.€Cà‡H�H„JôKä�CÐ1¸6ÔB€FØ
‡K�K…Mr   Ú__main__)ÚrunN)r$   r9   r   r   r   r   r   rG   r!   Úidlelib.idle_test.htestrI   r%   r   r   Ú<module>rK      s>   ðñ÷ :Ó 9ô%�Jô %ò4ð* ˆzÒå+ÙÐÕð r   