]> granicus.if.org Git - python/commitdiff
further config system work
authorSteven M. Gava <elguavas@python.net>
Sun, 4 Nov 2001 07:03:08 +0000 (07:03 +0000)
committerSteven M. Gava <elguavas@python.net>
Sun, 4 Nov 2001 07:03:08 +0000 (07:03 +0000)
Lib/idlelib/PyShell.py
Lib/idlelib/config-highlight.def
Lib/idlelib/configDialog.py
Lib/idlelib/configHandler.py

index e2b545b4d42fb8f200f101180063b8b353aaa010..f349bd6c0db535ae6ba0729ca879536ca0abaa69 100644 (file)
@@ -43,6 +43,7 @@ from ColorDelegator import ColorDelegator
 from UndoDelegator import UndoDelegator
 from OutputWindow import OutputWindow, OnDemandOutputWindow
 from IdleConf import idleconf
+from configHandler import idleConf
 import idlever
 
 # We need to patch linecache.checkcache, because we don't want it
@@ -141,15 +142,15 @@ class ModifiedColorDelegator(ColorDelegator):
         ColorDelegator.recolorize_main(self)
 
     tagdefs = ColorDelegator.tagdefs.copy()
-    cconf = idleconf.getsection('Colors')
-
+    theme = idleConf.GetOption('main','Theme','name')
     tagdefs.update({
-        "stdin": cconf.getcolor("stdin"),
-        "stdout": cconf.getcolor("stdout"),
-        "stderr": cconf.getcolor("stderr"),
-        "console": cconf.getcolor("console"),
-        "ERROR": cconf.getcolor("ERROR"),
-        None: cconf.getcolor("normal"),
+
+        "stdin": idleConf.GetHighlight(theme, "stdin"),
+        "stdout": idleConf.GetHighlight(theme, "stdout"),
+        "stderr": idleConf.GetHighlight(theme, "stderr"),
+        "console": idleConf.GetHighlight(theme, "console"),
+        "ERROR": idleConf.GetHighlight(theme, "error"),
+        None: idleConf.GetHighlight(theme, "normal"),
     })
 
 
index a2d3b5692b6853b71fd20569f7a6a3af1398a110..83c9807a8c088010ca5e8848e7498b30f9843a06 100644 (file)
@@ -21,7 +21,7 @@ break-fontStyle= normal
 hit-background= #000000
 hit-foreground= #ffffff
 hit-fontStyle= normal
-cursor-background= black
+cursor-foreround= black
 error-background= #ff7777
 #shell window
 stdout-foreground= blue
@@ -48,7 +48,7 @@ hilite-background= #006868
 break-foreground= #ff7777
 hit-background= #000000
 hit-foreground= #ffffff
-cursor-background= black
+cursor-foreground= black
 error-background= #ff7777
 #shell window
 stdout-foreground= blue
index 84663f6d91d7c987a3219520da320eb635ad15cd..388a21cb2604a1d792f5938edfd7fc46b67d8ca6 100644 (file)
@@ -320,10 +320,11 @@ class ConfigDialog(Toplevel):
             ('#to choose items','comment'),('\n','normal'),('def','keyword'),
             (' ','normal'),('func','definition'),('(param):','normal'),
             ('\n  ','normal'),('"""string"""','string'),('\n  var0 = ','normal'),
-            ("'string'",'string'),('\n  var1 = ','normal'),("'selected'",'selected'),('\n  var2 = ','normal'),
-            ("'found'",'found'),('\n\n','normal'),(' error ','error'),
-            ('cursor |','cursor'),('\n ','normal'),('shell','shfg'),(' ','normal'),('stdout','shstdout'),(' ','normal'),
-            ('stderr','shstderr'))
+            ("'string'",'string'),('\n  var1 = ','normal'),("'selected'",'selected'),
+            ('\n  var2 = ','normal'),("'found'",'found'),('\n\n','normal'),
+            (' error ','error'),(' ','normal'),('cursor |','cursor'),
+            ('\n ','normal'),('shell','shfg'),(' ','normal'),('stdout','shstdout'),
+            (' ','normal'),('stderr','shstderr'),('\n','normal'))
         for txTa in textAndTags:
             text.insert(END,txTa[0],txTa[1])
         for element in self.themeElements.keys(): 
@@ -535,8 +536,36 @@ class ConfigDialog(Toplevel):
         return frame
 
     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):
         ##base editor font selection list
         fonts=list(tkFont.families(self))
index e32c6e6e4a9c820a3c4543411bff8b0f8d983823..45396271178db50b91a8d62f8bd19ea306f3f593 100644 (file)
@@ -5,7 +5,7 @@
 ## 
 ##---------------------------------------------------------------------------##
 """
-Provides access to configuration information
+Provides access to stored idle configuration information
 """
 
 import os
@@ -153,8 +153,17 @@ class IdleConf:
         return cfgParser.sections()
     
     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")
         back = self.GetOption('highlight', theme, element + "-background")
+        #fall back if required
+        if not fore: fore=defaultFg
+        if not back: back=defaultBg
         return {"foreground": fore,
                 "background": back}