Spade
Mini Shell
�
s�fc@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,/usr/lib64/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,/usr/lib64/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,/usr/lib64/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,/usr/lib64/python2.7/idlelib/configDialog.pyt<lambda>�ss<B1-Motion>cSsdS(NR�((R�((s,/usr/lib64/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,/usr/lib64/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,/usr/lib64/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,/usr/lib64/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,/usr/lib64/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,/usr/lib64/python2.7/idlelib/configDialog.pyR=�s&cGs)|jj�}|jddd|�dS(NtmaintEditorWindows font-size(RutgettAddChangedItem(R@tparamsR�((s,/usr/lib64/python2.7/idlelib/configDialog.pyR;�scGs)|jj�}|jddd|�dS(NRNRORm(RxRPRQ(R@RRR�((s,/usr/lib64/python2.7/idlelib/configDialog.pyR<�scGs)|jj�}|jddd|�dS(NRNROs font-bold(RwRPRQ(R@RRR�((s,/usr/lib64/python2.7/idlelib/configDialog.pyR=�scGs)|jj�}|jddd|�dS(NRNtIndents
num-spaces(RzRPRQ(R@RRR�((s,/usr/lib64/python2.7/idlelib/configDialog.pyR>�scGs|j�dS(N(tOnNewColourSet(R@RR((s,/usr/lib64/python2.7/idlelib/configDialog.pyR?�scGs3|jj�}|jddd|�|j�dS(NRNtThemetname(R�RPRQtPaintThemeSample(R@RRR�((s,/usr/lib64/python2.7/idlelib/configDialog.pyR@�scGsB|jj�}|dkr>|jddd|�|j�ndS(Ns-
no custom themes
-RNRURV(R�RPRQRW(R@RRR�((s,/usr/lib64/python2.7/idlelib/configDialog.pyRA�scGsF|jj�}|jddd|�|r8|j�n
|j�dS(NRNRUtdefault(R�RPRQR@RA(R@RRR�((s,/usr/lib64/python2.7/idlelib/configDialog.pyRB�s
cGs|j�dS(N(tSetHighlightTarget(R@RR((s,/usr/lib64/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,/usr/lib64/python2.7/idlelib/configDialog.pyRD�s
cGs6|jj�}|jddd|�|j|�dS(NRNRCRV(R�RPRQtLoadKeysList(R@RRR�((s,/usr/lib64/python2.7/idlelib/configDialog.pyREscGsE|jj�}|dkrA|jddd|�|j|�ndS(Ns-
no custom keys
-RNRCRV(R�RPRQRc(R@RRR�((s,/usr/lib64/python2.7/idlelib/configDialog.pyRFscGsF|jj�}|jddd|�|r8|j�n
|j�dS(NRNRCRX(R�RPRQRERF(R@RRR�((s,/usr/lib64/python2.7/idlelib/configDialog.pyRGs
cGs)|jj�}|jddd|�dS(NRNROR&(RRPRQ(R@RRR�((s,/usr/lib64/python2.7/idlelib/configDialog.pyRHscGs)|jj�}|jddd|�dS(NRNROR%(RRPRQ(R@RRR�((s,/usr/lib64/python2.7/idlelib/configDialog.pyRIscGs)|jj�}|jddd|�dS(NRNtFormatParagrapht paragraph(RRPRQ(R@RRR�((s,/usr/lib64/python2.7/idlelib/configDialog.pyRJscGs)|jj�}|jddd|�dS(NRNRDseditor-on-startup(RRPRQ(R@RRR�((s,/usr/lib64/python2.7/idlelib/configDialog.pyRKscGs)|jj�}|jddd|�dS(NRNRDtautosave(RRPRQ(R@RRR�((s,/usr/lib64/python2.7/idlelib/configDialog.pyRL#scGs)|jj�}|jddd|�dS(NRNROR(RRPRQ(R@RRR�((s,/usr/lib64/python2.7/idlelib/configDialog.pyRM'scCs)iid6id6id6id6|_dS(NRNt highlightR�R[(tchangedItems(R@((s,/usr/lib64/python2.7/idlelib/configDialog.pyR1+scCsLt|�}||j|kr3i|j||<n||j|||<dS(N(tstrRh(R@ttypetsectiontitemR�((s,/usr/lib64/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,/usr/lib64/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,/usr/lib64/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,/usr/lib64/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,/usr/lib64/python2.7/idlelib/configDialog.pyR�[s>cCs>tjdd�tjdd�}t|d||�j}|S(NtuserR�RXsNew
Custom Key
Set(RRmRR{(R@R�t usedNamesR�((s,/usr/lib64/python2.7/idlelib/configDialog.pyR|s
cCs)|jd�}|r%|j|�ndS(NsNew Key Set
Name:(R|R(R@tnewKeysName((s,/usr/lib64/python2.7/idlelib/configDialog.pyR��scCs|jjdt�dS(NR�(R�R�Rw(R@R�((s,/usr/lib64/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,/usr/lib64/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�n|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,/usr/lib64/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,/usr/lib64/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,/usr/lib64/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,/usr/lib64/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,/usr/lib64/python2.7/idlelib/configDialog.pyRT s cCs>tjdd�tjdd�}t|d||�j}|S(NR�RgRXsNew
Custom
Theme(RRmRR{(R@R�R�R�((s,/usr/lib64/python2.7/idlelib/configDialog.pyR�s
cCs)|jd�}|r%|j|�ndS(NsNew Theme
Name:(R�R�(R@tnewThemeName((s,/usr/lib64/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,/usr/lib64/python2.7/idlelib/configDialog.pyR�
s
cCs6|jjt�}|jj|j��|j�dS(N(R�RPR\RxR�tlowerR�(R@R�Rm((s,/usr/lib64/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,/usr/lib64/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,/usr/lib64/python2.7/idlelib/configDialog.pyRYGscGs|j�dS(N(R�(R@targs((s,/usr/lib64/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,/usr/lib64/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,/usr/lib64/python2.7/idlelib/configDialog.pyRW]s" cCs|j�dS(N(tSetHelpListButtonStates(R@R�((s,/usr/lib64/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,/usr/lib64/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,/usr/lib64/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,/usr/lib64/python2.7/idlelib/configDialog.pyR�s
cCsD|jjt�}|j|=|jj|�|j�|j�dS(N(RRxR\R�R�R�R�(R@R�((s,/usr/lib64/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,/usr/lib64/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,/usr/lib64/python2.7/idlelib/configDialog.pytLoadFontCfg�s*
cCs5tjddddddd�}|jj|�dS(NRNRSs
num-spacesRXiRjR�(RR�RzR�(R@Rz((s,/usr/lib64/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,/usr/lib64/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,/usr/lib64/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,/usr/lib64/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,/usr/lib64/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,/usr/lib64/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,/usr/lib64/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,/usr/lib64/python2.7/idlelib/configDialog.pyR�7s
cCsltj|j||�rRtj|j||�|krRtj|j||�Sntj|j|||�S(N(RRnt
has_optionRpR�tRemoveOptionR�(R@RrRkRlR�((s,/usr/lib64/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�W|j �dS(s3Save
configuration changes to the user config file.RNR�R�RgN(
RR�R�RhR�tFalseR�R�RR1(R@RrtcfgTypeHasChangesRkRlR�((s,/usr/lib64/python2.7/idlelib/configDialog.pytSaveAllChangedConfigsKs
cCs1|jjj�}x|D]}|j�qWdS(N(R9t
instance_dictR�tRemoveKeybindings(R@twinInstancestinstance((s,/usr/lib64/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,/usr/lib64/python2.7/idlelib/configDialog.pytActivateConfigChangesgs
cCs|j�dS(N(tdestroy(R@((s,/usr/lib64/python2.7/idlelib/configDialog.pyR8qscCs|j�|j�dS(N(RLR(R@((s,/usr/lib64/python2.7/idlelib/configDialog.pyRKts
cCs"|j�|j�|j�dS(N(RRR(R@((s,/usr/lib64/python2.7/idlelib/configDialog.pyRLxs
cCsdS(N((R@((s,/usr/lib64/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,/usr/lib64/python2.7/idlelib/configDialog.pyRs� + $ ? Y E p $
!
t__main__RGtDialogRIcCs
ttd�S(NtSettings(Rtroot(((s,/usr/lib64/python2.7/idlelib/configDialog.pyR��s(t__doc__tTkinterR�R�R{Rtidlelib.configHandlerRtidlelib.dynOptionMenuWidgetRtidlelib.tabbedpagesRtidlelib.keybindingDialogRtidlelib.configSectionNameDialogRtidlelib.configHelpSourceEditRtidlelibRR(RRtTkRRRR[Rtmainloop(((s,/usr/lib64/python2.7/idlelib/configDialog.pyt<module>s*
$����l