mirror of https://github.com/python/cpython
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.
This commit is contained in:
parent
1991694117
commit
642eb8df95
|
@ -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(
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Reference in New Issue