File: //usr/lib/python3.5/idlelib/__pycache__/dynOptionMenuWidget.cpython-35.pyc
FüƒaÆ ã @ 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 ƒ 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 r. | d =t j | | | | | | Ž | j d | j d ƒ ƒ | | _ | j d ƒ | _ d S)NZhighlightthicknessÚcommand) ÚcopyÚlistÚkeysr Ú__init__ZconfigÚgetÚvariabler )ÚselfZmasterr
ÚvalueÚvaluesÚkwargsZ
kwargsCopy© r ú1/usr/lib/python3.5/idlelib/dynOptionMenuWidget.pyr s zDynOptionMenu.__init__Nc C sk | d j d d ƒ x: | D]2 } | d j d | d t | j | | j ƒ ƒ q W| rg | j j | ƒ 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.<locals>.updateÚtextzChange option setr )Útkinterr ÚtitleZgeometryZwinfo_rootxZwinfo_rootyZ focus_setr r r Zpackr )Úparentr ÚtopZvarr Zbuttonr )r r Ú_dyn_option_menu$ s
r&