��Qc@sdZddlTddlZddlZddlZddlZddlmZddlm Z ddl
mZddlm
Z
ddlmZdd lmZdd
lmZdefd��YZed
kre�Zeedddd��j�ie_ej�ndS(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(tidleConf(t
DynOptionMenu(t
TabbedPageSet(t
GetKeysDialog(tGetCfgSectionNameDialog(tGetHelpSourceDialog(t
macosxSupporttConfigDialogcBs�eZd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z
d �Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�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.dHd-�Z0d.�Z1d/�Z2d0�Z3d1�Z4d2�Z5d3�Z6d4�Z7d5�Z8d6�Z9d7�Z:d8�Z;d9�Z<d:�Z=d;�Z>d<�Z?d=�Z@d>�ZAd?�ZBd@�ZCdA�ZDdB�ZEdC�ZFdD�ZGdE�ZHdF�ZIdG�ZJRS(IcCs\tj||�|j�|jdd�|jd�|jd|j�d|j�df�i
d1d 6d2d6d3d6d4d6d5d6d6d6d7d6d8d6d9d!6d:d$6d;d'6d<d*6d=d-6|_|j �|j
�|jd.td/t�|j
|�|j�|jd0|j�||_|jj�|j�|j�|j�|j�dS(>NtborderwidthisIDLE Preferencess+%d+%diitnormalt00sNormal Texttkeywordt01sPython Keywordst
definitiont02sPython Definitionstbuiltint03sPython Builtinstcommentt04sPython Commentststringt05sPython Stringsthilitet06s
Selected Textthitt07s
Found Texttcursort08tCursorterrort09s
Error Texttconsolet10sShell Normal Texttstdoutt11sShell Stdout Texttstderrt12sShell Stderr TexttheighttwidthtWM_DELETE_WINDOW(R
R(RR
(RR(RR(RR(sstringR(RR(RR(scursorR(serrorR(RR (sstdoutR"(sstderrR$(tToplevelt__init__twm_withdrawt configurettitletgeometrytwinfo_rootxtwinfo_rootyt
themeElementstResetChangedItemst
CreateWidgetst resizabletFALSEt transienttgrab_settprotocoltCanceltparentttabPagest focus_settLoadConfigstAttachVarCallbackstwm_deiconifytwait_window(tselfR9R,((s*/sys/lib/python2.7/idlelib/configDialog.pyR)s>
c Cs�t|dddddg�|_t|dd�}tj�rHi}nidd 6d
d6}t|ddd
|jdt|�|_t|ddd
|j dt|�|_
t|ddd
|jdt|�|_t|ddd
|j
dt|�|_|j�|j�|j�|j�|jjdtd d�|j
jdtd d�|jjdtd d�|jjdtd d�|jdt�t|dddd�jdt�|jjdtdtdt�dS(Nt
page_namess
Fonts/TabstHighlightingtKeystGeneraltpadyiitpadxittexttHelptcommandt takefocustOktApplyR8tsideiR%R itexpandtfill(RR:tFrameRtrunningAsOSXApptButtonRHR4t
buttonHelpRKtbuttonOkRLtbuttonApplyR8tbuttonCanceltCreatePageFontTabtCreatePageHighlighttCreatePageKeystCreatePageGeneraltpacktRIGHTtLEFTtBOTTOMtTOPtTRUEtBOTH(R@tframeActionButtonstpaddingArgs((s*/sys/lib/python2.7/idlelib/configDialog.pyR2Es:
"c
Cs�t|�|_t|�|_t|�|_t|�|_tj|d+�|_ |j
jdj}t
|dddtdd �}t
|dddtdd
�}t|�}t|�}t|dtdd�}t|d
ddtdt�|_|jjd|j�t|�}|jd|jj�|jjd|j�t|dd�}t||jdd|j�|_t|d|jddddddd|j�} t|dt dd�}
t|
dddtd|j �|_!t|�}t|dtdd�}t"|d|jddd dd!dd"d#�|_#|j$d$td%dd&dd't%d(t&�|j$d$td%dd&dd(t'�|j$d$t(d%dd&dd(t)�|j$d$t(d%dd&dd(t)�|j$d$t(d)t*�|jj$d$td't%d(t)�|j$d$td(t'�|j$d$td)t*�|jj$d$td)t*�| j$d$td)t*d%d*�|
j$d$t(d%dd&dd't%d(t&�|j!j$d't%d(t&�|j$d$t(d(t)�|j$d$t(d)t*d%d�|j#j$d$t(d%dd(t)�|S(,Ntcourieri
R
s
Fonts/TabsR itreliefRGs Base Editor Font s Indentation Width tjustifysFont Face :R%iRJtexportselections<ButtonRelease-1>RItyscrollcommandsSize :tvariabletonvalueitoffvalueitBolds,AaBbCcDdEe
FfGgHhIiJjK
1234567890
#:+=(){}[]tfontsPython Standard: 4 Spaces!torientt
horizontalttickintervaltfrom_ttoiRMRFRERNROtanchori(Rdi
snormal(+t StringVartfontSizet
BooleanVartfontBoldtfontNametIntVartspaceNumttkFonttFontteditFontR:tpagestframet
LabelFrametGROOVERPtLabelR]tListboxR4tlistFontNametbindtOnListFontButtonReleaset ScrollbartconfigtyviewtsetRtNonet
SetFontSampletoptMenuFontSizetCheckbuttontSOLIDtlabelFontSampletScalet
scaleSpaceNumR[R`RatYR_tXtW(
R@Rt frameFonttframeIndentt
frameFontNametframeFontParamtlabelFontNameTitlet
scrollFonttlabelFontSizeTitlet
checkFontBoldtframeFontSampletframeIndentSizetlabelSpaceNumTitle((s*/sys/lib/python2.7/idlelib/configDialog.pyRWisf ("""(c Cst|�|_t|�|_t|�|_t|�|_t|�|_t|�|_t|�|_|j j
dj}t|dddt
dd�}t|dddt
dd�}t|dtddd dWd
ddddddtdddt� |_|j}|jdd��|jdd��dXdYdZd[d\d]d^d_d`dadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvf}x)|D]!}|jt|d|d�q�Wx;|jj�D]*}|j|j|dd?|d@��q�W|jdAt�t|dtdd�|_t|�}t|jddBdC|jdd�} t|j|jddd�|_!t"|dD|jdEdddFdC|j#�|_$t"|dD|jdEdddGdC|j#�|_%|jj&d�t|ddHdC|j'�}
t(|ddI�}t"|dD|jdEddC|j)ddJ�|_*t"|dD|jdEddC|j)ddK�|_+t||jddCd�|_,t||jddCd�|_-t|ddLdC|j.�|_/|j0dMt1dNdOdPdOdQt2dRt3�|j0dMt1dNdOdPdOdRt4�|jj0dMt5dNdOdPdOdQt2dRt6�|j0dMt5dNdOdPd�|jj0dMt5dNdOdPdOdQt2dRt3�| j0dMt5dQt2dRt6dNdSdPdT�|j!j0dMt5dQt2dRt6dNdSdPdU�|j$j0dMt1dVt7�|j%j0dMt8dVt9�|
j0dMt:dRt6dNdOdPdO�|j0dMt5dVt9dNdOdPdO�|j*j0dMt5dVt9dNdO�|j+j0dMt5dVt9dNdOdPd�|j,j0dMt5dRt6dNdOdPdO�|j-j0dMt5dRt6dVt9dNdOdPdO�|j/j0dMt5dRt6dNdOdPdO�|S(wNRBR iReRGs Custom Highlighting s Highlighting Theme iRmRditRthand2R&iR%iRJthighlightthicknessitwraps<Double-Button-1>cSsdS(Ntbreak((te((s*/sys/lib/python2.7/idlelib/configDialog.pyt<lambda>�ss<B1-Motion>cSsdS(NR�((R�((s*/sys/lib/python2.7/idlelib/configDialog.pyR��ss#you can click hereRs
R
s#to choose itemstdefRt tfuncRs(param):s
s"""string"""Rs
var0 = s'string's
var1 = s
'selected'Rs
var2 = s'found'Rs
var3 = tlistRt(R�s)
s error Rscursor |s
tshellRR!R#s<ButtonPress-1>cSs|jj�jj|�S(N(twidgettwinfo_toplevelthighlightTargetR�(teventtelem((s*/sys/lib/python2.7/idlelib/configDialog.pyR��ststatesChoose Colour for :RIRitvaluet
Foregroundt
BackgroundsSave as New Custom Themes Select : sa Built-in Themesa Custom ThemesDelete Custom ThemeRMRFiRERNROiiiRs(scourieriR�(s#you can click herescomment(s
snormal(s#to choose itemsscomment(s
snormal(R�skeyword(R�snormal(sfuncs
definition(s(param):snormal(s
snormal(s"""string"""sstring(s
var0 = snormal(s'string'sstring(s
var1 = snormal(s
'selected'shilite(s
var2 = snormal(s'found'shit(s
var3 = snormal(slistsbuiltin(R�snormal(sNonesbuiltin(s)
snormal(s error serror(R�snormal(scursor |R(s
snormal(sshellsconsole(R�snormal(sstdoutsstdout(R�snormal(sstderrsstderr(s
snormal(;RttbuiltinThemetcustomThemeRvtfgHilitetcolourRxtthemeIsBuiltinR�R:R~RR�R�tTextR�R4tNONEttextHighlightSampleR�tinserttENDR0tkeysttag_bindR�tDISABLEDRPtframeColourSetRRt GetColourRR�toptMenuHighlightTargettRadiobuttontSetColourSampleBindingtradioFgtradioBgR�tSaveAsNewThemeR�tSetThemeTypetradioThemeBuiltintradioThemeCustomtoptMenuThemeBuiltintoptMenuThemeCustomtDeleteCustomThemetbuttonDeleteCustomThemeR[R]R`RaR�R_R�tER\R�R^(R@RtframeCustomt
frameThemeRGttextAndTagsttxTatelementt frameFgBgtbuttonSetColourtbuttonSaveCustomThemetlabelTypeTitle((s*/sys/lib/python2.7/idlelib/configDialog.pyRX�s�
("+$(+""%%+%cCs�t|�|_t|�|_t|�|_t|�|_t|�|_|jjdj }t
|dddtdd�}t
|dddtdd�}t|�}t
|dd�}t|�}t|d t�}t|d
tdt�|_|jjd|j�|jd
|jj�|jd
|jj�|jjd|j�|jjd|j�t|ddd
|jdt�|_gtd�D]$}t|dddddd�^q�} t| dd|jddd
|jdd�|_ t| dd|jddd
|jdd�|_!t"| d|jdd
d�|_$t"| d|jdd
d�|_%t| dddd
|j&�|_'t| dddd
|j(�}
|j)dt*dddddt+dt,�|j)dt*dddddt,�|jj)dt*dt-dddd�|j)dt.dddddt+dt,�|j/dd d�|j0dd d�|j1d!dd"dd#dd$t2�|jj1d!dd"dd$t3�|j1d!dd"dd$t4�|j1d!dd"dd$t5�|j j1d!dd"dd$t2t4�|j!j1d!dd"dd$t2t4�|j$j1d!dd"dd$t3�|j%j1d!dd"dd$t3�|j'j)dt.dt-dt6dd�|
j)dt.dt-dt6dd�| dj)dt7dt,dt6�| dj)dt7dt-dt6dd�|S(%NRCR iReRGs Custom Key Bindings s Key Set sAction - Key(s)RnRJRgs<ButtonRelease-1>RIRhtxscrollcommandsGet New Keys for SelectionR�RFREiRiR�isUse a Built-in Key SetsUse a Custom Key SetsDelete Custom Key SetsSave as New Custom Key SetRMiRNROtweighttrowtcolumnt
columnspantsticky(8Rtt
bindingTargettbuiltinKeyst
customKeysRvtkeysAreBuiltint
keyBindingR:R~RR�R�RPR�R�t
HORIZONTALR�R4tlistBindingsR�tKeyBindingSelectedR�R�txviewR�RRt
GetNewKeysR�t
buttonNewKeystrangeR�tSetKeysTypetradioKeysBuiltintradioKeysCustomRR�toptMenuKeysBuiltintoptMenuKeysCustomtDeleteCustomKeystbuttonDeleteCustomKeystSaveAsNewKeySetR[R^R`RaR�R]tcolumnconfiguretrowconfiguretgridR�tNSEWtNStEWtTrueR_(R@RR�tframeKeySetstframeTargettlabelTargetTitlet
scrollTargetYt
scrollTargetXtitframestbuttonSaveCustomKeys((s*/sys/lib/python2.7/idlelib/configDialog.pyRYsp 4
("%("##%" &cCs�t|�|_t|�|_t|�|_t|�|_t|�|_t|�|_t|�|_ t|�|_
|jjdj
}t|dddtdd�}t|dddtdd�}t|dddt�}t|dddt�}t|dddt�}t|dddtdd�}t|dd �}t|d
|jddd
|jdd�} t|d
|jddd
|jdd�}
t|dd�}t|d
|jddd
|jdd�}t|d
|jddd
|jdd�}
t|ddd�}t|dd�}t|d|jdd�}t|dd�}t|d|jdd�}t|ddd�}t|d|jdd�}t|dd�}t|d
|jdddd�}t|d
|jdd dd!�}t|d
|jdd"dd#�}t|�}t|�}t|�}t|d$d%d&td't�|_|jd
|jj�|jjd(|j�|jjd)|j�t|dd*d+tdd,d
|j �|_!t|dd-dd,d
|j"�|_#t|dd.d+tdd,d
|j$�|_%|j&d/t'd0d%d1d%d2t(�|j&d/t'd0d%d1d%d2t(�|j&d/t'd0d%d1d%d2t(�|j&d/t'd0d%d1d%d2t(�|j&d/t'd0d%d1d%d2t(�|j&d/t'd0d%d1d%d3t)d2t*�|j&d/t+d4t,d0d%d1d%�|
j&d/t-d4t,d0d%d1d%�| j&d/t-d4t,d0d%d1d%�|j&d/t+d4t,d0d%d1d%�|
j&d/t-d4t,d0d%d1d%�|j&d/t-d4t,d0d%d1d%�|j&d/t+d4t,d0d%d1d%�|j&d/t-d4t.d0d5d1d%�|j&d/t-d4t.d1d%�|j&d/t-d4t.d0d5d1d%�|j&d/t-d4t.d1d%�|j&d/t+d4t,d0d%d1d%�|j&d/t-d4t.d0d5d1d%�|j&d/t+d4t,d0d%d1d%�|j&d/t-d4t.d1d%�|j&d/t-d4t.d1d%�|j&d/t-d4t.d1d%�|j&d/t-d0d%d1d%d2t/�|j&d/t'd0d%d1d%d3t)d2t*�|j&d/t-d4t,d2t/�|jj&d/t+d4t.d3t)d2t*�|j!j&d/t'd4t,d1d%�|j#j&d/t'd4t,�|j%j&d/t'd4t,d1d%�|S(6NRDR iReRGs Startup Preferences s Autosave Preferences s Additional Help Sources s
At StartupRiR�iRIsOpen Edit WindowisOpen Shell WindowsAt Start of Run (F5) sPrompt to Saves No PromptsInitial Window Sizes (in characters)tWidthttextvariableR&itHeightsParagraph reformats width (in characters)sDefault Source EncodingtlocalesLocale-definedsutf-8sUTF-8tnoneR�R%iRJRgRhs<ButtonRelease-1>tEditR�itAddtRemoveRMRFRERORNRsi
(0RttwinWidtht winHeightt paraWidthRytstartupEdittautoSavetencodingRvtuserHelpBrowserthelpBrowserR:R~RR�R�RPR�R�R�tEntryR�R�R4tlistHelpR�R�R�R�tHelpSourceSelectedRRR�tHelpListItemEdittbuttonHelpListEdittHelpListItemAddtbuttonHelpListAddtHelpListItemRemovetbuttonHelpListRemoveR[R_R�R`RaR]R�R\R�R�(R@RtframeRunt frameSavetframeWinSizet
frameParaSizet
frameEncodingt frameHelptlabelRunChoiceTitletradioStartupEdittradioStartupShelltlabelRunSaveTitletradioSaveAskt
radioSaveAutotlabelWinSizeTitletlabelWinWidthTitlet
entryWinWidthtlabelWinHeightTitletentryWinHeighttlabelParaWidthTitletentryParaWidthtlabelEncodingTitletradioEncLocaletradioEncUTF8tradioEncNonet
frameHelpListtframeHelpListButtonstscrollHelpList((s*/sys/lib/python2.7/idlelib/configDialog.pyRZFs�
"""""("""""""""""""(%cCs�|jjd|j�|jjd|j�|jjd|j�|jjd|j�|j jd|j
�|jjd|j�|j
jd|j�|jjd|j�|jjd|j�|jjd|j�|jjd|j�|jjd|j�|jjd|j�|jjd|j�|jjd|j�|jjd|j �|j!jd|j"�|j#jd|j$�|j%jd|j&�dS(Ntw('Ruttrace_variabletVarChanged_fontSizeRxtVarChanged_fontNameRwtVarChanged_fontBoldRztVarChanged_spaceNumR�tVarChanged_colourR�tVarChanged_builtinThemeR�tVarChanged_customThemeR�tVarChanged_themeIsBuiltinR�tVarChanged_highlightTargetR�tVarChanged_keyBindingR�tVarChanged_builtinKeysR�tVarChanged_customKeysR�tVarChanged_keysAreBuiltinRtVarChanged_winWidthRtVarChanged_winHeightRtVarChanged_paraWidthRtVarChanged_startupEditRtVarChanged_autoSaveRtVarChanged_encoding(R@((s*/sys/lib/python2.7/idlelib/configDialog.pyR=�s&cGs)|jj�}|jddd|�dS(NtmaintEditorWindows font-size(RutgettAddChangedItem(R@tparamsR�((s*/sys/lib/python2.7/idlelib/configDialog.pyR;�scGs)|jj�}|jddd|�dS(NRNRORm(RxRPRQ(R@RRR�((s*/sys/lib/python2.7/idlelib/configDialog.pyR<�scGs)|jj�}|jddd|�dS(NRNROs font-bold(RwRPRQ(R@RRR�((s*/sys/lib/python2.7/idlelib/configDialog.pyR=�scGs)|jj�}|jddd|�dS(NRNtIndents
num-spaces(RzRPRQ(R@RRR�((s*/sys/lib/python2.7/idlelib/configDialog.pyR>�scGs|j�dS(N(tOnNewColourSet(R@RR((s*/sys/lib/python2.7/idlelib/configDialog.pyR?�scGs3|jj�}|jddd|�|j�dS(NRNtThemetname(R�RPRQtPaintThemeSample(R@RRR�((s*/sys/lib/python2.7/idlelib/configDialog.pyR@�scGsB|jj�}|dkr>|jddd|�|j�ndS(Ns- no custom themes -RNRURV(R�RPRQRW(R@RRR�((s*/sys/lib/python2.7/idlelib/configDialog.pyRA�scGsF|jj�}|jddd|�|r8|j�n
|j�dS(NRNRUtdefault(R�RPRQR@RA(R@RRR�((s*/sys/lib/python2.7/idlelib/configDialog.pyRB�s
cGs|j�dS(N(tSetHighlightTarget(R@RR((s*/sys/lib/python2.7/idlelib/configDialog.pyRC�scGs�|jj�}|jj�}|jjt�j�d}tj|�rb|jd|||�n/tj |�}|d}|jd|||�dS(NiR�t_cfgBindingst
extensions(
R�RPR�R�tANCHORtsplitRt
IsCoreBindingRQtGetExtnNameForEvent(R@RRR�tkeySetR�textNametextKeybindSection((s*/sys/lib/python2.7/idlelib/configDialog.pyRD�s
cGs6|jj�}|jddd|�|j|�dS(NRNRCRV(R�RPRQtLoadKeysList(R@RRR�((s*/sys/lib/python2.7/idlelib/configDialog.pyREscGsE|jj�}|dkrA|jddd|�|j|�ndS(Ns- no custom keys -RNRCRV(R�RPRQRc(R@RRR�((s*/sys/lib/python2.7/idlelib/configDialog.pyRFscGsF|jj�}|jddd|�|r8|j�n
|j�dS(NRNRCRX(R�RPRQRERF(R@RRR�((s*/sys/lib/python2.7/idlelib/configDialog.pyRGs
cGs)|jj�}|jddd|�dS(NRNROR&(RRPRQ(R@RRR�((s*/sys/lib/python2.7/idlelib/configDialog.pyRHscGs)|jj�}|jddd|�dS(NRNROR%(RRPRQ(R@RRR�((s*/sys/lib/python2.7/idlelib/configDialog.pyRIscGs)|jj�}|jddd|�dS(NRNtFormatParagrapht paragraph(RRPRQ(R@RRR�((s*/sys/lib/python2.7/idlelib/configDialog.pyRJscGs)|jj�}|jddd|�dS(NRNRDseditor-on-startup(RRPRQ(R@RRR�((s*/sys/lib/python2.7/idlelib/configDialog.pyRKscGs)|jj�}|jddd|�dS(NRNRDtautosave(RRPRQ(R@RRR�((s*/sys/lib/python2.7/idlelib/configDialog.pyRL#scGs)|jj�}|jddd|�dS(NRNROR(RRPRQ(R@RRR�((s*/sys/lib/python2.7/idlelib/configDialog.pyRM'scCs)iid6id6id6id6|_dS(NRNt highlightR�R[(tchangedItems(R@((s*/sys/lib/python2.7/idlelib/configDialog.pyR1+scCsLt|�}||j|kr3i|j||<n||j|||<dS(N(tstrRh(R@ttypetsectiontitemR�((s*/sys/lib/python2.7/idlelib/configDialog.pyRQ3scCs�iid6id6id6id6}x�|j�D]�}tjd|�}xh|D]`}i|||<tj|j|�}x3|D]+}tj|j||�||||<qWqNWq/W|S(NRNRgR�R[RX(R�RtGetSectionListt
defaultCfgt
GetOptionListtGet(R@tdItemst
configTypetsectionsRktoptionstoption((s*/sys/lib/python2.7/idlelib/configDialog.pytGetDefaultItems9s"
1cCs�|jj�rK|jjdt�|jjdt�|jjdt�nL|jjdt�|jjdt�|jjdt�|jjdt�dS(NR�( R�RPR�R�tNORMALR�R�R�R�(R@((s*/sys/lib/python2.7/idlelib/configDialog.pyR�EscCs�|jj�rK|jjdt�|jjdt�|jjdt�nL|jjdt�|jjdt�|jjdt�|jjdt�dS(NR�( R�RPR�R�RwR�R�R�R�(R@((s*/sys/lib/python2.7/idlelib/configDialog.pyR�PscCs�|jjt�}|jj|�}|j�d}|jj�rU|jj�}n|jj�}tj �}||j
dj�kr�|j
d|}x+|j�D]}||j�||<q�Wn|j�}t
|d||�j} | r�|jj�rTdd}
|j|
�}|sD|jj|�|jj|�dS|j|�n|jj|�|jj||d| �|jj|�|jj|�|jj| �n |jj|�|jj|�dS(NiR�sGet New Keyss4Your changes will be saved as a new Custom Key Set. s/Enter a name for your new Custom Key Set below.s - (R�tindexR\RPR]R�R�R�RtGetCurrentKeySetRhR�tvaluesRtresulttGetNewKeysNamet
select_sett
select_anchortCreateNewKeySettdeleteR�R�R�(R@t listIndextbindingtbindNametcurrentKeySetNametcurrentBindingst
keySetChangesR�tcurrentKeySequencestnewKeystmessaget newKeySet((s*/sys/lib/python2.7/idlelib/configDialog.pyR�[s>cCs>tjdd�tjdd�}t|d||�j}|S(NtuserR�RXsNew Custom Key Set(RRmRR{(R@R�t usedNamesR�((s*/sys/lib/python2.7/idlelib/configDialog.pyR|s
cCs)|jd�}|r%|j|�ndS(NsNew Key Set Name:(R|R(R@tnewKeysName((s*/sys/lib/python2.7/idlelib/configDialog.pyR��scCs|jjdt�dS(NR�(R�R�Rw(R@R�((s*/sys/lib/python2.7/idlelib/configDialog.pyR��sc
Cs5|jj�r!|jj�}n|jj�}tj|�}i}x>|j�D]0}|dd!}tj||�}|||<qRW||j dj�kr�|j d|}x%|j�D]}||||<q�Wn|j
||�tjdd�} | j�|j
j| |�|jjd�|j�dS(Nii�R�R�i(R�RPR�R�RtGetCoreKeysR�RtjoinRht
SaveNewKeySetRmtsortR�tSetMenuR�R�(
R@t
newKeySetNametprevKeySetNametprevKeysR�R�t eventNameR�R�t
customKeyList((s*/sys/lib/python2.7/idlelib/configDialog.pyR�s&
c CsHd}d}|jj�r6d}|jjt�}ntj|�}|j�}|j�|jjdt �x�|D]�}t
j||�}|dd!}||jdj�kr�|jd|j�kr�jd||}q�|jj
t |d|�quW|rD|jj|�|jj|�|jj|�ndS(Niiii�R�s - (R�tcurselectionRxR\Rt GetKeySetR�R�R�R�RR�RhR�tseeR}R~( R@t
keySetNametreselectR�R�R`t bindNamesR�tkey((s*/sys/lib/python2.7/idlelib/configDialog.pyRc�s(
cCs<|jj�}tjddd|d|�s3dStjdj|�||jdkrk|jd|=ntjdj�tj dd�}|j
�|s�|jjdt
�|jj|d�n|jj||d �|jjtjd
jdd��|jjtjd
jdd
��|j�|j�dS(NsDelete Key SetsAre you sure you wish sto delete the key set %r ?R9R�R�R�s- no custom keys -iRNRCRXRV(R�RPttkMessageBoxtaskyesnoRtuserCfgtremove_sectionRhtSaveRmR�R�R�R�R�R�R�R�RnRpR�RLR�(R@R�titemList((s*/sys/lib/python2.7/idlelib/configDialog.pyR��s&
##
cCs?|jj�}tjddd|fd|�s6dStjdj|�||jdkrn|jd|=ntjdj�tj dd�}|j
�|s�|jjdt
�|jj|d�n|jj||d �|jjtjd
jdd��|jjtjd
jdd
��|j�|j�dS(NsDelete ThemesAre you sure you wish sto delete the theme %r ?R9RgR�R�s- no custom themes -iRNRURXRV(R�RPR�R�RR�R�RhR�RmR�R�R�R�R�R�R�R�RnRpR�RLR�(R@t themeNameR�((s*/sys/lib/python2.7/idlelib/configDialog.pyR��s&
##
cCs�|jj�}|jjd�}tjd|dd|d|�\}}|r�||kr�|jj�r�dd}|j|�}|s�dS|j|�|j j
|�q�|j j
|�ndS(NtbgR9R,sPick new colour for : tinitialcolors2Your changes will be saved as a new Custom Theme. s-Enter a name for your new Custom Theme below.(R�RPR�tcgetttkColorChoosertaskcolorR�tGetNewThemeNametCreateNewThemeR�R�(R@ttargett
prevColourt rgbTuplettcolourStringR�tnewTheme((s*/sys/lib/python2.7/idlelib/configDialog.pyR��s
cCs�|jj�}|jjd|�|jj�r:d}nd}|j|jj�d}|jj|i||6�|j j�}|d|}|j
d|||�dS(NR�t
foregroundt
backgroundit-Rg(R�RPR�R�R�R0R�R�t
tag_configR�RQ(R@t newColourtplanet
sampleElementtthemetthemeElement((s*/sys/lib/python2.7/idlelib/configDialog.pyRT s cCs>tjdd�tjdd�}t|d||�j}|S(NR�RgRXsNew Custom Theme(RRmRR{(R@R�R�R�((s*/sys/lib/python2.7/idlelib/configDialog.pyR�s
cCs)|jd�}|r%|j|�ndS(NsNew Theme Name:(R�R�(R@tnewThemeName((s*/sys/lib/python2.7/idlelib/configDialog.pyR�scCs�|jj�r'd}|jj�}nd}|jj�}tj||�}||jdj�kr�|jd|}x%|j�D]}||||<q�Wn|j||�tj dd�}|j
�|jj||�|jj
d�|j�dS(NRXR�Rgi(R�RPR�R�RtGetThemeDictRhR�tSaveNewThemeRmR�R�R�R�R�(R@R�t themeTypeR�R�tthemeChangesR�tcustomThemeList((s*/sys/lib/python2.7/idlelib/configDialog.pyR� s
cCs6|jjt�}|jj|j��|j�dS(N(R�RPR\RxR�tlowerR�(R@R�Rm((s*/sys/lib/python2.7/idlelib/configDialog.pyR�8scCsu|jj�}|jj�r*tj}n tj}||jj�|f}|jjd|�|j j
d|�dS(NRm(RxRPRwR{tBOLDRwRuR�R�R�R+(R@R�Rxt
fontWeighttnewFont((s*/sys/lib/python2.7/idlelib/configDialog.pyR�=s cCs�|jj�dkrN|jjdt�|jjdt�|jjd�n6|jjdt�|jjdt�|jjd�|j �dS(NRR�i(
R�RPR�R�R�R�R�R�RwtSetColourSample(R@((s*/sys/lib/python2.7/idlelib/configDialog.pyRYGscGs|j�dS(N(R�(R@targs((s*/sys/lib/python2.7/idlelib/configDialog.pyR�RscCsd|j|jj�d}|jj�r2d}nd}|jj||�}|jjd|�dS(NiR�R�R�(R0R�RPR�R�ttag_cgetR�R�(R@ttagR�R�((s*/sys/lib/python2.7/idlelib/configDialog.pyR�Us cCs0|jj�r!|jj�}n|jj�}x�jj�D]�}|j|d}tj||�}|dkr�tj|ddd�|d<n||jdj�kr|jd|}|d|kr�|d|d <n|d
|kr||d
|d<qn|j j
||�q@W|j�dS(NiRR
tfgBgR�R�Rgs-foregroundR�s-background(R�RPR�R�R0R�RtGetHighlightRhR�R�R�(R@R�telementTitleR�tcolourst themeDict((s*/sys/lib/python2.7/idlelib/configDialog.pyRW]s" cCs|j�dS(N(tSetHelpListButtonStates(R@R�((s*/sys/lib/python2.7/idlelib/configDialog.pyRrscCs�|jj�dkr>|jjdt�|jjdt�n^|jj�rv|jjdt�|jjdt�n&|jjdt�|jjdt�dS(NiR�(RtsizeRR�R�RR�Rw(R@((s*/sys/lib/python2.7/idlelib/configDialog.pyR�uscCsht|d�j}|rZ|jj|d|df�|jjt|d�|j�n|j�dS(NsNew Help Sourceii( RR{tuserHelpListtappendRR�R�tUpdateUserHelpChangedItemsR�(R@t
helpSource((s*/sys/lib/python2.7/idlelib/configDialog.pyR�s
cCs�|jjt�}|j|}t|dd|dd|d�j}|sX||kr\dS||j|<|jj|�|jj||d�|j�|j �dS(NsEdit Help SourcetmenuItemitfilePathi(
RRxR\R�RR{R�R�R�R�(R@t itemIndexR�t
newHelpSource((s*/sys/lib/python2.7/idlelib/configDialog.pyR�s
cCsD|jjt�}|j|=|jj|�|j�|j�dS(N(RRxR\R�R�R�R�(R@R�((s*/sys/lib/python2.7/idlelib/configDialog.pyR�s
c Cssi|jdd<x[tdt|j�d�D]=}|jddt|�tj|j|dd d��q.WdS(s<Clear and rebuild the HelpFiles section in self.changedItemsRNt HelpFilesiit;N(RhR�tlenR�RQRiRR�(R@tnum((s*/sys/lib/python2.7/idlelib/configDialog.pyR��s#c
CsTttj|��}|j�x!|D]}|jjt|�q&Wtjddddd�}|j �}|j
j|�g|D]}|j �^q�}||kr�j|�}|jj
|�|jj|�|jj|�ntjddddddd �}|jjd|�|jjtjddddddd��|j�dS(NRNRORmRXRds font-sizeRjtintR t7t8t9R"R$t13t14t16t18t20t22s font-bolditbool(R�R�R�s10s11s12R�R�R�R�R�R�(R�R{tfamiliesR�R�R�R�Rt GetOptionR�RxR�RxR�R}R~R�R�RwR�( R@tfontsRmtconfiguredFonttlc_configuredFonttstlc_fontstcurrentFontIndexRu((s*/sys/lib/python2.7/idlelib/configDialog.pytLoadFontCfg�s*
cCs5tjddddddd�}|jj|�dS(NRNRSs
num-spacesRXiRjR�(RR�RzR�(R@Rz((s*/sys/lib/python2.7/idlelib/configDialog.pyt
LoadTabCfg�sc s��jjtjddddddd��tj�}�jj�r�tjdd�}|j��jj ||�tjdd�}|j�|s��j
jd t��j
jd
�q9�jj ||d�nbtjdd�}|j��jj ||�tjdd�}|j��jj ||d��j��jj�}|jd�fd
���jj ||d��j��j�dS(NRNRURXRjR�iRgR�R�s- no custom themes -iR�cs�j|dS(Ni(R0(tx(R@(s*/sys/lib/python2.7/idlelib/configDialog.pyR��s(R�R�RR�tCurrentThemeRPRmR�R�R�R�R�R�R�R�R�R0R�R�RWRY(R@t
currentOptionR�t
themeNames((R@s*/sys/lib/python2.7/idlelib/configDialog.pytLoadThemeCfg�s2
c Cs`|jjtjddddddd��tj�}|jj�r�tjdd�}|j�|jj ||�tjdd�}|j�|s�|j
jd t�|j
jd
�q9|jj ||d�nbtjdd�}|j�|jj ||�tjdd�}|j�|jj ||d�|j�tj�}|j|�dS(NRNRCRXRjR�iR�R�R�s- no custom keys -i(R�R�RR�tCurrentKeysRPRmR�R�R�R�R�R�R�R�R�Rc(R@R�R�R�((s*/sys/lib/python2.7/idlelib/configDialog.pyt
LoadKeyCfg�s,
c Cs2|jjtjddddddd��|jjtjddddd dd��|jjtjdd
ddd��|jjtjdd
d
dd��|jjtjddddd��|jjtjdd
ddd��tj �|_
x(|j
D]}|jjt
|d �qW|j�dS(NRNRDseditor-on-startupRXiRjR�RfiROR&R�R%RdReRR
(RR�RR�RRRRRtGetAllExtraHelpSourcesListR�RR�R�R�(R@thelpItem((s*/sys/lib/python2.7/idlelib/configDialog.pytLoadGeneralCfgs
cCs6|j�|j�|j�|j�|j�dS(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*/sys/lib/python2.7/idlelib/configDialog.pyR<s
cCsltjdj|�s-tjdj|�nx8|j�D]*}||}tjdj|||�q:WdS(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(RR�thas_sectiontadd_sectionR�t SetOption(R@R�R`R�R�((s*/sys/lib/python2.7/idlelib/configDialog.pyR�+s
cCsltjdj|�s-tjdj|�nx8|j�D]*}||}tjdj|||�q:WdS(s�
save a newly created theme.
themeName - string, the name of the new theme
theme - dictionary containing the new theme
RgN(RR�R�R�R�R�(R@R�R�R�R�((s*/sys/lib/python2.7/idlelib/configDialog.pyR�7s
cCsltj|j||�rRtj|j||�|krRtj|j||�Sntj|j|||�S(N(RRnt
has_optionRpR�tRemoveOptionR�(R@RrRkRlR�((s*/sys/lib/python2.7/idlelib/configDialog.pytSetUserValueCscCs tjdj�x�|jj�D]�}t}x�|j|j�D]�}|dkrptjdjd�t}nxU|j||j�D]<}|j|||}|j||||�r�t}q�q�WqAW|r!tj|j�q!q!Wx%ddgD]}tj|j�q�j �dS(s3Save configuration changes to the user config file.RNR�R�RgN(
RR�R�RhR�tFalseR�R�RR1(R@RrtcfgTypeHasChangesRkRlR�((s*/sys/lib/python2.7/idlelib/configDialog.pytSaveAllChangedConfigsKs cCs1|jjj�}x|D]}|j�qWdS(N(R9t
instance_dictR�tRemoveKeybindings(R@twinInstancestinstance((s*/sys/lib/python2.7/idlelib/configDialog.pytDeactivateCurrentConfig`s
cCsY|jjj�}x@|D]8}|j�|j�|j�|j�|j�qWdS(s'Dynamically apply configuration changesN(R9RR�tResetColorizert ResetFonttset_notabs_indentwidthtApplyKeybindingstreset_help_menu_entries(R@RR((s*/sys/lib/python2.7/idlelib/configDialog.pytActivateConfigChangesgs
cCs|j�dS(N(tdestroy(R@((s*/sys/lib/python2.7/idlelib/configDialog.pyR8qscCs|j�|j�dS(N(RLR(R@((s*/sys/lib/python2.7/idlelib/configDialog.pyRKts
cCs"|j�|j�|j�dS(N(RRR(R@((s*/sys/lib/python2.7/idlelib/configDialog.pyRLxs
cCsdS(N((R@((s*/sys/lib/python2.7/idlelib/configDialog.pyRH}sN(Kt__name__t
__module__R)R2RWRXRYRZR=R;R<R=R>R?R@RARBRCRDRERFRGRHRIRJRKRLRMR1RQRvR�R�R�R|R�R�RRcR�R�R�RTR�R�R�R�R�R�RYR�R�RWRR�RRRR�R�R�R�R�R�R<R�R�RRRRR8RKRLRH(((s*/sys/lib/python2.7/idlelib/configDialog.pyRs� + $ ? Y E p $
!
t__main__RGtDialogRIcCs
ttd�S(NtSettings(Rtroot(((s*/sys/lib/python2.7/idlelib/configDialog.pyR��s(t__doc__tTkinterR�R�R{Rtidlelib.configHandlerRtidlelib.dynOptionMenuWidgetRtidlelib.tabbedpagesRtidlelib.keybindingDialogRtidlelib.configSectionNameDialogRtidlelib.configHelpSourceEditRtidlelibRR(RRtTkRRRR[Rtmainloop(((s*/sys/lib/python2.7/idlelib/configDialog.pyt<module>s*
$��l
|