Plan 9 from Bell Labs’s /usr/web/sources/contrib/jas/root/sys/lib/python2.7/idlelib/configDialog.pyc

Copyright © 2021 Plan 9 Foundation.
Distributed under the MIT License.
Download the Plan 9 distribution.


��Qc@sdZddlTddlZddlZddlZddlZddlmZddlm	Z	ddl
mZddlm
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
macosxSupporttConfigDialogcBs�eZd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�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	6d2d6d3d6d4d6d5d6d6d6d7d6d8d6d9d!6d:d$6d;d'6d<d*6d=d-6|_|j	�|j
�|jd.td/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(RR
(RR(RR(RR(sstringR(RR(RR(scursorR(serrorR(RR (sstdoutR"(sstderrR$(tToplevelt__init__twm_withdrawt	configurettitletgeometrytwinfo_rootxtwinfo_rootyt
themeElementstResetChangedItemst
CreateWidgetst	resizabletFALSEt	transienttgrab_settprotocoltCanceltparentttabPagest	focus_settLoadConfigstAttachVarCallbackstwm_deiconifytwait_window(tselfR9R,((s*/sys/lib/python2.7/idlelib/configDialog.pyR)s>







	



c	Cs�t|dddddg�|_t|dd�}tj�rHi}nidd	6d
d6}t|ddd
|jdt|�|_t|ddd
|j	dt|�|_
t|ddd
|jdt|�|_t|ddd
|j
dt|�|_|j�|j�|j�|j�|jjdtd	d�|j
jdtd	d�|jjdtd	d�|jjdtd	d�|jdt�t|dddd�jdt�|jjdtdtdt�dS(Nt
page_namess
Fonts/TabstHighlightingtKeystGeneraltpadyiitpadxittexttHelptcommandt	takefocustOktApplyR8tsideiR%R	itexpandtfill(RR:tFrameRtrunningAsOSXApptButtonRHR4t
buttonHelpRKtbuttonOkRLtbuttonApplyR8tbuttonCanceltCreatePageFontTabtCreatePageHighlighttCreatePageKeystCreatePageGeneraltpacktRIGHTtLEFTtBOTTOMtTOPtTRUEtBOTH(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
horizontalttickintervaltfrom_ttoiRMRFRERNROtanchori(Rdi
snormal(+t	StringVartfontSizet
BooleanVartfontBoldtfontNametIntVartspaceNumttkFonttFontteditFontR:tpagestframet
LabelFrametGROOVERPtLabelR]tListboxR4tlistFontNametbindtOnListFontButtonReleaset	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 iRmRditRthand2R&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 itemstdefRt 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(scourieriR�(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(;RttbuiltinThemetcustomThemeRvtfgHilitetcolourRxtthemeIsBuiltinR�R:R~RR�R�tTextR�R4tNONEttextHighlightSampleR�tinserttENDR0tkeysttag_bindR�tDISABLEDRPtframeColourSetRRt	GetColourRR�toptMenuHighlightTargettRadiobuttontSetColourSampleBindingtradioFgtradioBgR�tSaveAsNewThemeR�tSetThemeTypetradioThemeBuiltintradioThemeCustomtoptMenuThemeBuiltintoptMenuThemeCustomtDeleteCustomThemetbuttonDeleteCustomThemeR[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�R4tlistBindingsR�tKeyBindingSelectedR�R�txviewR�RRt
GetNewKeysR�t
buttonNewKeystrangeR�tSetKeysTypetradioKeysBuiltintradioKeysCustomRR�toptMenuKeysBuiltintoptMenuKeysCustomtDeleteCustomKeystbuttonDeleteCustomKeystSaveAsNewKeySetR[R^R`RaR�R]tcolumnconfiguretrowconfiguretgridR�tNSEWtNStEWtTrueR_(R@RR�tframeKeySetstframeTargettlabelTargetTitlet
scrollTargetYt
scrollTargetXtitframestbuttonSaveCustomKeys((s*/sys/lib/python2.7/idlelib/configDialog.pyRYsp		4


("%("##%" &cCs�t|�|_t|�|_t|�|_t|�|_t|�|_t|�|_t|�|_	t|�|_
|jjdj
}t|dddtdd�}t|dddtdd�}t|dddt�}t|dddt�}t|dddt�}t|dddtdd�}t|dd	�}t|d
|jddd
|jdd�}	t|d
|jddd
|jdd�}
t|dd�}t|d
|jddd
|jdd�}t|d
|jddd
|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)tWidthttextvariableR&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	frameSavetframeWinSizet
frameParaSizet
frameEncodingt	frameHelptlabelRunChoiceTitletradioStartupEdittradioStartupShelltlabelRunSaveTitletradioSaveAskt
radioSaveAutotlabelWinSizeTitletlabelWinWidthTitlet
entryWinWidthtlabelWinHeightTitletentryWinHeighttlabelParaWidthTitletentryParaWidthtlabelEncodingTitletradioEncLocaletradioEncUTF8tradioEncNonet
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(NtmaintEditorWindows	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�scGsF|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�RPRQtLoadKeysList(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.pyRFscGsF|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[(tchangedItems(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.pyRQ3scCs�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�PscCs�|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�sGet 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!}||jdj�kr�|jd|j�kr�jd||}q�|jj
t	|d|�quW|rD|jj|�|jj|�|jj|�ndS(Niiii�R�s - (R�tcurselectionRxR\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�|jjdt
�|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�RPttkMessageBoxtaskyesnoRtuserCfgtremove_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�|jjdt
�|jj|d�n|jj||d	�|jjtjd
jdd��|jjtjd
jdd
��|j�|j�dS(NsDelete 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 : tinitialcolors2Your 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	rgbTuplettcolourStringR�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
sampleElementtthemetthemeElement((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@tnewThemeName((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�RtGetThemeDictRhR�tSaveNewThemeRmR�R�R�R�R�(R@R�t	themeTypeR�R�tthemeChangesR�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�RtGetHighlightRhR�R�R�(R@R�telementTitleR�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{tuserHelpListtappendRR�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�tCurrentThemeRPRmR�R�R�R�R�R�R�R�R�R0R�R�RWRY(R@t
currentOptionR�t
themeNames((R@s*/sys/lib/python2.7/idlelib/configDialog.pytLoadThemeCfg�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]}|jjt
|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�tRemoveOptionR�(R@RrRkRlR�((s*/sys/lib/python2.7/idlelib/configDialog.pytSetUserValueCscCs 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@twinInstancestinstance((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		

Bell Labs OSI certified Powered by Plan 9

(Return to Plan 9 Home Page)

Copyright © 2021 Plan 9 Foundation. All Rights Reserved.
Comments to [email protected].