î
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)NZhighlightthicknessÚcommand) ÚcopyÚlistÚkeysr Ú__init__ÚconfigÚgetÚvariabler )ÚselfZmasterr ÚvalueÚvaluesÚkwargsZ
kwargsCopy© r ú@/opt/alt/python34/lib64/python3.4/idlelib/dynOptionMenuWidget.pyr s
zDynOptionMenu.__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
Zmenur ÚendZlabelr N)ZdeleteZadd_commandr r r Úset)r Z valueListr Úitemr r r ÚSetMenu s
zDynOptionMenu.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 )ÚToplevelzTets dynamic option menuz
200x100+%d+%déÈ é– zOld option setZold1Zold2Zold3Zold4c s# ˆ j d d d d g d d ƒd S)NZnew1Znew2Znew3Znew4r znew option set)r r )Údynr r Úupdate2 s z _dyn_option_menu.