mς
­fIc           @   sC   d  Z  d k l Z d k l Z d k Z d e f d     YZ d S(   sd   
OptionMenu widget modified to allow dynamic menu reconfiguration
and setting of highlightthickness
(   s
   OptionMenu(   s   _setitNt   DynOptionMenuc           B   s#   t  Z d  Z d   Z e d  Z RS(   sF   
    unlike OptionMenu, our kwargs can include highlightthickness
    c         O   s   t  i  |  } d | i   j o | d =n t i |  | | | | |  |  i d | i d   | |  _ | i d  |  _ d  S(   Nt   highlightthicknesst   command(   t   copyt   kwargst
   kwargsCopyt   keyst
   OptionMenut   __init__t   selft   mastert   variablet   valuet   valuest   configt   getR   (   R	   R
   R   R   R   R   R   (    (    t8   /mit/python/lib/python2.4/idlelib/dynOptionMenuWidget.pyR      s    	c      	   C   sp   |  d i d d  x: | D]2 } |  d i d | d t |  i | |  i   q W| o |  i i	 |  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(
   R	   t   deletet	   valueListt   itemt   add_commandt   _setitR   R   R   t   set(   R	   R   R   R   (    (    R   t   SetMenu   s       (   t   __name__t
   __module__t   __doc__R   t   NoneR   (    (    (    R   R    	   s    	(   R   t   TkinterR   R   R   R    (   R   R   R   R    (    (    R   t   ?   s   	