<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>
î
e fÆ  ã               @   sƒ   d  Z  d d l Z d d l m Z m Z m Z m Z Gd d „  d e ƒ Z d d „  Z e	 d k r d d	 l
 m Z e e ƒ n  d S)
zd
OptionMenu widget modified to allow dynamic menu reconfiguration
and setting of highlightthickness
é    N)Ú
OptionMenuÚ_setitÚ	StringVarÚButtonc               @   s1   e  Z d  Z d Z d d „  Z d d d „ Z d S)ÚDynOptionMenuzF
    unlike OptionMenu, our kwargs can include highlightthickness
    c             O   s…   t  j  | ƒ } d t | j ƒ  ƒ k r1 | d =n  t j |  | | | | | Ž |  j d | j d ƒ ƒ | |  _ | j d ƒ |  _ d  S)NZhighlightthicknessÚcommand)	ÚcopyÚlistÚkeysr   Ú__init__ÚconfigÚgetÚvariabler   )ÚselfZmasterr   ÚvalueÚvaluesÚkwargsZ
kwargsCopy© r   ú@/opt/alt/python34/lib64/python3.4/idlelib/dynOptionMenuWidget.pyr      s    
	zDynOptionMenu.__init__Nc          	   C   sn   |  d j  d d ƒ x: | D]2 } |  d j d | d t |  j | |  j ƒ ƒ q W| rj |  j j | ƒ n  d S)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
        Zmenur   ÚendZlabelr   N)ZdeleteZadd_commandr   r   r   Úset)r   Z	valueListr   Úitemr   r   r   ÚSetMenu   s    zDynOptionMenu.SetMenu)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r   r   r   r      s   r   c                sÑ   d d l  m } | ƒ  } | j d ƒ | j d |  j ƒ  d |  j ƒ  d f ƒ | j ƒ  t | ƒ } | j d ƒ t	 | | d d	 d
 d ƒ ‰  ˆ  j
 ƒ  ‡  f d d †  } t | d d d | ƒ} | j
 ƒ  d  S)Nr   )ÚToplevelzTets dynamic option menuz200x100+%d+%déÈ   é–   zOld option setZold1Zold2Zold3Zold4c                  s#   ˆ  j  d d d d g d d ƒd  S)NZnew1Znew2Znew3Znew4r   znew option set)r   r   )Údynr   r   Úupdate2   s    z _dyn_option_menu.<locals>.updateÚtextzChange option setr   )Útkinterr   ÚtitleZgeometryZwinfo_rootxZwinfo_rootyZ	focus_setr   r   r   Zpackr   )Úparentr   ÚtopÚvarr!   Zbuttonr   )r    r   Ú_dyn_option_menu$   s    	

r(   Ú__main__)Úrun)r   r   r#   r   r   r   r   r   r(   r   Zidlelib.idle_test.htestr*   r   r   r   r   Ú<module>   s   "