[3.6] bpo-31083: IDLE: Describe the Page classes in configdialog (GH-2965) (#2973)
Add template as comment. Update existing classes to match outline.
Initial patch by Cheryl Sabella.
(cherry picked from commit 6f446be
)
This commit is contained in:
parent
f9463b8cc9
commit
48fcc72c83
|
@ -1382,11 +1382,27 @@ class ConfigDialog(Toplevel):
|
||||||
self.ext_userCfg.Save()
|
self.ext_userCfg.Save()
|
||||||
|
|
||||||
|
|
||||||
|
# class TabPage(Frame): # A template for Page classes.
|
||||||
|
# def __init__(self, master):
|
||||||
|
# super().__init__(master)
|
||||||
|
# self.create_page_tab()
|
||||||
|
# self.load_tab_cfg()
|
||||||
|
# def create_page_tab(self):
|
||||||
|
# # Define tk vars and register var and callback with tracers.
|
||||||
|
# # Create subframes and widgets.
|
||||||
|
# # Pack widgets.
|
||||||
|
# def load_tab_cfg(self):
|
||||||
|
# # Initialize widgets with data from idleConf.
|
||||||
|
# def var_changed_var_name():
|
||||||
|
# # For each tk var that needs other than default callback.
|
||||||
|
# def other_methods():
|
||||||
|
# # Define tab-specific behavior.
|
||||||
|
|
||||||
|
|
||||||
class FontPage(Frame):
|
class FontPage(Frame):
|
||||||
|
|
||||||
def __init__(self, parent, highpage):
|
def __init__(self, master, highpage):
|
||||||
super().__init__(parent)
|
super().__init__(master)
|
||||||
self.parent = parent
|
|
||||||
self.highlight_sample = highpage.highlight_sample
|
self.highlight_sample = highpage.highlight_sample
|
||||||
self.create_page_font_tab()
|
self.create_page_font_tab()
|
||||||
self.load_font_cfg()
|
self.load_font_cfg()
|
||||||
|
@ -1439,19 +1455,17 @@ class FontPage(Frame):
|
||||||
indent_title: Label
|
indent_title: Label
|
||||||
(*)indent_scale: Scale - space_num
|
(*)indent_scale: Scale - space_num
|
||||||
"""
|
"""
|
||||||
parent = self.parent
|
self.font_name = tracers.add(StringVar(self), self.var_changed_font)
|
||||||
self.font_name = tracers.add(StringVar(parent), self.var_changed_font)
|
self.font_size = tracers.add(StringVar(self), self.var_changed_font)
|
||||||
self.font_size = tracers.add(StringVar(parent), self.var_changed_font)
|
self.font_bold = tracers.add(BooleanVar(self), self.var_changed_font)
|
||||||
self.font_bold = tracers.add(BooleanVar(parent), self.var_changed_font)
|
|
||||||
self.space_num = tracers.add(IntVar(self), ('main', 'Indent', 'num-spaces'))
|
self.space_num = tracers.add(IntVar(self), ('main', 'Indent', 'num-spaces'))
|
||||||
|
|
||||||
# Create widgets:
|
# Create widgets:
|
||||||
# body and body section frames.
|
# body and body section frames.
|
||||||
frame = self
|
|
||||||
frame_font = LabelFrame(
|
frame_font = LabelFrame(
|
||||||
frame, borderwidth=2, relief=GROOVE, text=' Base Editor Font ')
|
self, borderwidth=2, relief=GROOVE, text=' Base Editor Font ')
|
||||||
frame_indent = LabelFrame(
|
frame_indent = LabelFrame(
|
||||||
frame, borderwidth=2, relief=GROOVE, text=' Indentation Width ')
|
self, borderwidth=2, relief=GROOVE, text=' Indentation Width ')
|
||||||
# frame_font.
|
# frame_font.
|
||||||
frame_font_name = Frame(frame_font)
|
frame_font_name = Frame(frame_font)
|
||||||
frame_font_param = Frame(frame_font)
|
frame_font_param = Frame(frame_font)
|
||||||
|
@ -1471,7 +1485,7 @@ class FontPage(Frame):
|
||||||
frame_font_param, variable=self.font_bold,
|
frame_font_param, variable=self.font_bold,
|
||||||
onvalue=1, offvalue=0, text='Bold')
|
onvalue=1, offvalue=0, text='Bold')
|
||||||
frame_font_sample = Frame(frame_font, relief=SOLID, borderwidth=1)
|
frame_font_sample = Frame(frame_font, relief=SOLID, borderwidth=1)
|
||||||
temp_font = tkFont.Font(parent, ('courier', 10, 'normal'))
|
temp_font = tkFont.Font(self, ('courier', 10, 'normal'))
|
||||||
self.font_sample = Label(
|
self.font_sample = Label(
|
||||||
frame_font_sample, justify=LEFT, font=temp_font,
|
frame_font_sample, justify=LEFT, font=temp_font,
|
||||||
text='AaBbCcDdEe\nFfGgHhIiJj\n1234567890\n#:+=(){}[]')
|
text='AaBbCcDdEe\nFfGgHhIiJj\n1234567890\n#:+=(){}[]')
|
||||||
|
@ -1503,8 +1517,6 @@ class FontPage(Frame):
|
||||||
indent_title.pack(side=TOP, anchor=W, padx=5)
|
indent_title.pack(side=TOP, anchor=W, padx=5)
|
||||||
self.indent_scale.pack(side=TOP, padx=5, fill=X)
|
self.indent_scale.pack(side=TOP, padx=5, fill=X)
|
||||||
|
|
||||||
return frame
|
|
||||||
|
|
||||||
def load_font_cfg(self):
|
def load_font_cfg(self):
|
||||||
"""Load current configuration settings for the font options.
|
"""Load current configuration settings for the font options.
|
||||||
|
|
||||||
|
@ -1597,8 +1609,8 @@ class FontPage(Frame):
|
||||||
|
|
||||||
class GenPage(Frame):
|
class GenPage(Frame):
|
||||||
|
|
||||||
def __init__(self, parent):
|
def __init__(self, master):
|
||||||
super().__init__(parent)
|
super().__init__(master)
|
||||||
self.create_page_general()
|
self.create_page_general()
|
||||||
self.load_general_cfg()
|
self.load_general_cfg()
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
IDLE - Add an outline of a TabPage class in configdialog.
|
||||||
|
Update existing classes to match outline.
|
||||||
|
Initial patch by Cheryl Sabella.
|
Loading…
Reference in New Issue