
\Kc           @   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 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
   TabPageSet(   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   sU  t  i |  |  |  i d d  |  i d | i   d | i   d f  h  d0 d <d1 d <d2 d <d3 d <d4 d <d5 d <d6 d <d7 d <d8 d  <d9 d# <d: d& <d; d) <d< d, <|  _ |  i   |  i   |  i	 d- t
 d. t
  |  i |  |  i   |  i d/ |  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	   configuret   geometryt   winfo_rootxt   winfo_rootyt   themeElementst   ResetChangedItemst   CreateWidgetst	   resizablet   FALSEt	   transientt   grab_sett   protocolt   Cancelt   parentt   tabPagest	   focus_sett   LoadConfigst   AttachVarCallbackst   wait_window(   t   selfR6   t   title(    (    s*   /usr/lib/python2.5/idlelib/configDialog.pyR(      s8    											


	

c         C   s  t  |  d d d d d g |  _ |  i i   t |   } t | d d d |  i d	 t |  _ t | d d
 d |  i d	 t |  _	 t | d d d |  i
 d	 t |  _ t | d d d |  i d	 t |  _ |  i   |  i   |  i   |  i   |  i i d t d d d d  |  i	 i d t d d d d  |  i i d t d d d d  |  i i d t d d d d  | i d t  |  i i d t d t d t  d  S(   Nt	   pageNamess
   Fonts/Tabst   Highlightingt   Keyst   Generalt   textt   Helpt   commandt	   takefocust   Okt   ApplyR5   t   sidet   padxi   t   padyt   expandt   fill(   R   R7   t
   ChangePaget   Framet   ButtonRC   R1   t
   buttonHelpRF   t   buttonOkRG   t   buttonApplyR5   t   buttonCancelt   CreatePageFontTabt   CreatePageHighlightt   CreatePageKeyst   CreatePageGeneralt   packt   RIGHTt   LEFTt   BOTTOMt   TOPt   TRUEt   BOTH(   R<   t   frameActionButtons(    (    s*   /usr/lib/python2.5/idlelib/configDialog.pyR/   ?   s,    	



c         C   s'  t  |   |  _ t |   |  _ t  |   |  _ t |   |  _ t i |  d-  |  _	 |  i
 i d d } t | d d d t } t | d d d t } 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 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+ t' d' d d( d  | 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' d d( d d* t$  | i" d& t& d+ t' d' d  |  i! i" d& t& d' d d* t(  | S(.   Nt   courieri
   R	   s
   Fonts/Tabst   pageR   i   t   reliefRB   s   Set Base Editor Fontt   justifys   Font :R$   i   RE   t   exportselections   <ButtonRelease-1>RD   t   yscrollcommands   Size :t   variablet   onvaluei   t   offvaluei    t   Bolds,   AaBbCcDdEe
FfGgHhIiJjK
1234567890
#:+=(){}[]t   fonts   Python Standard: 4 Spaces!t   labels   Indentation Widtht   orientt
   horizontalt   tickintervalt   from_t   toi   RH   RI   RJ   RK   RL   t   anchori   (   R`   i
   s   normal()   t	   StringVart   fontSizet
   BooleanVart   fontBoldt   fontNamet   IntVart   spaceNumt   tkFontt   Fontt   editFontR7   t   pagesRN   t   GROOVEt   LabelRZ   t   ListboxR1   t   listFontNamet   bindt   OnListFontButtonReleaset	   Scrollbart   configt   yviewt   setR   t   Nonet   SetFontSamplet   optMenuFontSizet   Checkbuttont   SOLIDt   labelFontSamplet   Scalet   scaleSpaceNumRX   R]   R^   t   YR\   t   Wt   X(   R<   t   framet	   frameFontt   frameIndentt   labelFontTitlet   frameFontNamet   frameFontParamt   labelFontNameTitlet
   scrollFontt   labelFontSizeTitlet   checkFontBoldt   frameFontSamplet   frameIndentSizet   labelSpaceNumTitle(    (    s*   /usr/lib/python2.5/idlelib/configDialog.pyRT   X   sf    			(""""("c          C   s_  t  |   |  _ t  |   |  _ t |   |  _ t  |   |  _ t  |   |  _ t |   |  _ t  |   |  _ |  i	 i
 d d } t | d d d t } t | d d d t } t | d t d d d dX d d d d d d d t d d d t 	|  _ |  i } | i d d    | i d d    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 dw f } x) | D]! } | i t | d | d  qWx; |  i i   D]* } | i |  i | d d= | d>   qW| i d? t  t | d t d d |  _ t |  } t | d@ dA }	 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 | d@ dJ } t! | dD |  i dE d dC |  i' d@ dK |  _( t! | dD |  i dE d dC |  i' d@ dL |  _) t | |  i d  dC d  |  _* t | |  i d  dC d  |  _+ t | d@ dM dC |  i, |  _- | i. dN t/ dO dP dQ d dR t0 dS t1  | i. dN t/ dO dP dQ d dS t2  |	 i. dN t3 dT t4 dO dP dQ dP  |  i i. dN t3 dO dP dQ dP dR t0 dS t5  | i. dN t3 dO dP dQ d  |  i i. dN t3 dO dP dQ dP dR t0 dS t1  |
 i. dN t3 dR t0 dS t5 dO dU dQ dV  |  i  i. dN t3 dR t0 dS t5 dO dU dQ dW  |  i# i. dN t/ dT t6  |  i$ i. dN t7 dT t4  | i. dN t8 dS t5 dO dP dQ dP  | i. dN t3 dT t4 dO dP dQ dP  | i. dN t3 dT t4 dO dP dQ dP  |  i( i. dN t3 dT t4 dO dP  |  i) i. dN t3 dT t4 dO dP dQ d  |  i* i. dN t3 dS t5 dO dP dQ dP  |  i+ i. dN t3 dS t5 dT t4 dO dP dQ dP  |  i- i. dN t3 dS t5 dO dP dQ dP  | S(x   NR?   Ra   R   i   Rb   i   Rj   R`   i   t    R   t   hand2R%   i   R$   i
   RE   t   highlightthicknessi    t   wraps   <Double-Button-1>c         S   s   d  S(   t   break(    (   t   e(    (    s*   /usr/lib/python2.5/idlelib/configDialog.pyt   <lambda>   s    s   <B1-Motion>c         S   s   d  S(   R   (    (   R   (    (    s*   /usr/lib/python2.5/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(    (    s*   /usr/lib/python2.5/idlelib/configDialog.pyR      s   t   stateRB   s   Set Custom Highlightings   Choose Colour for :RD   Rf   t   valuet
   Foregroundt
   Backgrounds   Save as New Custom Themes   Select a Highlighting Themes	   Select : s   a Built-in Themes   a Custom Themes   Delete Custom ThemeRH   RI   i   RJ   RK   RL   Rq   i   i   i   (   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(   R   s   console(   R   s   normal(   s   stdouts   stdout(   R   s   normal(   s   stderrs   stderr(   s   
s   normal(9   Rr   t   builtinThemet   customThemeRt   t   fgHilitet   colourRv   t   themeIsBuiltinR   R7   R|   RN   R}   t   TextR   R1   t   NONEt   textHighlightSampleR   t   insertt   ENDR-   t   keyst   tag_bindR   t   DISABLEDt   frameColourSetR~   RO   t	   GetColourR   R   t   optMenuHighlightTargett   Radiobuttont   SetColourSampleBindingt   radioFgt   radioBgR   t   SaveAsNewThemet   SetThemeTypet   radioThemeBuiltint   radioThemeCustomt   optMenuThemeBuiltint   optMenuThemeCustomt   DeleteCustomThemet   buttonDeleteCustomThemeRX   RZ   R]   R^   R   R\   R   R   t   ERY   R[   (   R<   R   t   frameCustomt
   frameThemeRB   t   textAndTagst   txTat   elementt	   frameFgBgt   labelCustomTitlet   buttonSetColourt   buttonSaveCustomThemet   labelThemeTitlet   labelTypeTitle(    (    s*   /usr/lib/python2.5/idlelib/configDialog.pyRU      s    							  		(""+$(+"""%%+%c         C   s  t  |   |  _ t  |   |  _ t  |   |  _ t |   |  _ t  |   |  _ |  i i d d } t	 | d d d t
 } t	 | d d d t
 } t	 |  } t | d d } 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 |  _ t | d d d |  i }	 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  | |  i d  d d  |  _" t  | |  i d  d d  |  _# t | 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& d t+ d" t, d d d d  |	 i& d t- d! t. d d d d  |  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' t,  |  i i1 d$ d d% d d' t2  | i1 d$ d d% d d' t3  | i1 d$ d d% d d' t4  |
 i& d t+ d" t, d d d d  | i& d t+ d" t, d d d d  |  i i& d t+ d" t, d d  |  i i& d t+ d" t, d d d d  |  i" i& d t+ d! t. d d d d  |  i# i& d t+ d! t. d" t, d d d d  |  i% i& d t+ d! t. d d d d  | S((   NR@   Ra   R   i   Rb   RB   s   Set Custom Key Bindingss   Action - Key(s)Rl   RE   Rd   s   <ButtonRelease-1>RD   Re   t   xscrollcommands   Get New Keys for SelectionR   s   Save as New Custom Key Sets   Select a Key Sets	   Select : Rf   R   i   s   a Built-in Key Seti    s   a Custom Key Sets   Delete Custom Key SetRH   RI   i   RJ   RK   RL   Rq   t   weightt   rowt   columnt
   columnspant   sticky(5   Rr   t   bindingTargett   builtinKeyst
   customKeysRt   t   keysAreBuiltint
   keyBindingR7   R|   RN   R}   R~   R   t
   HORIZONTALR   R1   t   listBindingsR   t   KeyBindingSelectedR   R   t   xviewR   RO   t
   GetNewKeysR   t   buttonNewKeyst   SaveAsNewKeySetR   t   SetKeysTypet   radioKeysBuiltint   radioKeysCustomR   R   t   optMenuKeysBuiltint   optMenuKeysCustomt   DeleteCustomKeyst   buttonDeleteCustomKeysRX   RZ   R]   R^   R   R\   R   R[   R   t   columnconfiguret   rowconfiguret   gridt   NSEWt   NSt   EW(   R<   R   R   t   frameKeySetst   frameTargetR   t   labelTargetTitlet   scrollTargetYt   scrollTargetXt   buttonSaveCustomKeyst   labelKeysTitleR   (    (    s*   /usr/lib/python2.5/idlelib/configDialog.pyRV      sp    	("""%("""%%+%c         C   si  t  |   |  _ t  |   |  _ t  |   |  _ t |   |  _ t |   |  _ t  |   |  _ t |   |  _	 t  |   |  _
 |  i i d d } t | d d d t } t | d d d t } t | d d d t } t | d d d t } t | d d d t } t | d d d t } 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 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 | d d$ } 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$ d0 t% d1 d& d2 d& d3 t&  | i$ d0 t% d1 d& d2 d& d3 t&  | i$ d0 t% d1 d& d2 d& d3 t&  | i$ d0 t% d1 d& d2 d& d3 t&  | i$ d0 t% d1 d& d2 d& d3 t&  | i$ d0 t% d1 d& d2 d& d4 t' d3 t(  | i$ d0 t% d5 t) d1 d& d2 d&  |	 i$ d0 t* d5 t) d1 d& d2 d&  | i$ d0 t+ d5 t) d1 d& d2 d&  |
 i$ d0 t+ d5 t) d1 d& d2 d&  | i$ d0 t% d5 t) d1 d& d2 d&  | i$ d0 t* d5 t) d1 d& d2 d&  | i$ d0 t+ d5 t) d1 d& d2 d&  | i$ d0 t+ d5 t) d1 d& d2 d&  | i$ d0 t* d5 t) d1 d& d2 d&  | i$ d0 t+ d5 t, d1 d6 d2 d&  | i$ d0 t+ d5 t, d2 d&  | i$ d0 t+ d5 t, d1 d6 d2 d&  | i$ d0 t+ d5 t, d2 d&  | i$ d0 t* d5 t) d1 d& d2 d&  | i$ d0 t+ d5 t, d1 d6 d2 d&  | i$ d0 t* d5 t) d1 d& d2 d&  | i$ d0 t+ d5 t, d2 d&  | i$ d0 t+ d5 t, d2 d&  | i$ d0 t+ d5 t, d2 d&  | i$ d0 t+ d1 d& d2 d& d3 t-  | i$ d0 t% d1 d& d2 d& d4 t' d3 t(  | i$ d0 t% d5 t)  | i$ d0 t+ d5 t) d3 t-  |  i i$ d0 t* d5 t, d4 t' d3 t(  |  i i$ d0 t% d5 t) d2 d&  |  i! i$ d0 t% d5 t)  |  i# i$ d0 t% d5 t) d2 d&  | S(7   NRA   Ra   R   i   Rb   RB   s   Startup Preferencess
   At StartupRf   R   i   RD   s   Open Edit Windowi    s   Open Shell Windows   Autosave Preferences   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   s   Additional Help Sources:R$   i   RE   Rd   Re   s   <ButtonRelease-1>t   EditR   i   t   Addt   RemoveRH   RI   RJ   RL   RK   Rq   i
   (.   Rr   t   winWidtht	   winHeightt	   paraWidthRw   t   startupEditt   autoSavet   encodingRt   t   userHelpBrowsert   helpBrowserR7   R|   RN   R}   R~   R   R   t   EntryR   R   R1   t   listHelpR   R   R   R   t   HelpSourceSelectedRO   R   t   HelpListItemEditt   buttonHelpListEditt   HelpListItemAddt   buttonHelpListAddt   HelpListItemRemovet   buttonHelpListRemoveRX   R\   R   R]   R^   R   RZ   RY   R   R   (   R<   R   t   frameRunt	   frameSavet   frameWinSizet   frameParaSizet   frameEncodingt	   frameHelpt   labelRunTitlet   labelRunChoiceTitlet   radioStartupEditt   radioStartupShellt   labelSaveTitlet   labelRunSaveTitlet   radioSaveAskt   radioSaveAutot   labelWinSizeTitlet   labelWinWidthTitlet   entryWinWidtht   labelWinHeightTitlet   entryWinHeightt   labelParaWidthTitlet   entryParaWidtht   labelEncodingTitlet   radioEncLocalet   radioEncUTF8t   radioEncNonet   frameHelpListt   frameHelpListButtonst   labelHelpListTitlet   scrollHelpList(    (    s*   /usr/lib/python2.5/idlelib/configDialog.pyRW   7  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('   Rs   t   trace_variablet   VarChanged_fontSizeRv   t   VarChanged_fontNameRu   t   VarChanged_fontBoldRx   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<   (    (    s*   /usr/lib/python2.5/idlelib/configDialog.pyR:     s&    c         G   s)   |  i  i   } |  i d d d |  d  S(   Nt   maint   EditorWindows	   font-size(   Rs   t   gett   AddChangedItem(   R<   t   paramsR   (    (    s*   /usr/lib/python2.5/idlelib/configDialog.pyR;    s    c         G   s)   |  i  i   } |  i d d d |  d  S(   NRN  RO  Rj   (   Rv   RP  RQ  (   R<   RR  R   (    (    s*   /usr/lib/python2.5/idlelib/configDialog.pyR<    s    c         G   s)   |  i  i   } |  i d d d |  d  S(   NRN  RO  s	   font-bold(   Ru   RP  RQ  (   R<   RR  R   (    (    s*   /usr/lib/python2.5/idlelib/configDialog.pyR=    s    c         G   s)   |  i  i   } |  i d d d |  d  S(   NRN  t   Indents
   num-spaces(   Rx   RP  RQ  (   R<   RR  R   (    (    s*   /usr/lib/python2.5/idlelib/configDialog.pyR>    s    c         G   s   |  i    d  S(   N(   t   OnNewColourSet(   R<   RR  (    (    s*   /usr/lib/python2.5/idlelib/configDialog.pyR?    s    c         G   s3   |  i  i   } |  i d d d |  |  i   d  S(   NRN  t   Themet   name(   R   RP  RQ  t   PaintThemeSample(   R<   RR  R   (    (    s*   /usr/lib/python2.5/idlelib/configDialog.pyR@    s    c         G   sD   |  i  i   } | d j o$ |  i d d d |  |  i   n d  S(   Ns   - no custom themes -RN  RU  RV  (   R   RP  RQ  RW  (   R<   RR  R   (    (    s*   /usr/lib/python2.5/idlelib/configDialog.pyRA    s    c         G   sH   |  i  i   } |  i d d d |  | o |  i   n |  i   d  S(   NRN  RU  t   default(   R   RP  RQ  R@  RA  (   R<   RR  R   (    (    s*   /usr/lib/python2.5/idlelib/configDialog.pyRB    s
    c         G   s   |  i    d  S(   N(   t   SetHighlightTarget(   R<   RR  (    (    s*   /usr/lib/python2.5/idlelib/configDialog.pyRC    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   RP  R   R   t   ANCHORt   splitR   t   IsCoreBindingRQ  t   GetExtnNameForEvent(   R<   RR  R   t   keySetR   t   extNamet   extKeybindSection(    (    s*   /usr/lib/python2.5/idlelib/configDialog.pyRD    s    
c         G   s6   |  i  i   } |  i d d d |  |  i |  d  S(   NRN  R@   RV  (   R   RP  RQ  t   LoadKeysList(   R<   RR  R   (    (    s*   /usr/lib/python2.5/idlelib/configDialog.pyRE    s    c         G   sG   |  i  i   } | d j o' |  i d d d |  |  i |  n d  S(   Ns   - no custom keys -RN  R@   RV  (   R   RP  RQ  Rc  (   R<   RR  R   (    (    s*   /usr/lib/python2.5/idlelib/configDialog.pyRF    s    c         G   sH   |  i  i   } |  i d d d |  | o |  i   n |  i   d  S(   NRN  R@   RX  (   R   RP  RQ  RE  RF  (   R<   RR  R   (    (    s*   /usr/lib/python2.5/idlelib/configDialog.pyRG    s
    c         G   s)   |  i  i   } |  i d d d |  d  S(   NRN  RO  R%   (   R  RP  RQ  (   R<   RR  R   (    (    s*   /usr/lib/python2.5/idlelib/configDialog.pyRH    s    c         G   s)   |  i  i   } |  i d d d |  d  S(   NRN  RO  R$   (   R  RP  RQ  (   R<   RR  R   (    (    s*   /usr/lib/python2.5/idlelib/configDialog.pyRI    s    c         G   s)   |  i  i   } |  i d d d |  d  S(   NRN  t   FormatParagrapht	   paragraph(   R  RP  RQ  (   R<   RR  R   (    (    s*   /usr/lib/python2.5/idlelib/configDialog.pyRJ    s    c         G   s)   |  i  i   } |  i d d d |  d  S(   NRN  RA   s   editor-on-startup(   R  RP  RQ  (   R<   RR  R   (    (    s*   /usr/lib/python2.5/idlelib/configDialog.pyRK    s    c         G   s)   |  i  i   } |  i d d d |  d  S(   NRN  RA   t   autosave(   R  RP  RQ  (   R<   RR  R   (    (    s*   /usr/lib/python2.5/idlelib/configDialog.pyRL    s    c         G   s)   |  i  i   } |  i d d d |  d  S(   NRN  RO  R  (   R  RP  RQ  (   R<   RR  R   (    (    s*   /usr/lib/python2.5/idlelib/configDialog.pyRM    s    c         C   s1   h  h  d <h  d <h  d <h  d <|  _  d  S(   NRN  t	   highlightR   R[  (   t   changedItems(   R<   (    (    s*   /usr/lib/python2.5/idlelib/configDialog.pyR.     s    c         C   sQ   t  |  } |  i | i |  p h  |  i | | <n | |  i | | | <d  S(   N(   t   strRh  t   has_key(   R<   t   typet   sectiont   itemR   (    (    s*   /usr/lib/python2.5/idlelib/configDialog.pyRQ  '  s    c         C   s   h  h  d <h  d <h  d <h  d <} x | i    D] } t i d |  } xh | D]` } h  | | | <t i | i |  } x3 | D]+ } t i | i | |  | | | | <q WqV Wq7 W| S(   NRN  Rg  R   R[  RX  (   R   R   t   GetSectionListt
   defaultCfgt   GetOptionListt   Get(   R<   t   dItemst
   configTypet   sectionsRl  t   optionst   option(    (    s*   /usr/lib/python2.5/idlelib/configDialog.pyt   GetDefaultItems-  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   RP  R   R   t   NORMALR   R   R   R   (   R<   (    (    s*   /usr/lib/python2.5/idlelib/configDialog.pyR   9  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   RP  R   R   Rx  R   R   R   R   (   R<   (    (    s*   /usr/lib/python2.5/idlelib/configDialog.pyR   D  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   oY d d }
 |  i |
  } | p( |  i  i |  |  i  i |  d  Sq`|  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   indexR\  RP  R]  R   R   R   R   t   GetCurrentKeySetRh  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(    (    s*   /usr/lib/python2.5/idlelib/configDialog.pyR   O  s@     c         C   s>   t  i d d  t  i d d  } t |  d | |  i } | S(   Nt   userR   RX  s   New Custom Key Set(   R   Rn  R   R|  (   R<   R  t	   usedNamesR  (    (    s*   /usr/lib/python2.5/idlelib/configDialog.pyR}  s  s
    	c         C   s+   |  i  d  } | o |  i |  n d  S(   Ns   New Key Set Name:(   R}  R  (   R<   t   newKeysName(    (    s*   /usr/lib/python2.5/idlelib/configDialog.pyR   z  s    c         C   s   |  i  i d t  d  S(   NR   (   R   R   Rx  (   R<   R   (    (    s*   /usr/lib/python2.5/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   RP  R   R   R   t   GetCoreKeysR   R   t   joinRh  t   SaveNewKeySetRn  t   sortR   t   SetMenuR   R   (
   R<   t   newKeySetNamet   prevKeySetNamet   prevKeysR  R   t	   eventNameR  R  t   customKeyList(    (    s*   /usr/lib/python2.5/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   curselectionRy  R\  R   t	   GetKeySetR   R  R  R   R   R  Rh  R   t   seeR~  R  (	   R<   t
   keySetNamet   reselectR  R  R`  t	   bindNamesR  t   key(    (    s*   /usr/lib/python2.5/idlelib/configDialog.pyRc    s*    
 c         C   sH  |  i  i   } t i d d d | d |  p d  Sn 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 ?R6   R   R  R   s   - no custom keys -i    RN  R@   RX  RV  (   R   RP  t   tkMessageBoxt   askyesnoR   t   userCfgt   remove_sectionRh  Rj  t   SaveRn  R  R   R   R   R   R  R   R   Ro  Rq  R   RG   R   (   R<   R  t   itemList(    (    s*   /usr/lib/python2.5/idlelib/configDialog.pyR     s&    

##
c         C   sK  |  i  i   } t i d d d | f d |  p d  Sn 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 ?R6   Rg  R  R   s   - no custom themes -i    RN  RU  RX  RV  (   R   RP  R  R  R   R  R  Rh  Rj  R  Rn  R  R   R   R   R   R  R   R   Ro  Rq  R   RG   R   (   R<   t	   themeNameR  (    (    s*   /usr/lib/python2.5/idlelib/configDialog.pyR     s&    

##
c         C   s   |  i  i   } |  i i d  } t i d |  d d | d |  \ } } | oz | | j om |  i i   oI d d } |  i |  } | p d  Sq |  i |  |  i	 i
 |  q |  i	 i
 |  n d  S(   Nt   bgR6   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   RP  R   t   cgett   tkColorChoosert   askcolorR   t   GetNewThemeNamet   CreateNewThemeR   R   (   R<   t   targett
   prevColourt	   rgbTuplett   colourStringR  t   newTheme(    (    s*   /usr/lib/python2.5/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  | | < |  i	 i   } | d | } |  i
 d | | |  d  S(   NR  t
   foregroundt
   backgroundi    t   -Rg  (   R   RP  R   R   R   R-   R   R   t
   tag_configR   RQ  (   R<   t	   newColourt   planet   sampleElementt   themet   themeElement(    (    s*   /usr/lib/python2.5/idlelib/configDialog.pyRT    s     
c         C   s>   t  i d d  t  i d d  } t |  d | |  i } | S(   NR  Rg  RX  s   New Custom Theme(   R   Rn  R   R|  (   R<   R  R  R  (    (    s*   /usr/lib/python2.5/idlelib/configDialog.pyR    s
    	c         C   s+   |  i  d  } | o |  i |  n d  S(   Ns   New Theme Name:(   R  R  (   R<   t   newThemeName(    (    s*   /usr/lib/python2.5/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(   NRX  R  Rg  i    (   R   RP  R   R   R   t   GetThemeDictRh  R   t   SaveNewThemeRn  R  R   R  R   R   (   R<   R  t	   themeTypeR  R  t   themeChangesR   t   customThemeList(    (    s*   /usr/lib/python2.5/idlelib/configDialog.pyR    s"     
c         C   s6   |  i  i t  } |  i i | i    |  i   d  S(   N(   R   RP  R\  Rv   R   t   lowerR   (   R<   R   Rj   (    (    s*   /usr/lib/python2.5/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(	   Rv   RP  Ru   Ry   t   BOLDRx  R{   R   Rs   (   R<   R   Rv   t
   fontWeight(    (    s*   /usr/lib/python2.5/idlelib/configDialog.pyR   1  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   RP  R   R   R   R   R   R   Rx  t   SetColourSample(   R<   (    (    s*   /usr/lib/python2.5/idlelib/configDialog.pyRY  :  s    c         G   s   |  i    d  S(   N(   R  (   R<   t   args(    (    s*   /usr/lib/python2.5/idlelib/configDialog.pyR   E  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   RP  R   R   t   tag_cgetR   R   (   R<   t   tagR  R   (    (    s*   /usr/lib/python2.5/idlelib/configDialog.pyR  H  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  Rg  s   -foregroundR  s   -background(   R   RP  R   R   R-   R   R   t   GetHighlightRh  Rj  R   R  R  (   R<   R  t   elementTitleR   t   colourst	   themeDict(    (    s*   /usr/lib/python2.5/idlelib/configDialog.pyRW  P  s$     	c         C   s   |  i    d  S(   N(   t   SetHelpListButtonStates(   R<   R   (    (    s*   /usr/lib/python2.5/idlelib/configDialog.pyR  e  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  Rx  (   R<   (    (    s*   /usr/lib/python2.5/idlelib/configDialog.pyR  h  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   R|  t   userHelpListt   appendR  R   R   t   UpdateUserHelpChangedItemsR  (   R<   t
   helpSource(    (    s*   /usr/lib/python2.5/idlelib/configDialog.pyR  t  s    c         C   s   |  i  i t  } |  i | } t |  d d | d d | d i } | p | | j o d  Sn | |  i | <|  i  i |  |  i  i | | d  |  i   |  i	   d  S(   Ns   Edit Help Sourcet   menuItemi    t   filePathi   (
   R  Ry  R\  R  R   R|  R  R   R  R  (   R<   t	   itemIndexR  t   newHelpSource(    (    s*   /usr/lib/python2.5/idlelib/configDialog.pyR  |  s    
c         C   sD   |  i  i t  } |  i | =|  i  i |  |  i   |  i   d  S(   N(   R  Ry  R\  R  R  R  R  (   R<   R  (    (    s*   /usr/lib/python2.5/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.changedItemsRN  t	   HelpFilesi   i   t   ;N(   Rh  t   ranget   lenR  RQ  Ri  R   R  (   R<   t   num(    (    s*   /usr/lib/python2.5/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(   NRN  RO  Rj   RX  R`   s	   font-sizeR   t   7t   8t   9R!   R#   t   13t   14t   16t   18t   20t   22s	   font-boldi    Rk  t   bool(   R  R  R  s   10s   11s   12R  R  R  R  R  R  (   R   Ry   t   familiesR  R   R   R   R   t	   GetOptionR  Rv   R   Ry  R  R~  R  R   R  Ru   R   (
   R<   t   fontsRj   t   configuredFontt   lc_configuredFontt   _[1]t   st   lc_fontst   currentFontIndexRs   (    (    s*   /usr/lib/python2.5/idlelib/configDialog.pyt   LoadFontCfg  s,    
 	'		
c         C   s5   t  i d d d d d d d } |  i i |  d  S(   NRN  RS  s
   num-spacesRX  i   Rk  t   int(   R   R  Rx   R   (   R<   Rx   (    (    s*   /usr/lib/python2.5/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(   NRN  RU  RX  Rk  R  i   Rg  R  R   s   - no custom themes -i    (   R   R   R   R  t   CurrentThemeRP  Rn  R  R   R  R   R   R   R   R   R   R-   R   t$   _ConfigDialog__ThemeNameIndexCompareR   RW  RY  (   R<   t   currentOptionR  t
   themeNames(    (    s*   /usr/lib/python2.5/idlelib/configDialog.pyt   LoadThemeCfg  s2    





c         C   s^   |  i  | d |  i  | d j  o d Sn0 |  i  | d |  i  | d j o d Sn d Sd  S(   Ni   ii    (   R-   (   R<   t   at   b(    (    s*   /usr/lib/python2.5/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(   NRN  R@   RX  Rk  R  i   R   R  R   s   - no custom keys -i    (   R   R   R   R  t   CurrentKeysRP  Rn  R  R   R  R   R   R   R   R   R   Rc  (   R<   R  R  R  (    (    s*   /usr/lib/python2.5/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(   NRN  RA   s   editor-on-startupRX  i   Rk  R  Rf  i    RO  R%   R$   Rd  Re  R  R  (   R  R   R   R  R  R  R  R  R  t   GetAllExtraHelpSourcesListR  R  R   R   R  (   R<   t   helpItem(    (    s*   /usr/lib/python2.5/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<   (    (    s*   /usr/lib/python2.5/idlelib/configDialog.pyR9     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   (    (    s*   /usr/lib/python2.5/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
        Rg  N(   R   R  R  R  R   R  (   R<   R  R  R   R   (    (    s*   /usr/lib/python2.5/idlelib/configDialog.pyR  ,  s     
c         C   ss   t  i | i | |  o? t  i | i | |  | j o t  i | i | |  SqY n t  i | i | | |  S(   N(   R   Ro  t
   has_optionRq  R  t   RemoveOptionR  (   R<   Rs  Rl  Rm  R   (    (    s*   /usr/lib/python2.5/idlelib/configDialog.pyt   SetUserValue8  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.RN  R  R   Rg  N(
   R   R  R  Rh  R   t   FalseR  t   TrueR  R.   (   R<   Rs  t   cfgTypeHasChangesRl  Rm  R   (    (    s*   /usr/lib/python2.5/idlelib/configDialog.pyt   SaveAllChangedConfigs@  s(      
  c         C   s1   |  i  i i   } x | D] } | i   q Wd  S(   N(   R6   t   instance_dictR   t   RemoveKeybindings(   R<   t   winInstancest   instance(    (    s*   /usr/lib/python2.5/idlelib/configDialog.pyt   DeactivateCurrentConfigU  s     c         C   sY   |  i  i i   } x@ | D]8 } | i   | i   | i   | i   | i   q Wd S(   s'   Dynamically apply configuration changesN(   R6   R  R   t   ResetColorizert	   ResetFontt   set_notabs_indentwidtht   ApplyKeybindingst   reset_help_menu_entries(   R<   R  R  (    (    s*   /usr/lib/python2.5/idlelib/configDialog.pyt   ActivateConfigChanges\  s     



c         C   s   |  i    d  S(   N(   t   destroy(   R<   (    (    s*   /usr/lib/python2.5/idlelib/configDialog.pyR5   f  s    c         C   s   |  i    |  i   d  S(   N(   RG   R  (   R<   (    (    s*   /usr/lib/python2.5/idlelib/configDialog.pyRF   i  s    
c         C   s"   |  i    |  i   |  i   d  S(   N(   R  R
  R  (   R<   (    (    s*   /usr/lib/python2.5/idlelib/configDialog.pyRG   m  s    

c         C   s   d  S(   N(    (   R<   (    (    s*   /usr/lib/python2.5/idlelib/configDialog.pyRC   r  s    N(L   t   __name__t
   __module__R(   R/   RT   RU   RV   RW   R:   R;  R<  R=  R>  R?  R@  RA  RB  RC  RD  RE  RF  RG  RH  RI  RJ  RK  RL  RM  R.   RQ  Rw  R   R   R   R}  R   R   R  Rc  R   R   R   RT  R  R   R  R   R   R   RY  R   R  RW  R  R  R  R  R  R  R  R  R  R  R  R   R9   R  R  R  R
  R  R  R5   RF   RG   RC   (    (    (    s*   /usr/lib/python2.5/idlelib/configDialog.pyR      s   	&		?	[	E	s																										$																											!										
			t   __main__RB   t   DialogRD   c           C   s   t  t d   S(   t   Settings(   R   t   root(    (    (    s*   /usr/lib/python2.5/idlelib/configDialog.pyR   y  s    (   t   __doc__t   TkinterR  R  Ry   R   t   copyt   configHandlerR   t   dynOptionMenuWidgetR   t   tabpageR   t   keybindingDialogR   t   configSectionNameDialogR   t   configHelpSourceEditR   R'   R   R  t   TkR  RO   RX   R  t   mainloop(    (    (    s*   /usr/lib/python2.5/idlelib/configDialog.pys   <module>   s(   
$    b		