ó
§xxTc           @   s’   d  Z  d d l m Z m Z m Z m Z m Z d d l Z d d l Z d e f d „  ƒ  YZ	 d „  Z
 e d k rŽ d d l m Z e e
 ƒ n  d S(	   sd   
OptionMenu widget modified to allow dynamic menu reconfiguration
and setting of highlightthickness
iÿÿÿÿ(   t
   OptionMenut   _setitt   Tkt	   StringVart   ButtonNt   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(    (    sG   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/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(    (    sG   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/idlelib/dynOptionMenuWidget.pyt   SetMenu   s    N(   t   __name__t
   __module__t   __doc__R
   t   NoneR   (    (    (    sG   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/idlelib/dynOptionMenuWidget.pyR   
   s   	c   	         sá   t  ƒ  } | j d ƒ t | ƒ } t t t t j d |  j ƒ  ƒ ƒ ƒ \ } } } } | j d | | d f ƒ | j	 d ƒ t
 | | d d d d	 ƒ ‰  ˆ  j ƒ  ‡  f d
 †  } t | d d d | ƒ} | j ƒ  | j ƒ  d  S(   Ns   Tets dynamic option menus   [x+]s   +%d+%di–   s   Old option sett   old1t   old2t   old3t   old4c              s#   ˆ  j  d d d d g d d ƒd  S(   Nt   new1t   new2t   new3t   new4R   s   new option set(   R   (    (   t   dyn(    sG   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/idlelib/dynOptionMenuWidget.pyt   update0   s    t   texts   Change option setR   (   R   t   titleR   t   listt   mapt   intt   ret   splitt   geometryR   R   t   packR   t   mainloop(	   t   parentt   roott   vart   widtht   heightt   xt   yR*   t   button(    (   R)   sG   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/idlelib/dynOptionMenuWidget.pyt   _dyn_option_menu&   s    	3

t   __main__(   t   run(   R   t   TkinterR    R   R   R   R   R   R0   R   R=   R   t   idlelib.idle_test.htestR?   (    (    (    sG   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/idlelib/dynOptionMenuWidget.pyt   <module>   s   (	