ó
|Nc           @   sL   d  Z  d d l m Z d d l m Z d d l Z d e f d     YZ d S(   sd   
OptionMenu widget modified to allow dynamic menu reconfiguration
and setting of highlightthickness
iĸĸĸĸ(   t
   OptionMenu(   t   _setitNt   DynOptionMenuc           B   s#   e  Z d  Z d   Z d d  Z RS(   sF   
    unlike OptionMenu, our kwargs can include highlightthickness
    c         O   s   t  j  |  } d | j   k r+ | d =n  t j |  | | | | |  |  j d | j d   | |  _ | j d  |  _ d  S(   Nt   highlightthicknesst   command(   t   copyt   keysR    t   __init__t   configt   gett   variableR   (   t   selft   masterR
   t   valuet   valuest   kwargst
   kwargsCopy(    (    s0   C:\RCS\Python\lib\idlelib\dynOptionMenuWidget.pyR      s    
	c      	   C   sn   |  d j  d d  x: | D]2 } |  d j d | d t |  j | |  j   q W| rj |  j j |  n  d S(   sē   
        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
        t   menui    t   endt   labelR   N(   t   deletet   add_commandR   R
   R   t   set(   R   t	   valueListR   t   item(    (    s0   C:\RCS\Python\lib\idlelib\dynOptionMenuWidget.pyt   SetMenu   s    N(   t   __name__t
   __module__t   __doc__R   t   NoneR   (    (    (    s0   C:\RCS\Python\lib\idlelib\dynOptionMenuWidget.pyR   	   s   	(   R   t   TkinterR    R   R   R   (    (    (    s0   C:\RCS\Python\lib\idlelib\dynOptionMenuWidget.pyt   <module>   s   