summaryrefslogtreecommitdiffstats
path: root/Lib/idlelib
diff options
context:
space:
mode:
authorTerry Jan Reedy <tjreedy@udel.edu>2023-10-19 04:03:24 (GMT)
committerGitHub <noreply@github.com>2023-10-19 04:03:24 (GMT)
commit642eb8df951f2f1d4bf4d93ee568707c5bf40a96 (patch)
treef7eb9ca809520c3edbd64a1f23a2b963206d22d6 /Lib/idlelib
parent19916941172844f9c52d7a6dce95efaa23035772 (diff)
downloadcpython-642eb8df951f2f1d4bf4d93ee568707c5bf40a96.zip
cpython-642eb8df951f2f1d4bf4d93ee568707c5bf40a96.tar.gz
cpython-642eb8df951f2f1d4bf4d93ee568707c5bf40a96.tar.bz2
gh-111050: IDLE - Simplify configdialog.HighPage.theme_elements (#111053)
Replace tuple value with internal name, removing numbers. Remove sorting of already ordered dislay names. Remove '[0]' indexing into now-gone tuple.
Diffstat (limited to 'Lib/idlelib')
-rw-r--r--Lib/idlelib/configdialog.py44
-rw-r--r--Lib/idlelib/idle_test/test_configdialog.py2
2 files changed, 22 insertions, 24 deletions
diff --git a/Lib/idlelib/configdialog.py b/Lib/idlelib/configdialog.py
index d56afe8..eedf97b 100644
--- a/Lib/idlelib/configdialog.py
+++ b/Lib/idlelib/configdialog.py
@@ -576,24 +576,23 @@ class HighPage(Frame):
(*)theme_message: Label
"""
self.theme_elements = {
- # Display_name: ('internal_name, sort_number').
- # TODO: remove sort_number unneeded with dict ordering.
- 'Normal Code or Text': ('normal', '00'),
- 'Code Context': ('context', '01'),
- 'Python Keywords': ('keyword', '02'),
- 'Python Definitions': ('definition', '03'),
- 'Python Builtins': ('builtin', '04'),
- 'Python Comments': ('comment', '05'),
- 'Python Strings': ('string', '06'),
- 'Selected Text': ('hilite', '07'),
- 'Found Text': ('hit', '08'),
- 'Cursor': ('cursor', '09'),
- 'Editor Breakpoint': ('break', '10'),
- 'Shell Prompt': ('console', '11'),
- 'Error Text': ('error', '12'),
- 'Shell User Output': ('stdout', '13'),
- 'Shell User Exception': ('stderr', '14'),
- 'Line Number': ('linenumber', '16'),
+ # Display-name: internal-config-tag-name.
+ 'Normal Code or Text': 'normal',
+ 'Code Context': 'context',
+ 'Python Keywords': 'keyword',
+ 'Python Definitions': 'definition',
+ 'Python Builtins': 'builtin',
+ 'Python Comments': 'comment',
+ 'Python Strings': 'string',
+ 'Selected Text': 'hilite',
+ 'Found Text': 'hit',
+ 'Cursor': 'cursor',
+ 'Editor Breakpoint': 'break',
+ 'Shell Prompt': 'console',
+ 'Error Text': 'error',
+ 'Shell User Output': 'stdout',
+ 'Shell User Exception': 'stderr',
+ 'Line Number': 'linenumber',
}
self.builtin_name = tracers.add(
StringVar(self), self.var_changed_builtin_name)
@@ -653,7 +652,7 @@ class HighPage(Frame):
# event.widget.winfo_top_level().highlight_target.set(elem)
self.highlight_target.set(elem)
text.tag_bind(
- self.theme_elements[element][0], '<ButtonPress-1>', tem)
+ self.theme_elements[element], '<ButtonPress-1>', tem)
text['state'] = 'disabled'
self.style.configure('frame_color_set.TFrame', borderwidth=1,
relief='solid')
@@ -761,7 +760,6 @@ class HighPage(Frame):
self.set_theme_type()
# Load theme element option menu.
theme_names = list(self.theme_elements)
- theme_names.sort(key=lambda x: self.theme_elements[x][1])
self.targetlist.SetMenu(theme_names, theme_names[0])
self.paint_theme_sample()
self.set_highlight_target()
@@ -888,7 +886,7 @@ class HighPage(Frame):
new_color = self.color.get()
self.style.configure('frame_color_set.TFrame', background=new_color)
plane = 'foreground' if self.fg_bg_toggle.get() else 'background'
- sample_element = self.theme_elements[self.highlight_target.get()][0]
+ sample_element = self.theme_elements[self.highlight_target.get()]
self.highlight_sample.tag_config(sample_element, **{plane: new_color})
theme = self.custom_name.get()
theme_element = sample_element + '-' + plane
@@ -1002,7 +1000,7 @@ class HighPage(Frame):
frame_color_set
"""
# Set the color sample area.
- tag = self.theme_elements[self.highlight_target.get()][0]
+ tag = self.theme_elements[self.highlight_target.get()]
plane = 'foreground' if self.fg_bg_toggle.get() else 'background'
color = self.highlight_sample.tag_cget(tag, plane)
self.style.configure('frame_color_set.TFrame', background=color)
@@ -1032,7 +1030,7 @@ class HighPage(Frame):
else: # User theme
theme = self.custom_name.get()
for element_title in self.theme_elements:
- element = self.theme_elements[element_title][0]
+ element = self.theme_elements[element_title]
colors = idleConf.GetHighlight(theme, element)
if element == 'cursor': # Cursor sample needs special painting.
colors['background'] = idleConf.GetHighlight(
diff --git a/Lib/idlelib/idle_test/test_configdialog.py b/Lib/idlelib/idle_test/test_configdialog.py
index e5d5b40..6f8518a 100644
--- a/Lib/idlelib/idle_test/test_configdialog.py
+++ b/Lib/idlelib/idle_test/test_configdialog.py
@@ -430,7 +430,7 @@ class HighPageTest(unittest.TestCase):
def tag_to_element(elem):
for element, tag in d.theme_elements.items():
- elem[tag[0]] = element
+ elem[tag] = element
def click_it(start):
x, y, dx, dy = hs.bbox(start)