]> granicus.if.org Git - python/commitdiff
Color preferences code by Loren Luke (massaged by me somewhat)
authorGuido van Rossum <guido@python.org>
Tue, 20 Apr 1999 15:45:30 +0000 (15:45 +0000)
committerGuido van Rossum <guido@python.org>
Tue, 20 Apr 1999 15:45:30 +0000 (15:45 +0000)
Tools/idle/ColorDelegator.py
Tools/idle/EditorWindow.py
Tools/idle/IdlePrefs.py [new file with mode: 0644]
Tools/idle/PyShell.py

index 8e4667a9877f55acb3839288178815c276d7431b..e04526a34725ff06efd3e7b7f8314ccee0ab3bb1 100644 (file)
@@ -4,6 +4,7 @@ import re
 import keyword
 from Tkinter import *
 from Delegator import Delegator
+import IdlePrefs
 
 #$ event <<toggle-auto-coloring>>
 #$ win <Control-slash>
@@ -50,19 +51,29 @@ class ColorDelegator(Delegator):
                 apply(self.tag_configure, (tag,), cnf)
         self.tag_raise('sel')
 
-    tagdefs = {
-        "COMMENT":    {"foreground": "#dd0000"},
-        "KEYWORD":    {"foreground": "#ff7700"},
-        "STRING":     {"foreground": "#00aa00"},
-        "DEFINITION": {"foreground": "#0000ff"},
-
-        "SYNC":       {}, #{"background": "#ffff00"},
-        "TODO":       {}, #{"background": "#cccccc"},
+    cprefs = IdlePrefs.ColorPrefs()
 
-        "BREAK":      {"background": "#FF7777"},
+    tagdefs = {
+        "COMMENT":    {"foreground": cprefs.CComment[0],
+                       "background": cprefs.CComment[1]},
+        "KEYWORD":    {"foreground": cprefs.CKeyword[0],
+                       "background": cprefs.CKeyword[1]},
+        "STRING":     {"foreground": cprefs.CString[0],
+                       "background": cprefs.CString[1]},
+        "DEFINITION": {"foreground": cprefs.CDefinition[0],
+                       "background": cprefs.CDefinition[1]},
+
+        "SYNC":       {"background": cprefs.CSync[0],
+                       "background": cprefs.CSync[1]},
+        "TODO":       {"background": cprefs.CTodo[0],
+                       "background": cprefs.CTodo[1]},
+
+        "BREAK":      {"background": cprefs.CBreak[0],
+                       "background": cprefs.CBreak[1]},
 
         # The following is used by ReplaceDialog:
-        "hit":        {"foreground": "#FFFFFF", "background": "#000000"},
+        "hit":        {"foreground": cprefs.CHit[0],
+                       "background": cprefs.CHit[1]},
         }
 
     def insert(self, index, chars, tags=None):
index cea3fcd3a90467f83d8bee1fb42c8c08b989b558..2c1977566c14e368bc5de73b6e1ca06e6474a95c 100644 (file)
@@ -89,6 +89,7 @@ class EditorWindow:
     vars = {}
 
     def __init__(self, flist=None, filename=None, key=None, root=None):
+        cprefs = self.ColorDelegator.cprefs
         self.flist = flist
         root = root or flist.root
         self.root = root
@@ -98,7 +99,12 @@ class EditorWindow:
         self.top = top = self.Toplevel(root, menu=self.menubar)
         self.vbar = vbar = Scrollbar(top, name='vbar')
         self.text = text = Text(top, name='text', padx=5,
-                                background="white", wrap="none")
+                                foreground=cprefs.CNormal[0],
+                                background=cprefs.CNormal[1], 
+                                highlightcolor=cprefs.CHilite[0],
+                                highlightbackground=cprefs.CHilite[1],
+                                insertbackground=cprefs.CCursor[1],
+                                wrap="none")
 
         self.createmenubar()
         self.apply_bindings()
diff --git a/Tools/idle/IdlePrefs.py b/Tools/idle/IdlePrefs.py
new file mode 100644 (file)
index 0000000..7ca74ca
--- /dev/null
@@ -0,0 +1,65 @@
+# Created on 4/15/99 by Loren Luke
+#
+# Color Prefs for idle
+
+class ColorPrefs:
+    CNormal     = "yellow", None
+    CKeyword    = "medium sea green", None
+    CComment    = "white", None
+    CString     = "DarkOrange1", None
+    CDefinition = "wheat1", None
+    CHilite     = "#000068", "#006868"
+    CSync       = "yellow", None
+    CTodo       = "aquamarine4", None
+    CBreak      = "white", None
+    CHit        = "#000068", None
+    CStdIn      = "yellow", None
+    CStdOut     = "yellow", None
+    CStdErr     = "firebrick3", None
+    CConsole    = "yellow", None
+    CError      = "white", "red"
+    CCursor     = None, "yellow"
+    
+    def __init__(self, fg="yellow", bg="DodgerBlue4", ud=1):
+        self.Default = fg, bg
+        
+        # Use Default Colors?
+        if ud == 1:
+            # Use Default fg, bg Colors
+            # Define Screen Colors...
+            # format: x = (fg, bg)
+            self.CBreak      = "white", "#680000"
+            self.CComment    = "white", self.Default[1]
+            self.CConsole    = self.Default
+            self.CCursor     = None, self.Default[0]
+            self.CDefinition = "wheat1", self.Default[1]
+            self.CError      = "white", "red"
+            self.CHilite     = "#000068", "#006868"
+            self.CHit        = "#000068", "#006868"
+            self.CKeyword    = "medium sea green", self.Default[1]
+            self.CNormal     = "yellow", self.Default[1]
+            self.CStdErr     = "firebrick3", self.Default[1]
+            self.CStdIn      = self.Default
+            self.CStdOut     = self.Default
+            self.CString     = "DarkOrange1", self.Default[1]
+            self.CSync       = self.Default
+            self.CTodo       = "aquamarine4", self.Default[1]
+        else:
+            #Define Screen Colors...
+            # format: x = (fg, bg)
+            self.CBreak      = "white", None
+            self.CComment    = "white", None
+            self.CConsole    = "yellow", None
+            self.CCursor     = None, "yellow"
+            self.CDefinition = "wheat1", None
+            self.CError      = "white", "red"
+            self.CHilite     = "#000068", "#006868"
+            self.CHit        = "#000068", None
+            self.CKeyword    = "medium sea green", None
+            self.CNormal     = "yellow", None
+            self.CStdErr     = "firebrick3", None
+            self.CStdIn      = "yellow", None
+            self.CStdOut     = "yellow", None
+            self.CString     = "DarkOrange1", None
+            self.CSync       = "yellow", None
+            self.CTodo       = "aquamarine4", None
index 8bee5d5e9e7669f7e237b49a6f18ff232e90ed85..f83ee0c653a328f9234a8697296482e0454f0235 100644 (file)
@@ -113,14 +113,21 @@ class ModifiedColorDelegator(ColorDelegator):
         ColorDelegator.recolorize_main(self)
 
     tagdefs = ColorDelegator.tagdefs.copy()
+    cprefs = ColorDelegator.cprefs
 
     tagdefs.update({
-        ##"stdin":   {"background": "yellow"},
-        "stdout":  {"foreground": "blue"},
-        "stderr":  {"foreground": "#007700"},
-        "console": {"foreground": "#770000"},
-        "ERROR":   {"background": "#FF7777"},
-        None:      {"foreground": "purple"}, # default
+        "stdin":   {"foreground": cprefs.CStdIn[0],
+                    "background": cprefs.CStdIn[1]},
+        "stdout":  {"foreground": cprefs.CStdOut[0],
+                    "background": cprefs.CStdOut[1]},
+        "stderr":  {"foreground": cprefs.CStdErr[0],
+                    "background": cprefs.CStdErr[1]},
+        "console": {"foreground": cprefs.CConsole[0],
+                    "background": cprefs.CConsole[1]},
+        "ERROR":   {"background": cprefs.CError[0],
+                    "background": cprefs.CError[1]},
+        None:      {"foreground": cprefs.CNormal[0],
+                    "background": cprefs.CNormal[1]},
     })