summaryrefslogtreecommitdiffstats
path: root/Lib
diff options
context:
space:
mode:
authorTal Einat <taleinat+github@gmail.com>2018-09-23 12:23:15 (GMT)
committerMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>2018-09-23 12:23:15 (GMT)
commitc87d9f406bb23657c1b4cd63017bb7bd7693a1fb (patch)
treea3b33e139c0595261c4cef3f0b967119fdc968ed /Lib
parent24b447edf204a674f9e164ea6d553562c21de1a4 (diff)
downloadcpython-c87d9f406bb23657c1b4cd63017bb7bd7693a1fb.zip
cpython-c87d9f406bb23657c1b4cd63017bb7bd7693a1fb.tar.gz
cpython-c87d9f406bb23657c1b4cd63017bb7bd7693a1fb.tar.bz2
bpo-34548: IDLE: use configured theme colors in TextView (GH-9008)
https://bugs.python.org/issue34548
Diffstat (limited to 'Lib')
-rw-r--r--Lib/idlelib/colorizer.py11
-rw-r--r--Lib/idlelib/textview.py9
2 files changed, 11 insertions, 9 deletions
diff --git a/Lib/idlelib/colorizer.py b/Lib/idlelib/colorizer.py
index d626d23..d4e592b 100644
--- a/Lib/idlelib/colorizer.py
+++ b/Lib/idlelib/colorizer.py
@@ -31,11 +31,12 @@ def make_pat():
prog = re.compile(make_pat(), re.S)
idprog = re.compile(r"\s+(\w+)", re.S)
-def color_config(text): # Called from htest, Editor, and Turtle Demo.
- '''Set color opitons of Text widget.
+def color_config(text):
+ """Set color options of Text widget.
- Should be called whenever ColorDelegator is called.
- '''
+ If ColorDelegator is used, this should be called first.
+ """
+ # Called from htest, TextFrame, Editor, and Turtledemo.
# Not automatic because ColorDelegator does not know 'text'.
theme = idleConf.CurrentTheme()
normal_colors = idleConf.GetHighlight(theme, 'normal')
@@ -50,6 +51,7 @@ def color_config(text): # Called from htest, Editor, and Turtle Demo.
inactiveselectbackground=select_colors['background'], # new in 8.5
)
+
class ColorDelegator(Delegator):
def __init__(self):
@@ -285,6 +287,7 @@ def _color_delegator(parent): # htest #
d = ColorDelegator()
p.insertfilter(d)
+
if __name__ == "__main__":
from unittest import main
main('idlelib.idle_test.test_colorizer', verbosity=2, exit=False)
diff --git a/Lib/idlelib/textview.py b/Lib/idlelib/textview.py
index 75b2470..464e6ac 100644
--- a/Lib/idlelib/textview.py
+++ b/Lib/idlelib/textview.py
@@ -5,6 +5,8 @@ from tkinter import Toplevel, Text
from tkinter.ttk import Frame, Scrollbar, Button
from tkinter.messagebox import showerror
+from idlelib.colorizer import color_config
+
class TextFrame(Frame):
"Display text with scrollbar."
@@ -18,12 +20,9 @@ class TextFrame(Frame):
super().__init__(parent)
self['relief'] = 'sunken'
self['height'] = 700
- # TODO: get fg/bg from theme.
- self.bg = '#ffffff'
- self.fg = '#000000'
- self.text = text = Text(self, wrap='word', highlightthickness=0,
- fg=self.fg, bg=self.bg)
+ self.text = text = Text(self, wrap='word', highlightthickness=0)
+ color_config(text)
self.scroll = scroll = Scrollbar(self, orient='vertical',
takefocus=False, command=text.yview)
text['yscrollcommand'] = scroll.set