JFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3RbrJFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr Yf@sdZddlZddlmZmZmZmZGdddeZddZe dkr|dd l m Z e edS) zd OptionMenu widget modified to allow dynamic menu reconfiguration and setting of highlightthickness N) OptionMenu_setit StringVarButtonc@s1eZdZdZddZdddZdS) DynOptionMenuzF unlike OptionMenu, our kwargs can include highlightthickness cOstj|}dt|jkr.|d=tj|||||||jd|jd||_|jd|_dS)NZhighlightthicknesscommand) copylistkeysr__init__configgetvariabler)selfZmasterrvaluevalueskwargsZ kwargsCopyr@/opt/alt/python35/lib64/python3.5/idlelib/dynOptionMenuWidget.pyr s zDynOptionMenu.__init__Nc Csk|djddx:|D]2}|djd|dt|j||jqW|rg|jj|dS)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 ZmenurendZlabelrN)ZdeleteZ add_commandrrrset)rZ valueListritemrrrSetMenus  zDynOptionMenu.SetMenu)__name__ __module__ __qualname____doc__r rrrrrrs  rcsddlm}|}|jd|jd|jd|jdf|jt|}|jdt ||dd d d j fd d }t |ddd|}|j dS)Nr)ToplevelzTets dynamic option menuz 200x100+%d+%dzOld option setZold1Zold2Zold3Zold4cs#jddddgdddS)NZnew1Znew2Znew3Znew4rznew option set)rr)dynrrupdate2sz _dyn_option_menu..updatetextzChange option setr) tkinterrtitleZgeometryZ winfo_rootxZ winfo_rootyZ focus_setrrrZpackr)parentrtopvarr!Zbuttonr)r r_dyn_option_menu$s      r(__main__)run) rrr#rrrrrr(rZidlelib.idle_test.htestr*rrrrs "