further config system work

This commit is contained in:
Steven M. Gava 2001-11-04 07:03:08 +00:00
parent c99213f993
commit 9930061ce2
4 changed files with 56 additions and 17 deletions

View File

@ -43,6 +43,7 @@ from ColorDelegator import ColorDelegator
from UndoDelegator import UndoDelegator from UndoDelegator import UndoDelegator
from OutputWindow import OutputWindow, OnDemandOutputWindow from OutputWindow import OutputWindow, OnDemandOutputWindow
from IdleConf import idleconf from IdleConf import idleconf
from configHandler import idleConf
import idlever import idlever
# We need to patch linecache.checkcache, because we don't want it # We need to patch linecache.checkcache, because we don't want it
@ -141,15 +142,15 @@ class ModifiedColorDelegator(ColorDelegator):
ColorDelegator.recolorize_main(self) ColorDelegator.recolorize_main(self)
tagdefs = ColorDelegator.tagdefs.copy() tagdefs = ColorDelegator.tagdefs.copy()
cconf = idleconf.getsection('Colors') theme = idleConf.GetOption('main','Theme','name')
tagdefs.update({ tagdefs.update({
"stdin": cconf.getcolor("stdin"),
"stdout": cconf.getcolor("stdout"), "stdin": idleConf.GetHighlight(theme, "stdin"),
"stderr": cconf.getcolor("stderr"), "stdout": idleConf.GetHighlight(theme, "stdout"),
"console": cconf.getcolor("console"), "stderr": idleConf.GetHighlight(theme, "stderr"),
"ERROR": cconf.getcolor("ERROR"), "console": idleConf.GetHighlight(theme, "console"),
None: cconf.getcolor("normal"), "ERROR": idleConf.GetHighlight(theme, "error"),
None: idleConf.GetHighlight(theme, "normal"),
}) })

View File

@ -21,7 +21,7 @@ break-fontStyle= normal
hit-background= #000000 hit-background= #000000
hit-foreground= #ffffff hit-foreground= #ffffff
hit-fontStyle= normal hit-fontStyle= normal
cursor-background= black cursor-foreround= black
error-background= #ff7777 error-background= #ff7777
#shell window #shell window
stdout-foreground= blue stdout-foreground= blue
@ -48,7 +48,7 @@ hilite-background= #006868
break-foreground= #ff7777 break-foreground= #ff7777
hit-background= #000000 hit-background= #000000
hit-foreground= #ffffff hit-foreground= #ffffff
cursor-background= black cursor-foreground= black
error-background= #ff7777 error-background= #ff7777
#shell window #shell window
stdout-foreground= blue stdout-foreground= blue

View File

@ -320,10 +320,11 @@ class ConfigDialog(Toplevel):
('#to choose items','comment'),('\n','normal'),('def','keyword'), ('#to choose items','comment'),('\n','normal'),('def','keyword'),
(' ','normal'),('func','definition'),('(param):','normal'), (' ','normal'),('func','definition'),('(param):','normal'),
('\n ','normal'),('"""string"""','string'),('\n var0 = ','normal'), ('\n ','normal'),('"""string"""','string'),('\n var0 = ','normal'),
("'string'",'string'),('\n var1 = ','normal'),("'selected'",'selected'),('\n var2 = ','normal'), ("'string'",'string'),('\n var1 = ','normal'),("'selected'",'selected'),
("'found'",'found'),('\n\n','normal'),(' error ','error'), ('\n var2 = ','normal'),("'found'",'found'),('\n\n','normal'),
('cursor |','cursor'),('\n ','normal'),('shell','shfg'),(' ','normal'),('stdout','shstdout'),(' ','normal'), (' error ','error'),(' ','normal'),('cursor |','cursor'),
('stderr','shstderr')) ('\n ','normal'),('shell','shfg'),(' ','normal'),('stdout','shstdout'),
(' ','normal'),('stderr','shstderr'),('\n','normal'))
for txTa in textAndTags: for txTa in textAndTags:
text.insert(END,txTa[0],txTa[1]) text.insert(END,txTa[0],txTa[1])
for element in self.themeElements.keys(): for element in self.themeElements.keys():
@ -535,8 +536,36 @@ class ConfigDialog(Toplevel):
return frame return frame
def PaintThemeSample(self): def PaintThemeSample(self):
pass if self.themeBuiltin.get: #a default theme
theme=self.builtinTheme.get()
else: #a user theme
theme=self.customTheme.get()
colours=idleConf.GetHighlight(theme, 'normal')
#normalBg=colours['background']
apply(self.textHighlightSample.tag_config,('normal',),colours)
colours=idleConf.GetHighlight(theme, 'keyword')
apply(self.textHighlightSample.tag_config,('keyword',),colours)
colours=idleConf.GetHighlight(theme, 'comment')
apply(self.textHighlightSample.tag_config,('comment',),colours)
colours=idleConf.GetHighlight(theme, 'definition')
apply(self.textHighlightSample.tag_config,('definition',),colours)
colours=idleConf.GetHighlight(theme, 'string')
apply(self.textHighlightSample.tag_config,('string',),colours)
colours=idleConf.GetHighlight(theme, 'hilite')
apply(self.textHighlightSample.tag_config,('selected',),colours)
colours=idleConf.GetHighlight(theme, 'hit')
apply(self.textHighlightSample.tag_config,('found',),colours)
colours=idleConf.GetHighlight(theme, 'cursor')
apply(self.textHighlightSample.tag_config,('cursor',),colours)
colours=idleConf.GetHighlight(theme, 'error')
apply(self.textHighlightSample.tag_config,('error',),colours)
colours=idleConf.GetHighlight(theme, 'console')
apply(self.textHighlightSample.tag_config,('shfg',),colours)
colours=idleConf.GetHighlight(theme, 'stdout')
apply(self.textHighlightSample.tag_config,('shstdout',),colours)
colours=idleConf.GetHighlight(theme, 'stderr')
apply(self.textHighlightSample.tag_config,('shstderr',),colours)
def LoadFontCfg(self): def LoadFontCfg(self):
##base editor font selection list ##base editor font selection list
fonts=list(tkFont.families(self)) fonts=list(tkFont.families(self))

View File

@ -5,7 +5,7 @@
## ##
##---------------------------------------------------------------------------## ##---------------------------------------------------------------------------##
""" """
Provides access to configuration information Provides access to stored idle configuration information
""" """
import os import os
@ -153,8 +153,17 @@ class IdleConf:
return cfgParser.sections() return cfgParser.sections()
def GetHighlight(self, theme, element): def GetHighlight(self, theme, element):
#get some fallback defaults
defaultFg=self.GetOption('highlight', theme, 'normal' + "-foreground",
default='#000000')
defaultBg=self.GetOption('highlight', theme, 'normal' + "-background",
default='#ffffff')
#try for requested element colours
fore = self.GetOption('highlight', theme, element + "-foreground") fore = self.GetOption('highlight', theme, element + "-foreground")
back = self.GetOption('highlight', theme, element + "-background") back = self.GetOption('highlight', theme, element + "-background")
#fall back if required
if not fore: fore=defaultFg
if not back: back=defaultBg
return {"foreground": fore, return {"foreground": fore,
"background": back} "background": back}