
"Ic           @   s  d  Z  d d k Td d k Z d d k Z d d k Z d d k Z d d k l Z d d k l	 Z	 d d k
 l Z d d k l Z d d k l Z d d	 k l Z d
 e f d     YZ e d j o? e   Z e e d d d d   i   h  e _ e i   n d S(   s  IDLE Configuration Dialog: support user customization of IDLE by GUI

Customize font faces, sizes, and colorization attributes.  Set indentation
defaults.  Customize keybindings.  Colorization and keybindings can be
saved as user defined sets.  Select startup options including shell/editor
and default window size.  Define additional help sources.

Note that tab width in IDLE is currently fixed at eight due to Tk issues.
Refer to comments in EditorWindow autoindent code for details.

i(   t   *N(   t   idleConf(   t   DynOptionMenu(   t   TabbedPageSet(   t   GetKeysDialog(   t   GetCfgSectionNameDialog(   t   GetHelpSourceDialogt   ConfigDialogc           B   s  e  Z d    Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 d	   Z d
   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z  d   Z! d    Z" d!   Z# d"   Z$ d#   Z% d$   Z& d%   Z' d&   Z( d'   Z) d(   Z* d)   Z+ d*   Z, d+   Z- d,   Z. dI d-  Z0 d.   Z1 d/   Z2 d0   Z3 d1   Z4 d2   Z5 d3   Z6 d4   Z7 d5   Z8 d6   Z9 d7   Z: d8   Z; d9   Z< d:   Z= d;   Z> d<   Z? d=   Z@ d>   ZA d?   ZB d@   ZC dA   ZD dB   ZE dC   ZF dD   ZG dE   ZH dF   ZI dG   ZJ dH   ZK RS(J   c         C   sO  t  i |  |  |  i   |  i d d  |  i d | i   d | i   d f  h d0 d 6d1 d 6d2 d 6d3 d 6d4 d 6d5 d 6d6 d 6d7 d 6d8 d  6d9 d# 6d: d& 6d; d) 6d< d, 6|  _ |  i   |  i	   |  i
 d- t d. t  |  i |  |  i   |  i d/ |  i  | |  _ |  i i   |  i   |  i   |  i   |  i   d  S(=   Nt   borderwidthi   s   +%d+%di   i   t   normalt   00s   Normal Textt   keywordt   01s   Python Keywordst
   definitiont   02s   Python Definitionst   builtint   03s   Python Builtinst   commentt   04s   Python Commentst   stringt   05s   Python Stringst   hilitet   06s   Selected Textt   hitt   07s
   Found Textt   cursort   08t   Cursort   errort   09s
   Error Textt   consolet   10s   Shell Normal Textt   stdoutt   11s   Shell Stdout Textt   stderrt   12s   Shell Stderr Textt   heightt   widtht   WM_DELETE_WINDOW(   R	   R
   (   R   R   (   R   R   (   R   R   (   R   R   (   s   stringR   (   R   R   (   R   R   (   s   cursorR   (   s   errorR   (   R   R   (   s   stdoutR!   (   s   stderrR#   (   t   Toplevelt   __init__t   wm_withdrawt	   configuret   geometryt   winfo_rootxt   winfo_rootyt   themeElementst   ResetChangedItemst   CreateWidgetst	   resizablet   FALSEt	   transientt   grab_sett   protocolt   Cancelt   parentt   tabPagest	   focus_sett   LoadConfigst   AttachVarCallbackst   wm_deiconifyt   wait_window(   t   selfR7   t   title(    (    s1   /mit/python/lib/python2.6/idlelib/configDialog.pyR(      s<    




	


c         C   s  t  |  d d d d d g |  _ t |  d d } t | d d	 d
 |  i d t d d d d |  _ t | d d d
 |  i d t d d d d |  _ t | d d d
 |  i	 d t d d d d |  _
 t | d d d
 |  i d t d d d d |  _ |  i   |  i   |  i   |  i   |  i i d t d d  |  i i d t d d  |  i
 i d t d d  |  i i d t d d  | i d t  t |  d d d d i d t  |  i i d t d t d t  d  S(   Nt
   page_namess
   Fonts/Tabst   Highlightingt   Keyst   Generalt   padyi   t   textt   Helpt   commandt	   takefocust   padxi   i   t   Okt   ApplyR6   t   sidei   R$   R   i    t   expandt   fill(   R   R8   t   Framet   ButtonRF   R2   t
   buttonHelpRJ   t   buttonOkRK   t   buttonApplyR6   t   buttonCancelt   CreatePageFontTabt   CreatePageHighlightt   CreatePageKeyst   CreatePageGeneralt   packt   RIGHTt   LEFTt   BOTTOMt   TOPt   TRUEt   BOTH(   R>   t   frameActionButtons(    (    s1   /mit/python/lib/python2.6/idlelib/configDialog.pyR0   C   s4    	



"c         C   s  t  |   |  _ t |   |  _ t  |   |  _ t |   |  _ t i |  d+  |  _	 |  i
 i d i } t | d d d t d d	 } t | d d d t d d
 } t |  } t |  } t | d t d d } t | d d d t d t |  _ |  i i d |  i  t |  } | i d |  i i  |  i i d | i  t | d d } t | |  i d  d |  i |  _ t | d |  i d d d d d d d |  i }	 t | d t  d d }
 t |
 d d d t d |  i	 |  _! t |  } t | d t d d } t" | d |  i d d d  d d! d d" d# |  _# | i$ d$ t d% d d& d d' t% d( t&  | i$ d$ t d% d d& d d( t'  | i$ d$ t( d% d d& d d( t)  | i$ d$ t( d% d d& d d( t)  | i$ d$ t( d) t*  |  i i$ d$ t d' t% d( t)  | i$ d$ t d( t'  | i$ d$ t d) t*  |  i i$ d$ t d) t*  |	 i$ d$ t d) t* d% d*  |
 i$ d$ t( d% d d& d d' t% d( t&  |  i! i$ d' t% d( t&  | i$ d$ t( d( t)  | i$ d$ t( d) t* d% d  |  i# i$ d$ t( d% d d( t)  | S(,   Nt   courieri
   R	   s
   Fonts/TabsR   i   t   reliefRE   s    Base Editor Font s    Indentation Width t   justifys   Font Face :R$   i   RH   t   exportselections   <ButtonRelease-1>RG   t   yscrollcommands   Size :t   variablet   onvaluei   t   offvaluei    t   Bolds,   AaBbCcDdEe
FfGgHhIiJjK
1234567890
#:+=(){}[]t   fonts   Python Standard: 4 Spaces!t   orientt
   horizontalt   tickintervalt   from_t   toi   RL   RI   RD   RM   RN   t   anchori   (   Ra   i
   s   normal(+   t	   StringVart   fontSizet
   BooleanVart   fontBoldt   fontNamet   IntVart   spaceNumt   tkFontt   Fontt   editFontR8   t   pagest   framet
   LabelFramet   GROOVERO   t   LabelR[   t   ListboxR2   t   listFontNamet   bindt   OnListFontButtonReleaset	   Scrollbart   configt   yviewt   setR   t   Nonet   SetFontSamplet   optMenuFontSizet   Checkbuttont   SOLIDt   labelFontSamplet   Scalet   scaleSpaceNumRY   R^   R_   t   YR]   t   Xt   W(   R>   R|   t	   frameFontt   frameIndentt   frameFontNamet   frameFontParamt   labelFontNameTitlet
   scrollFontt   labelFontSizeTitlet   checkFontBoldt   frameFontSamplet   frameIndentSizet   labelSpaceNumTitle(    (    s1   /mit/python/lib/python2.6/idlelib/configDialog.pyRU   `   sf    					("""(c          C   s  t  |   |  _ t  |   |  _ t |   |  _ t  |   |  _ t  |   |  _ t |   |  _ t  |   |  _ |  i	 i
 d i } t | d d d t d d } t | d d d t d d } t | d t d d d	 dW d d d d d d d t d d d t 	|  _ |  i } | i d d    | i d d    dX dY dZ d[ d\ d] d^ d_ d` da db dc dd de df dg dh di dj dk dl dm dn do dp dq dr ds dt du dv f } x) | D]! } | i t | d | d  qWx; |  i i   D]* } | i |  i | d d? | d@   qW| i dA t  t | d t d d |  _ t |  } t |  i d dB dC |  i d d }	 t |  i |  i d  d d |  _! t" | dD |  i dE d d dF dC |  i# |  _$ t" | dD |  i dE d d dG dC |  i# |  _% |  i i& d  t | d dH dC |  i' }
 t( | d dI } t" | dD |  i dE d dC |  i) d dJ |  _* t" | dD |  i dE d dC |  i) d dK |  _+ t | |  i d  dC d  |  _, t | |  i d  dC d  |  _- t | d dL dC |  i. |  _/ | i0 dM t1 dN dO dP dO dQ t2 dR t3  | i0 dM t1 dN dO dP dO dR t4  |  i i0 dM t5 dN dO dP dO dQ t2 dR t6  | i0 dM t5 dN dO dP d  |  i i0 dM t5 dN dO dP dO dQ t2 dR t3  |	 i0 dM t5 dQ t2 dR t6 dN dS dP dT  |  i! i0 dM t5 dQ t2 dR t6 dN dS dP dU  |  i$ i0 dM t1 dV t7  |  i% i0 dM t8 dV t9  |
 i0 dM t: dR t6 dN dO dP dO  | i0 dM t5 dV t9 dN dO dP dO  |  i* i0 dM t5 dV t9 dN dO  |  i+ i0 dM t5 dV t9 dN dO dP d  |  i, i0 dM t5 dR t6 dN dO dP dO  |  i- i0 dM t5 dR t6 dV t9 dN dO dP dO  |  i/ i0 dM t5 dR t6 dN dO dP dO  | S(w   NRA   R   i   Rb   RE   s    Custom Highlighting s    Highlighting Theme i   Rj   Ra   i   t    R   t   hand2R%   i   R$   i
   RH   t   highlightthicknessi    t   wraps   <Double-Button-1>c         S   s   d  S(   t   break(    (   t   e(    (    s1   /mit/python/lib/python2.6/idlelib/configDialog.pyt   <lambda>   s    s   <B1-Motion>c         S   s   d  S(   R   (    (   R   (    (    s1   /mit/python/lib/python2.6/idlelib/configDialog.pyR      s    s   #you can click hereR   s   
R	   s   #to choose itemst   defR   t    t   funcR   s   (param):s   
  s   """string"""R   s
   
  var0 = s   'string's
   
  var1 = s
   'selected'R   s
   
  var2 = s   'found'R   s
   
  var3 = t   listR   t   (R   s   )

s    error R   s   cursor |s   
 t   shellR   R    R"   s   <ButtonPress-1>c         S   s   |  i  i   i i |  S(    (   t   widgett   winfo_toplevelt   highlightTargetR   (   t   eventt   elem(    (    s1   /mit/python/lib/python2.6/idlelib/configDialog.pyR      s   t   states   Choose Colour for :RG   Rf   t   valuet
   Foregroundt
   Backgrounds   Save as New Custom Themes	   Select : s   a Built-in Themes   a Custom Themes   Delete Custom ThemeRL   RI   i   RD   RM   RN   i   i   i   Rp   (   s   courieri   R   (   s   #you can click heres   comment(   s   
s   normal(   s   #to choose itemss   comment(   s   
s   normal(   R   s   keyword(   R   s   normal(   s   funcs
   definition(   s   (param):s   normal(   s   
  s   normal(   s   """string"""s   string(   s
   
  var0 = s   normal(   s   'string's   string(   s
   
  var1 = s   normal(   s
   'selected's   hilite(   s
   
  var2 = s   normal(   s   'found's   hit(   s
   
  var3 = s   normal(   s   lists   builtin(   R   s   normal(   s   Nones   builtin(   s   )

s   normal(   s    error s   error(   R   s   normal(   s   cursor |R   (   s   
 s   normal(   s   shells   console(   R   s   normal(   s   stdouts   stdout(   R   s   normal(   s   stderrs   stderr(   s   
s   normal(;   Rq   t   builtinThemet   customThemeRs   t   fgHilitet   colourRu   t   themeIsBuiltinR   R8   R{   R|   R}   R~   t   TextR   R2   t   NONEt   textHighlightSampleR   t   insertt   ENDR.   t   keyst   tag_bindR   t   DISABLEDRO   t   frameColourSetRP   t	   GetColourR   R   t   optMenuHighlightTargett   Radiobuttont   SetColourSampleBindingt   radioFgt   radioBgR   t   SaveAsNewThemeR   t   SetThemeTypet   radioThemeBuiltint   radioThemeCustomt   optMenuThemeBuiltint   optMenuThemeCustomt   DeleteCustomThemet   buttonDeleteCustomThemeRY   R[   R^   R_   R   R]   R   t   ERZ   R   R\   (   R>   R|   t   frameCustomt
   frameThemeRE   t   textAndTagst   txTat   elementt	   frameFgBgt   buttonSetColourt   buttonSaveCustomThemet   labelTypeTitle(    (    s1   /mit/python/lib/python2.6/idlelib/configDialog.pyRV      s    									  		("+$(+""%%+%c         C   s  t  |   |  _ t  |   |  _ t  |   |  _ t |   |  _ t  |   |  _ |  i i d i	 } t
 | d d d t d d } t
 | d d d t d d } t |  } t | d d } t |  } t | d	 t } t | d
 t d t |  _ |  i i d |  i  | i d |  i i  | i d |  i i  |  i i d | i  |  i i d | i  t | d d d |  i d t |  _ g  } t d  D]% }	 | t | d d d d d d q~ }
 t |
 d d |  i d d d |  i d d |  _  t |
 d d |  i d d d |  i d d |  _! t" |
 d |  i d  d d  |  _$ t" |
 d |  i d  d d  |  _% t |
 d d d d |  i& |  _' t |
 d d d d |  i( } | i) d t* d d d d d t+ d t,  | i) d t* d d d d d t,  |  i i) d t* d t- d d d d  | i) d t. d d d d d t+ d t,  | i/ d d  d | i0 d d  d | i1 d! d d" d d# d d$ t2  |  i i1 d! d d" d d$ t3  | i1 d! d d" d d$ t4  | i1 d! d d" d d$ t5  |  i  i1 d! d d" d d$ t2 t4  |  i! i1 d! d d" d d$ t2 t4  |  i$ i1 d! d d" d d$ t3  |  i% i1 d! d d" d d$ t3  |  i' i) d t. d t- d t6 d d  | i) d t. d t- d t6 d d  |
 d i) d t7 d t, d t6  |
 d i) d t7 d t- d t6 d d  | S(%   NRB   R   i   Rb   RE   s    Custom Key Bindings s	    Key Set s   Action - Key(s)Rk   RH   Rd   s   <ButtonRelease-1>RG   Re   t   xscrollcommands   Get New Keys for SelectionR   RI   RD   i    Rf   R   i   s   Use a Built-in Key Sets   Use a Custom Key Sets   Delete Custom Key Sets   Save as New Custom Key SetRL   i   RM   RN   t   weightt   rowt   columnt
   columnspant   sticky(8   Rq   t   bindingTargett   builtinKeyst
   customKeysRs   t   keysAreBuiltint
   keyBindingR8   R{   R|   R}   R~   RO   R   R   t
   HORIZONTALR   R2   t   listBindingsR   t   KeyBindingSelectedR   R   t   xviewR   RP   t
   GetNewKeysR   t   buttonNewKeyst   rangeR   t   SetKeysTypet   radioKeysBuiltint   radioKeysCustomR   R   t   optMenuKeysBuiltint   optMenuKeysCustomt   DeleteCustomKeyst   buttonDeleteCustomKeyst   SaveAsNewKeySetRY   R\   R^   R_   R   R[   t   columnconfiguret   rowconfiguret   gridR   t   NSEWt   NSt   EWt   TrueR]   (   R>   R|   R   t   frameKeySetst   frameTargett   labelTargetTitlet   scrollTargetYt   scrollTargetXt   _[1]t   it   framest   buttonSaveCustomKeys(    (    s1   /mit/python/lib/python2.6/idlelib/configDialog.pyRW      sp    		8

("%("##%" &c         C   s  t  |   |  _ t  |   |  _ t  |   |  _ t |   |  _ t |   |  _ t  |   |  _ t |   |  _	 t  |   |  _
 |  i i d i } t | d d d t d d } t | d d d t d d } t | d d d t } t | d d d t } t | d d d t } t | d d d t d d } t | d d	 } t | d
 |  i d d d |  i d d }	 t | d
 |  i d d d |  i d d }
 t | d d } t | d
 |  i d d d |  i d d } t | d
 |  i d d d |  i d d } t | d d d } t | d d } t | d |  i d d } t | d d } t | d |  i d d } t | d d d } t | d |  i d d } t | d d } t | d
 |  i d d d d } t | d
 |  i d d  d d! } t | d
 |  i d d" d d# } t |  } t |  } t |  } t | d$ d% d& t d' t |  _ | i d |  i i  |  i i d( | i  |  i i d) |  i  t | d d* d+ t d d, d |  i  |  _! t | d d- d d, d |  i" |  _# t | d d. d+ t d d, d |  i$ |  _% | i& d/ t' d0 d% d1 d% d2 t(  | i& d/ t' d0 d% d1 d% d2 t(  | i& d/ t' d0 d% d1 d% d2 t(  | i& d/ t' d0 d% d1 d% d2 t(  | i& d/ t' d0 d% d1 d% d2 t(  | i& d/ t' d0 d% d1 d% d3 t) d2 t*  | i& d/ t+ d4 t, d0 d% d1 d%  |
 i& d/ t- d4 t, d0 d% d1 d%  |	 i& d/ t- d4 t, d0 d% d1 d%  | i& d/ t+ d4 t, d0 d% d1 d%  | i& d/ t- d4 t, d0 d% d1 d%  | i& d/ t- d4 t, d0 d% d1 d%  | i& d/ t+ d4 t, d0 d% d1 d%  | i& d/ t- d4 t. d0 d5 d1 d%  | i& d/ t- d4 t. d1 d%  | i& d/ t- d4 t. d0 d5 d1 d%  | i& d/ t- d4 t. d1 d%  | i& d/ t+ d4 t, d0 d% d1 d%  | i& d/ t- d4 t. d0 d5 d1 d%  | i& d/ t+ d4 t, d0 d% d1 d%  | i& d/ t- d4 t. d1 d%  | i& d/ t- d4 t. d1 d%  | i& d/ t- d4 t. d1 d%  | i& d/ t- d0 d% d1 d% d2 t/  | i& d/ t' d0 d% d1 d% d3 t) d2 t*  | i& d/ t- d4 t, d2 t/  |  i i& d/ t+ d4 t. d3 t) d2 t*  |  i! i& d/ t' d4 t, d1 d%  |  i# i& d/ t' d4 t,  |  i% i& d/ t' d4 t, d1 d%  | S(6   NRC   R   i   Rb   RE   s    Startup Preferences s    Autosave Preferences s    Additional Help Sources s
   At StartupRf   R   i   RG   s   Open Edit Windowi    s   Open Shell Windows   At Start of Run (F5)  s   Prompt to Saves	   No Prompts   Initial Window Sizes     (in characters)t   Widtht   textvariableR%   i   t   Heights   Paragraph reformats    width (in characters)s   Default Source Encodingt   locales   Locale-defineds   utf-8s   UTF-8t   noneR   R$   i   RH   Rd   Re   s   <ButtonRelease-1>t   EditR   i   t   Addt   RemoveRL   RI   RD   RN   RM   Rp   i
   (0   Rq   t   winWidtht	   winHeightt	   paraWidthRv   t   startupEditt   autoSavet   encodingRs   t   userHelpBrowsert   helpBrowserR8   R{   R|   R}   R~   RO   R   R   R   t   EntryR   R   R2   t   listHelpR   R   R   R   t   HelpSourceSelectedRP   R   t   HelpListItemEditt   buttonHelpListEditt   HelpListItemAddt   buttonHelpListAddt   HelpListItemRemovet   buttonHelpListRemoveRY   R]   R   R^   R_   R[   R   RZ   R   R   (   R>   R|   t   frameRunt	   frameSavet   frameWinSizet   frameParaSizet   frameEncodingt	   frameHelpt   labelRunChoiceTitlet   radioStartupEditt   radioStartupShellt   labelRunSaveTitlet   radioSaveAskt   radioSaveAutot   labelWinSizeTitlet   labelWinWidthTitlet   entryWinWidtht   labelWinHeightTitlet   entryWinHeightt   labelParaWidthTitlet   entryParaWidtht   labelEncodingTitlet   radioEncLocalet   radioEncUTF8t   radioEncNonet   frameHelpListt   frameHelpListButtonst   scrollHelpList(    (    s1   /mit/python/lib/python2.6/idlelib/configDialog.pyRX   =  s    			
		
	"""""("""""""""""""(%c         C   s  |  i  i d |  i  |  i i d |  i  |  i i d |  i  |  i i d |  i  |  i	 i d |  i
  |  i i d |  i  |  i i d |  i  |  i i d |  i  |  i i d |  i  |  i i d |  i  |  i i d |  i  |  i i d |  i  |  i i d |  i  |  i i d |  i  |  i i d |  i  |  i i d |  i   |  i! i d |  i"  |  i# i d |  i$  |  i% i d |  i&  d  S(   Nt   w('   Rr   t   trace_variablet   VarChanged_fontSizeRu   t   VarChanged_fontNameRt   t   VarChanged_fontBoldRw   t   VarChanged_spaceNumR   t   VarChanged_colourR   t   VarChanged_builtinThemeR   t   VarChanged_customThemeR   t   VarChanged_themeIsBuiltinR   t   VarChanged_highlightTargetR   t   VarChanged_keyBindingR   t   VarChanged_builtinKeysR   t   VarChanged_customKeysR   t   VarChanged_keysAreBuiltinR  t   VarChanged_winWidthR  t   VarChanged_winHeightR  t   VarChanged_paraWidthR  t   VarChanged_startupEditR  t   VarChanged_autoSaveR  t   VarChanged_encoding(   R>   (    (    s1   /mit/python/lib/python2.6/idlelib/configDialog.pyR;     s&    c         G   s)   |  i  i   } |  i d d d |  d  S(   Nt   maint   EditorWindows	   font-size(   Rr   t   gett   AddChangedItem(   R>   t   paramsR   (    (    s1   /mit/python/lib/python2.6/idlelib/configDialog.pyR9    s    c         G   s)   |  i  i   } |  i d d d |  d  S(   NRL  RM  Rj   (   Ru   RN  RO  (   R>   RP  R   (    (    s1   /mit/python/lib/python2.6/idlelib/configDialog.pyR:    s    c         G   s)   |  i  i   } |  i d d d |  d  S(   NRL  RM  s	   font-bold(   Rt   RN  RO  (   R>   RP  R   (    (    s1   /mit/python/lib/python2.6/idlelib/configDialog.pyR;    s    c         G   s)   |  i  i   } |  i d d d |  d  S(   NRL  t   Indents
   num-spaces(   Rw   RN  RO  (   R>   RP  R   (    (    s1   /mit/python/lib/python2.6/idlelib/configDialog.pyR<    s    c         G   s   |  i    d  S(   N(   t   OnNewColourSet(   R>   RP  (    (    s1   /mit/python/lib/python2.6/idlelib/configDialog.pyR=    s    c         G   s3   |  i  i   } |  i d d d |  |  i   d  S(   NRL  t   Themet   name(   R   RN  RO  t   PaintThemeSample(   R>   RP  R   (    (    s1   /mit/python/lib/python2.6/idlelib/configDialog.pyR>    s    c         G   sD   |  i  i   } | d j o$ |  i d d d |  |  i   n d  S(   Ns   - no custom themes -RL  RS  RT  (   R   RN  RO  RU  (   R>   RP  R   (    (    s1   /mit/python/lib/python2.6/idlelib/configDialog.pyR?    s    c         G   sH   |  i  i   } |  i d d d |  | o |  i   n |  i   d  S(   NRL  RS  t   default(   R   RN  RO  R>  R?  (   R>   RP  R   (    (    s1   /mit/python/lib/python2.6/idlelib/configDialog.pyR@    s
    c         G   s   |  i    d  S(   N(   t   SetHighlightTarget(   R>   RP  (    (    s1   /mit/python/lib/python2.6/idlelib/configDialog.pyRA    s    c         G   s   |  i  i   } |  i i   } |  i i t  i   d } t i |  o |  i d | | |  n0 t i	 |  } | d } |  i d | | |  d  S(   Ni    R   t   _cfgBindingst
   extensions(
   R   RN  R   R   t   ANCHORt   splitR   t   IsCoreBindingRO  t   GetExtnNameForEvent(   R>   RP  R   t   keySetR   t   extNamet   extKeybindSection(    (    s1   /mit/python/lib/python2.6/idlelib/configDialog.pyRB    s    
c         G   s6   |  i  i   } |  i d d d |  |  i |  d  S(   NRL  RB   RT  (   R   RN  RO  t   LoadKeysList(   R>   RP  R   (    (    s1   /mit/python/lib/python2.6/idlelib/configDialog.pyRC    s    c         G   sG   |  i  i   } | d j o' |  i d d d |  |  i |  n d  S(   Ns   - no custom keys -RL  RB   RT  (   R   RN  RO  Ra  (   R>   RP  R   (    (    s1   /mit/python/lib/python2.6/idlelib/configDialog.pyRD    s    c         G   sH   |  i  i   } |  i d d d |  | o |  i   n |  i   d  S(   NRL  RB   RV  (   R   RN  RO  RC  RD  (   R>   RP  R   (    (    s1   /mit/python/lib/python2.6/idlelib/configDialog.pyRE    s
    c         G   s)   |  i  i   } |  i d d d |  d  S(   NRL  RM  R%   (   R  RN  RO  (   R>   RP  R   (    (    s1   /mit/python/lib/python2.6/idlelib/configDialog.pyRF  
  s    c         G   s)   |  i  i   } |  i d d d |  d  S(   NRL  RM  R$   (   R  RN  RO  (   R>   RP  R   (    (    s1   /mit/python/lib/python2.6/idlelib/configDialog.pyRG    s    c         G   s)   |  i  i   } |  i d d d |  d  S(   NRL  t   FormatParagrapht	   paragraph(   R  RN  RO  (   R>   RP  R   (    (    s1   /mit/python/lib/python2.6/idlelib/configDialog.pyRH    s    c         G   s)   |  i  i   } |  i d d d |  d  S(   NRL  RC   s   editor-on-startup(   R  RN  RO  (   R>   RP  R   (    (    s1   /mit/python/lib/python2.6/idlelib/configDialog.pyRI    s    c         G   s)   |  i  i   } |  i d d d |  d  S(   NRL  RC   t   autosave(   R  RN  RO  (   R>   RP  R   (    (    s1   /mit/python/lib/python2.6/idlelib/configDialog.pyRJ    s    c         G   s)   |  i  i   } |  i d d d |  d  S(   NRL  RM  R  (   R  RN  RO  (   R>   RP  R   (    (    s1   /mit/python/lib/python2.6/idlelib/configDialog.pyRK    s    c         C   s)   h h  d 6h  d 6h  d 6h  d 6|  _  d  S(   NRL  t	   highlightR   RY  (   t   changedItems(   R>   (    (    s1   /mit/python/lib/python2.6/idlelib/configDialog.pyR/   "  s    c         C   sQ   t  |  } |  i | i |  p h  |  i | | <n | |  i | | | <d  S(   N(   t   strRf  t   has_key(   R>   t   typet   sectiont   itemR   (    (    s1   /mit/python/lib/python2.6/idlelib/configDialog.pyRO  *  s    c         C   s   h h  d 6h  d 6h  d 6h  d 6} x | i    D] } t i d |  } xh | D]` } h  | | | <t i | i |  } x3 | D]+ } t i | i | |  | | | | <q WqN Wq/ W| S(   NRL  Re  R   RY  RV  (   R   R   t   GetSectionListt
   defaultCfgt   GetOptionListt   Get(   R>   t   dItemst
   configTypet   sectionsRj  t   optionst   option(    (    s1   /mit/python/lib/python2.6/idlelib/configDialog.pyt   GetDefaultItems0  s    "   1c         C   s   |  i  i   o= |  i i d t  |  i i d t  |  i i d t  nM |  i i d t  |  i i d t  |  i i d t  |  i i d t  d  S(   NR   (	   R   RN  R   R   t   NORMALR   R   R   R   (   R>   (    (    s1   /mit/python/lib/python2.6/idlelib/configDialog.pyR   <  s    c         C   s   |  i  i   o= |  i i d t  |  i i d t  |  i i d t  nM |  i i d t  |  i i d t  |  i i d t  |  i i d t  d  S(   NR   (	   R   RN  R   R   Rv  R   R   R   R   (   R>   (    (    s1   /mit/python/lib/python2.6/idlelib/configDialog.pyR   G  s    c         C   s  |  i  i t  } |  i  i |  } | i   d } |  i i   o |  i i   } n |  i i   } t i	   } | |  i
 d i   j o@ |  i
 d | } x, | i   D] } | | i   | | <q Wn | i   } t |  d | |  i }	 |	 o |  i i   oV d d }
 |  i |
  } | p% |  i  i |  |  i  i |  d  S|  i |  n |  i  i |  |  i  i | | d |	  |  i  i |  |  i  i |  |  i i |	  n! |  i  i |  |  i  i |  d  S(   Ni    R   s   Get New Keyss4   Your changes will be saved as a new Custom Key Set. s/   Enter a name for your new Custom Key Set below.s    - (   R   t   indexRZ  RN  R[  R   R   R   R   t   GetCurrentKeySetRf  R   t   valuesR   t   resultt   GetNewKeysNamet
   select_sett   select_anchort   CreateNewKeySett   deleteR   R   R   (   R>   t	   listIndext   bindingt   bindNamet   currentKeySetNamet   currentBindingst   keySetChangesR   t   currentKeySequencest   newKeyst   messaget	   newKeySet(    (    s1   /mit/python/lib/python2.6/idlelib/configDialog.pyR   R  s@     c         C   s>   t  i d d  t  i d d  } t |  d | |  i } | S(   Nt   userR   RV  s   New Custom Key Set(   R   Rl  R   Rz  (   R>   R  t	   usedNamesR  (    (    s1   /mit/python/lib/python2.6/idlelib/configDialog.pyR{  v  s
    	c         C   s+   |  i  d  } | o |  i |  n d  S(   Ns   New Key Set Name:(   R{  R~  (   R>   t   newKeysName(    (    s1   /mit/python/lib/python2.6/idlelib/configDialog.pyR   }  s    c         C   s   |  i  i d t  d  S(   NR   (   R   R   Rv  (   R>   R   (    (    s1   /mit/python/lib/python2.6/idlelib/configDialog.pyR     s    c   
      C   s9  |  i  i   o |  i i   } n |  i i   } t i |  } h  } x> | i   D]0 } | d d !} t i | |  } | | | <qT W| |  i	 d i   j o: |  i	 d | } x& | i   D] } | | | | <q Wn |  i
 | |  t i d d  }	 |	 i   |  i i |	 |  |  i  i d  |  i   d  S(   Ni   iR   R  i    (   R   RN  R   R   R   t   GetCoreKeysR   R   t   joinRf  t   SaveNewKeySetRl  t   sortR   t   SetMenuR   R   (
   R>   t   newKeySetNamet   prevKeySetNamet   prevKeysR  R   t	   eventNameR  R  t   customKeyList(    (    s1   /mit/python/lib/python2.6/idlelib/configDialog.pyR~    s*      
c   	      C   sP  d } d } |  i  i   o d } |  i  i t  } n t i |  } | i   } | i   |  i  i d t	  x | D] } t
 i | |  } | d d !} | |  i d i   j o; | |  i d | i   j o |  i d | | } q n |  i  i t	 | d |  qw W| o4 |  i  i |  |  i  i |  |  i  i |  n d  S(   Ni    i   i   iR   s    - (   R   t   curselectionRw  RZ  R   t	   GetKeySetR   R  R  R   R   R  Rf  R   t   seeR|  R}  (	   R>   t
   keySetNamet   reselectR  R  R^  t	   bindNamesR  t   key(    (    s1   /mit/python/lib/python2.6/idlelib/configDialog.pyRa    s*    
 c         C   sE  |  i  i   } t i d d d | d |  p d  St i d i |  |  i d i |  o |  i d | =n t i d i	   t i
 d d  } | i   | p* |  i i d t  |  i i | d  n |  i i | | d	  |  i i t i d
 i d d   |  i i t i d
 i d d   |  i   |  i   d  S(   Ns   Delete Key Sets   Are you sure you wish s   to delete the key set %r ?R7   R   R  R   s   - no custom keys -i    RL  RB   RV  RT  (   R   RN  t   tkMessageBoxt   askyesnoR   t   userCfgt   remove_sectionRf  Rh  t   SaveRl  R  R   R   R   R   R  R   R   Rm  Ro  R   RK   R   (   R>   R  t   itemList(    (    s1   /mit/python/lib/python2.6/idlelib/configDialog.pyR     s&    

##
c         C   sH  |  i  i   } t i d d d | f d |  p d  St i d i |  |  i d i |  o |  i d | =n t i d i	   t i
 d d  } | i   | p* |  i i d t  |  i i | d  n |  i i | | d	  |  i i t i d
 i d d   |  i i t i d
 i d d   |  i   |  i   d  S(   Ns   Delete Themes   Are you sure you wish s   to delete the theme %r ?R7   Re  R  R   s   - no custom themes -i    RL  RS  RV  RT  (   R   RN  R  R  R   R  R  Rf  Rh  R  Rl  R  R   R   R   R   R  R   R   Rm  Ro  R   RK   R   (   R>   t	   themeNameR  (    (    s1   /mit/python/lib/python2.6/idlelib/configDialog.pyR     s&    

##
c         C   s   |  i  i   } |  i i d  } t i d |  d d | d |  \ } } | ow | | j oj |  i i   oF d d } |  i |  } | p d  S|  i |  |  i	 i
 |  q |  i	 i
 |  n d  S(   Nt   bgR7   R?   s   Pick new colour for : t   initialcolors2   Your changes will be saved as a new Custom Theme. s-   Enter a name for your new Custom Theme below.(   R   RN  R   t   cgett   tkColorChoosert   askcolorR   t   GetNewThemeNamet   CreateNewThemeR   R   (   R>   t   targett
   prevColourt	   rgbTuplett   colourStringR  t   newTheme(    (    s1   /mit/python/lib/python2.6/idlelib/configDialog.pyR     s    c         C   s   |  i  i   } |  i i d |  |  i i   o
 d } n d } |  i |  i i   d } |  i i | h | | 6 |  i	 i   } | d | } |  i
 d | | |  d  S(   NR  t
   foregroundt
   backgroundi    t   -Re  (   R   RN  R   R   R   R.   R   R   t
   tag_configR   RO  (   R>   t	   newColourt   planet   sampleElementt   themet   themeElement(    (    s1   /mit/python/lib/python2.6/idlelib/configDialog.pyRR     s     
c         C   s>   t  i d d  t  i d d  } t |  d | |  i } | S(   NR  Re  RV  s   New Custom Theme(   R   Rl  R   Rz  (   R>   R  R  R  (    (    s1   /mit/python/lib/python2.6/idlelib/configDialog.pyR    s
    	c         C   s+   |  i  d  } | o |  i |  n d  S(   Ns   New Theme Name:(   R  R  (   R>   t   newThemeName(    (    s1   /mit/python/lib/python2.6/idlelib/configDialog.pyR     s    c         C   s  |  i  i   o d } |  i i   } n d } |  i i   } t i | |  } | |  i d i   j o: |  i d | } x& | i   D] } | | | | <q Wn |  i | |  t i	 d d  } | i
   |  i i | |  |  i  i d  |  i   d  S(   NRV  R  Re  i    (   R   RN  R   R   R   t   GetThemeDictRf  R   t   SaveNewThemeRl  R  R   R  R   R   (   R>   R  t	   themeTypeR  R  t   themeChangesR   t   customThemeList(    (    s1   /mit/python/lib/python2.6/idlelib/configDialog.pyR    s"     
c         C   s6   |  i  i t  } |  i i | i    |  i   d  S(   N(   R   RN  RZ  Ru   R   t   lowerR   (   R>   R   Rj   (    (    s1   /mit/python/lib/python2.6/idlelib/configDialog.pyR   /  s    c         C   sa   |  i  i   } |  i i   o t i } n
 t i } |  i i d |  i i   d | d |  d  S(   Nt   sizeR   t   family(	   Ru   RN  Rt   Rx   t   BOLDRv  Rz   R   Rr   (   R>   R   Ru   t
   fontWeight(    (    s1   /mit/python/lib/python2.6/idlelib/configDialog.pyR   4  s    	c         C   s   |  i  i   d j o: |  i i d t  |  i i d t  |  i i d  n7 |  i i d t  |  i i d t  |  i i d  |  i	   d  S(   NR   R   i   (
   R   RN  R   R   R   R   R   R   Rv  t   SetColourSample(   R>   (    (    s1   /mit/python/lib/python2.6/idlelib/configDialog.pyRW  =  s    c         G   s   |  i    d  S(   N(   R  (   R>   t   args(    (    s1   /mit/python/lib/python2.6/idlelib/configDialog.pyR   H  s    c         C   sf   |  i  |  i i   d } |  i i   o
 d } n d } |  i i | |  } |  i i d |  d  S(   Ni    R  R  R  (   R.   R   RN  R   R   t   tag_cgetR   R   (   R>   t   tagR  R   (    (    s1   /mit/python/lib/python2.6/idlelib/configDialog.pyR  K  s     
c         C   s@  |  i  i   o |  i i   } n |  i i   } x |  i i   D] } |  i | d } t i | |  } | d j o  t i | d d d | d <n | |  i d i   j oi |  i d | } | i	 | d  o | | d | d	 <n | i	 | d
  o | | d
 | d <qn |  i
 i | |  qB W|  i   d  S(   Ni    R   R	   t   fgBgR  R  Re  s   -foregroundR  s   -background(   R   RN  R   R   R.   R   R   t   GetHighlightRf  Rh  R   R  R  (   R>   R  t   elementTitleR   t   colourst	   themeDict(    (    s1   /mit/python/lib/python2.6/idlelib/configDialog.pyRU  S  s$     	c         C   s   |  i    d  S(   N(   t   SetHelpListButtonStates(   R>   R   (    (    s1   /mit/python/lib/python2.6/idlelib/configDialog.pyR  h  s    c         C   s   |  i  i   d j  o* |  i i d t  |  i i d t  na |  i  i   o* |  i i d t  |  i i d t  n' |  i i d t  |  i i d t  d  S(   Ni   R   (   R  R  R  R   R   R  R  Rv  (   R>   (    (    s1   /mit/python/lib/python2.6/idlelib/configDialog.pyR  k  s    c         C   sj   t  |  d  i } | oC |  i i | d | d f  |  i i t | d  |  i   n |  i   d  S(   Ns   New Help Sourcei    i   (	   R   Rz  t   userHelpListt   appendR  R   R   t   UpdateUserHelpChangedItemsR  (   R>   t
   helpSource(    (    s1   /mit/python/lib/python2.6/idlelib/configDialog.pyR  w  s    c         C   s   |  i  i t  } |  i | } t |  d d | d d | d i } | p | | j o d  S| |  i | <|  i  i |  |  i  i | | d  |  i   |  i	   d  S(   Ns   Edit Help Sourcet   menuItemi    t   filePathi   (
   R  Rw  RZ  R  R   Rz  R  R   R  R  (   R>   t	   itemIndexR  t   newHelpSource(    (    s1   /mit/python/lib/python2.6/idlelib/configDialog.pyR    s    
c         C   sD   |  i  i t  } |  i | =|  i  i |  |  i   |  i   d  S(   N(   R  Rw  RZ  R  R  R  R  (   R>   R  (    (    s1   /mit/python/lib/python2.6/idlelib/configDialog.pyR    s
    

c      	   C   ss   h  |  i  d d <x[ t d t |  i  d  D]= } |  i d d t |  t i |  i | d d  d   q. Wd S(   s<   Clear and rebuild the HelpFiles section in self.changedItemsRL  t	   HelpFilesi   i   t   ;N(   Rf  R   t   lenR  RO  Rg  R   R  (   R>   t   num(    (    s1   /mit/python/lib/python2.6/idlelib/configDialog.pyR    s
     c   
      C   sX  t  t i |    } | i   x! | D] } |  i i t |  q& Wt i d d d d d } | i	   } |  i
 i |  g  } | D] } | | i	   q ~ } | | j oC | i |  } |  i i |  |  i i |  |  i i |  n t i d d d d d }	 |  i i d |	  |  i i t i d d d d d d d  |  i   d  S(   NRL  RM  Rj   RV  Ra   s	   font-sizeR   t   7t   8t   9R!   R#   t   13t   14t   16t   18t   20t   22s	   font-boldi    Ri  t   bool(   R  R  R  s   10s   11s   12R  R  R  R  R  R  (   R   Rx   t   familiesR  R   R   R   R   t	   GetOptionR  Ru   R   Rw  R  R|  R}  R   R  Rt   R   (
   R>   t   fontsRj   t   configuredFontt   lc_configuredFontR   t   st   lc_fontst   currentFontIndexRr   (    (    s1   /mit/python/lib/python2.6/idlelib/configDialog.pyt   LoadFontCfg  s,    
 	'		
c         C   s5   t  i d d d d d d d } |  i i |  d  S(   NRL  RQ  s
   num-spacesRV  i   Ri  t   int(   R   R  Rw   R   (   R>   Rw   (    (    s1   /mit/python/lib/python2.6/idlelib/configDialog.pyt
   LoadTabCfg  s    c      	   C   s  |  i  i t i d d d d d d d  t i   } |  i  i   o t i d d  } | i   |  i i	 | |  t i d d  } | i   | p' |  i
 i d	 t  |  i i d
  q=|  i i	 | | d  nc t i d d  } | i   |  i i	 | |  t i d d  } | i   |  i i	 | | d  |  i   |  i i   } | i |  i  |  i i	 | | d  |  i   |  i   d  S(   NRL  RS  RV  Ri  R  i   Re  R  R   s   - no custom themes -i    (   R   R   R   R  t   CurrentThemeRN  Rl  R  R   R  R   R   R   R   R   R   R.   R   t$   _ConfigDialog__ThemeNameIndexCompareR   RU  RW  (   R>   t   currentOptionR  t
   themeNames(    (    s1   /mit/python/lib/python2.6/idlelib/configDialog.pyt   LoadThemeCfg  s2    





c         C   sX   |  i  | d |  i  | d j  o d S|  i  | d |  i  | d j o d Sd Sd  S(   Ni   ii    (   R.   (   R>   t   at   b(    (    s1   /mit/python/lib/python2.6/idlelib/configDialog.pyt   __ThemeNameIndexCompare  s
    # # c      	   C   sd  |  i  i t i d d d d d d d  t i   } |  i  i   o t i d d  } | i   |  i i	 | |  t i d d  } | i   | p' |  i
 i d	 t  |  i i d
  q=|  i i	 | | d  nc t i d d  } | i   |  i i	 | |  t i d d  } | i   |  i i	 | | d  |  i   t i   } |  i |  d  S(   NRL  RB   RV  Ri  R  i   R   R  R   s   - no custom keys -i    (   R   R   R   R  t   CurrentKeysRN  Rl  R  R   R  R   R   R   R   R   R   Ra  (   R>   R  R  R  (    (    s1   /mit/python/lib/python2.6/idlelib/configDialog.pyt
   LoadKeyCfg  s,    




c      	   C   s   |  i  i t i d d d d d d d  |  i i t i d d d d d	 d d  |  i i t i d d
 d   |  i i t i d d
 d   |  i i t i d d d   |  i i t i d d
 d d d  t i	   |  _
 x( |  i
 D] } |  i i t | d	  q W|  i   d  S(   NRL  RC   s   editor-on-startupRV  i   Ri  R  Rd  i    RM  R%   R$   Rb  Rc  R  R  (   R  R   R   R  R  R  R  R  R  t   GetAllExtraHelpSourcesListR  R  R   R   R  (   R>   t   helpItem(    (    s1   /mit/python/lib/python2.6/idlelib/configDialog.pyt   LoadGeneralCfg  s    
 c         C   s6   |  i    |  i   |  i   |  i   |  i   d S(   s   
        load configuration from default and user config files and populate
        the widgets on the config dialog pages.
        N(   R  R  R  R  R  (   R>   (    (    s1   /mit/python/lib/python2.6/idlelib/configDialog.pyR:     s
    



c         C   sn   t  i d i |  p t  i d i |  n x8 | i   D]* } | | } t  i d i | | |  q< Wd S(   s   
        save a newly created core key set.
        keySetName - string, the name of the new key set
        keySet - dictionary containing the new key set
        R   N(   R   R  t   has_sectiont   add_sectionR   t	   SetOption(   R>   R  R^  R   R   (    (    s1   /mit/python/lib/python2.6/idlelib/configDialog.pyR  #  s     
c         C   sn   t  i d i |  p t  i d i |  n x8 | i   D]* } | | } t  i d i | | |  q< Wd S(   s   
        save a newly created theme.
        themeName - string, the name of the new theme
        theme - dictionary containing the new theme
        Re  N(   R   R  R  R  R   R  (   R>   R  R  R   R   (    (    s1   /mit/python/lib/python2.6/idlelib/configDialog.pyR  /  s     
c         C   sp   t  i | i | |  o< t  i | i | |  | j o t  i | i | |  Sn t  i | i | | |  S(   N(   R   Rm  t
   has_optionRo  R  t   RemoveOptionR  (   R>   Rq  Rj  Rk  R   (    (    s1   /mit/python/lib/python2.6/idlelib/configDialog.pyt   SetUserValue;  s     c         C   s&  t  i d i   x |  i i   D] } t } x |  i | i   D] } | d j o t  i d i d  t } n xW |  i | | i   D]> } |  i | | | } |  i | | | |  o
 t } q q WqA W| o t  i | i   q! q! Wx% d d g D] } t  i | i   q W|  i	   d S(   s3   Save configuration changes to the user config file.RL  R  R   Re  N(
   R   R  R  Rf  R   t   FalseR  R   R  R/   (   R>   Rq  t   cfgTypeHasChangesRj  Rk  R   (    (    s1   /mit/python/lib/python2.6/idlelib/configDialog.pyt   SaveAllChangedConfigsC  s(      
  c         C   s1   |  i  i i   } x | D] } | i   q Wd  S(   N(   R7   t   instance_dictR   t   RemoveKeybindings(   R>   t   winInstancest   instance(    (    s1   /mit/python/lib/python2.6/idlelib/configDialog.pyt   DeactivateCurrentConfigX  s     c         C   sY   |  i  i i   } x@ | D]8 } | i   | i   | i   | i   | i   q Wd S(   s'   Dynamically apply configuration changesN(   R7   R  R   t   ResetColorizert	   ResetFontt   set_notabs_indentwidtht   ApplyKeybindingst   reset_help_menu_entries(   R>   R  R	  (    (    s1   /mit/python/lib/python2.6/idlelib/configDialog.pyt   ActivateConfigChanges_  s     



c         C   s   |  i    d  S(   N(   t   destroy(   R>   (    (    s1   /mit/python/lib/python2.6/idlelib/configDialog.pyR6   i  s    c         C   s   |  i    |  i   d  S(   N(   RK   R  (   R>   (    (    s1   /mit/python/lib/python2.6/idlelib/configDialog.pyRJ   l  s    
c         C   s"   |  i    |  i   |  i   d  S(   N(   R
  R  R  (   R>   (    (    s1   /mit/python/lib/python2.6/idlelib/configDialog.pyRK   p  s    

c         C   s   d  S(   N(    (   R>   (    (    s1   /mit/python/lib/python2.6/idlelib/configDialog.pyRF   u  s    N(L   t   __name__t
   __module__R(   R0   RU   RV   RW   RX   R;   R9  R:  R;  R<  R=  R>  R?  R@  RA  RB  RC  RD  RE  RF  RG  RH  RI  RJ  RK  R/   RO  Ru  R   R   R   R{  R   R   R~  Ra  R   R   R   RR  R  R   R  R   R   R   RW  R   R  RU  R  R  R  R  R  R  R  R  R  R  R  R  R:   R  R  R  R  R
  R  R6   RJ   RK   RF   (    (    (    s1   /mit/python/lib/python2.6/idlelib/configDialog.pyR      s   	*		?	Y	E	p																										$																											!										
			t   __main__RE   t   DialogRG   c           C   s   t  t d   S(   t   Settings(   R   t   root(    (    (    s1   /mit/python/lib/python2.6/idlelib/configDialog.pyR   |  s    (   t   __doc__t   TkinterR  R  Rx   R   t   configHandlerR   t   dynOptionMenuWidgetR   t   tabbedpagesR   t   keybindingDialogR   t   configSectionNameDialogR   t   configHelpSourceEditR   R'   R   R  t   TkR  RP   RY   R  t   mainloop(    (    (    s1   /mit/python/lib/python2.6/idlelib/configDialog.pyt   <module>   s(   
$    e		