@@ -96,6 +96,7 @@ def create_widgets(self):
96
96
highpage: HighPage
97
97
fontpage: FontPage
98
98
keyspage: KeysPage
99
+ editpage: EditPage
99
100
genpage: GenPage
100
101
extpage: self.create_page_extensions
101
102
@@ -108,11 +109,13 @@ def create_widgets(self):
108
109
self .highpage = HighPage (note )
109
110
self .fontpage = FontPage (note , self .highpage )
110
111
self .keyspage = KeysPage (note )
112
+ self .editpage = EditPage (note )
111
113
self .genpage = GenPage (note )
112
114
self .extpage = self .create_page_extensions ()
113
115
note .add (self .fontpage , text = 'Fonts/Tabs' )
114
116
note .add (self .highpage , text = 'Highlights' )
115
117
note .add (self .keyspage , text = ' Keys ' )
118
+ note .add (self .editpage , text = ' Editor ' )
116
119
note .add (self .genpage , text = ' General ' )
117
120
note .add (self .extpage , text = 'Extensions' )
118
121
note .enable_traversal ()
@@ -1756,6 +1759,98 @@ def delete_custom_keys(self):
1756
1759
self .set_keys_type ()
1757
1760
1758
1761
1762
+ class EditPage (Frame ):
1763
+
1764
+ def __init__ (self , master ):
1765
+ super ().__init__ (master )
1766
+ self .create_page_editor ()
1767
+ self .load_editor_cfg ()
1768
+
1769
+ def create_page_editor (self ):
1770
+ """Return frame of widgets for Editor tab.
1771
+
1772
+ Enable users to provisionally change editor options. Function
1773
+ load_editor_cfg intializes tk variables using idleConf.
1774
+ Radiobuttons save_ask_on and save_auto_on set var autosave.
1775
+ Entry boxes format_width_int and context_int set var
1776
+ format_width and context_lines. Setting var_name invokes
1777
+ the default callback that adds option to changes.
1778
+
1779
+ Widgets for EditPage(Frame): (*) widgets bound to self
1780
+ frame_editor: LabelFrame
1781
+ frame_save: Frame
1782
+ run_save_title: Label
1783
+ (*)save_ask_on: Radiobutton - autosave
1784
+ (*)save_auto_on: Radiobutton - autosave
1785
+ frame_format: Frame
1786
+ format_width_title: Label
1787
+ (*)format_width_int: Entry - format_width
1788
+ frame_context: Frame
1789
+ context_title: Label
1790
+ (*)context_int: Entry - context_lines
1791
+ """
1792
+ self .autosave = tracers .add (
1793
+ IntVar (self ), ('main' , 'General' , 'autosave' ))
1794
+ self .format_width = tracers .add (
1795
+ StringVar (self ), ('extensions' , 'FormatParagraph' , 'max-width' ))
1796
+ self .context_lines = tracers .add (
1797
+ StringVar (self ), ('extensions' , 'CodeContext' , 'maxlines' ))
1798
+
1799
+ # Create widgets:
1800
+ # Section frames.
1801
+ frame_editor = LabelFrame (self , borderwidth = 2 , relief = GROOVE ,
1802
+ text = ' Editor Preferences' )
1803
+
1804
+ # Frame_editor.
1805
+ frame_save = Frame (frame_editor , borderwidth = 0 )
1806
+ run_save_title = Label (frame_save , text = 'At Start of Run (F5) ' )
1807
+ self .save_ask_on = Radiobutton (
1808
+ frame_save , variable = self .autosave , value = 0 ,
1809
+ text = "Prompt to Save" )
1810
+ self .save_auto_on = Radiobutton (
1811
+ frame_save , variable = self .autosave , value = 1 ,
1812
+ text = 'No Prompt' )
1813
+
1814
+ frame_format = Frame (frame_editor , borderwidth = 0 )
1815
+ format_width_title = Label (frame_format ,
1816
+ text = 'Format Paragraph Max Width' )
1817
+ self .format_width_int = Entry (
1818
+ frame_format , textvariable = self .format_width , width = 4 )
1819
+
1820
+ frame_context = Frame (frame_editor , borderwidth = 0 )
1821
+ context_title = Label (frame_context , text = 'Max Context Lines :' )
1822
+ self .context_int = Entry (
1823
+ frame_context , textvariable = self .context_lines , width = 3 )
1824
+
1825
+ # Pack widgets:
1826
+ # Body.
1827
+ frame_editor .pack (side = TOP , padx = 5 , pady = 5 , expand = TRUE , fill = BOTH )
1828
+
1829
+ # frame_save.
1830
+ frame_save .pack (side = TOP , padx = 5 , pady = 0 , fill = X )
1831
+ run_save_title .pack (side = LEFT , anchor = W , padx = 5 , pady = 5 )
1832
+ self .save_auto_on .pack (side = RIGHT , anchor = W , padx = 5 , pady = 5 )
1833
+ self .save_ask_on .pack (side = RIGHT , anchor = W , padx = 5 , pady = 5 )
1834
+ # frame_format.
1835
+ frame_format .pack (side = TOP , padx = 5 , pady = 0 , fill = X )
1836
+ format_width_title .pack (side = LEFT , anchor = W , padx = 5 , pady = 5 )
1837
+ self .format_width_int .pack (side = TOP , padx = 10 , pady = 5 )
1838
+ # frame_context.
1839
+ frame_context .pack (side = TOP , padx = 5 , pady = 0 , fill = X )
1840
+ context_title .pack (side = LEFT , anchor = W , padx = 5 , pady = 5 )
1841
+ self .context_int .pack (side = TOP , padx = 5 , pady = 5 )
1842
+
1843
+ def load_editor_cfg (self ):
1844
+ "Load current configuration settings for the editor options."
1845
+ # Set variables for editor windows.
1846
+ self .autosave .set (idleConf .GetOption (
1847
+ 'main' , 'General' , 'autosave' , default = 0 , type = 'bool' ))
1848
+ self .format_width .set (idleConf .GetOption (
1849
+ 'extensions' , 'FormatParagraph' , 'max-width' , type = 'int' ))
1850
+ self .context_lines .set (idleConf .GetOption (
1851
+ 'extensions' , 'CodeContext' , 'maxlines' , type = 'int' ))
1852
+
1853
+
1759
1854
class GenPage (Frame ):
1760
1855
1761
1856
def __init__ (self , master ):
@@ -1769,8 +1864,7 @@ def create_page_general(self):
1769
1864
Enable users to provisionally change general options. Function
1770
1865
load_general_cfg intializes tk variables and helplist using
1771
1866
idleConf. Radiobuttons startup_shell_on and startup_editor_on
1772
- set var startup_edit. Radiobuttons save_ask_on and save_auto_on
1773
- set var autosave. Entry boxes win_width_int and win_height_int
1867
+ set var startup_edit. Entry boxes win_width_int and win_height_int
1774
1868
set var win_width and win_height. Setting var_name invokes the
1775
1869
default callback that adds option to changes.
1776
1870
@@ -1804,17 +1898,6 @@ def create_page_general(self):
1804
1898
paren_time_title: Label
1805
1899
(*)paren_flash_time: Entry - flash_delay
1806
1900
(*)bell_on: Checkbutton - paren_bell
1807
- frame_editor: LabelFrame
1808
- frame_save: Frame
1809
- run_save_title: Label
1810
- (*)save_ask_on: Radiobutton - autosave
1811
- (*)save_auto_on: Radiobutton - autosave
1812
- frame_format: Frame
1813
- format_width_title: Label
1814
- (*)format_width_int: Entry - format_width
1815
- frame_context: Frame
1816
- context_title: Label
1817
- (*)context_int: Entry - context_lines
1818
1901
frame_help: LabelFrame
1819
1902
frame_helplist: Frame
1820
1903
frame_helplist_buttons: Frame
@@ -1840,19 +1923,10 @@ def create_page_general(self):
1840
1923
self .paren_bell = tracers .add (
1841
1924
BooleanVar (self ), ('extensions' , 'ParenMatch' , 'bell' ))
1842
1925
1843
- self .autosave = tracers .add (
1844
- IntVar (self ), ('main' , 'General' , 'autosave' ))
1845
- self .format_width = tracers .add (
1846
- StringVar (self ), ('extensions' , 'FormatParagraph' , 'max-width' ))
1847
- self .context_lines = tracers .add (
1848
- StringVar (self ), ('extensions' , 'CodeContext' , 'maxlines' ))
1849
-
1850
1926
# Create widgets:
1851
1927
# Section frames.
1852
1928
frame_window = LabelFrame (self , borderwidth = 2 , relief = GROOVE ,
1853
1929
text = ' Window Preferences' )
1854
- frame_editor = LabelFrame (self , borderwidth = 2 , relief = GROOVE ,
1855
- text = ' Editor Preferences' )
1856
1930
frame_help = LabelFrame (self , borderwidth = 2 , relief = GROOVE ,
1857
1931
text = ' Additional Help Sources ' )
1858
1932
# Frame_window.
@@ -1895,28 +1969,6 @@ def create_page_general(self):
1895
1969
self .bell_on = Checkbutton (
1896
1970
frame_paren2 , text = "Bell on Mismatch" , variable = self .paren_bell )
1897
1971
1898
- # Frame_editor.
1899
- frame_save = Frame (frame_editor , borderwidth = 0 )
1900
- run_save_title = Label (frame_save , text = 'At Start of Run (F5) ' )
1901
- self .save_ask_on = Radiobutton (
1902
- frame_save , variable = self .autosave , value = 0 ,
1903
- text = "Prompt to Save" )
1904
- self .save_auto_on = Radiobutton (
1905
- frame_save , variable = self .autosave , value = 1 ,
1906
- text = 'No Prompt' )
1907
-
1908
- frame_format = Frame (frame_editor , borderwidth = 0 )
1909
- format_width_title = Label (frame_format ,
1910
- text = 'Format Paragraph Max Width' )
1911
- self .format_width_int = Entry (
1912
- frame_format , textvariable = self .format_width , width = 4 )
1913
-
1914
- frame_context = Frame (frame_editor , borderwidth = 0 )
1915
- context_title = Label (frame_context , text = 'Max Context Lines :' )
1916
- self .context_int = Entry (
1917
- frame_context , textvariable = self .context_lines , width = 3 )
1918
-
1919
-
1920
1972
# frame_help.
1921
1973
frame_helplist = Frame (frame_help )
1922
1974
frame_helplist_buttons = Frame (frame_helplist )
@@ -1940,7 +1992,6 @@ def create_page_general(self):
1940
1992
# Pack widgets:
1941
1993
# Body.
1942
1994
frame_window .pack (side = TOP , padx = 5 , pady = 5 , expand = TRUE , fill = BOTH )
1943
- frame_editor .pack (side = TOP , padx = 5 , pady = 5 , expand = TRUE , fill = BOTH )
1944
1995
frame_help .pack (side = TOP , padx = 5 , pady = 5 , expand = TRUE , fill = BOTH )
1945
1996
# frame_run.
1946
1997
frame_run .pack (side = TOP , padx = 5 , pady = 0 , fill = X )
@@ -1967,20 +2018,6 @@ def create_page_general(self):
1967
2018
self .bell_on .pack (side = RIGHT , anchor = E , padx = 15 , pady = 5 )
1968
2019
self .paren_flash_time .pack (side = TOP , anchor = W , padx = 15 , pady = 5 )
1969
2020
1970
- # frame_save.
1971
- frame_save .pack (side = TOP , padx = 5 , pady = 0 , fill = X )
1972
- run_save_title .pack (side = LEFT , anchor = W , padx = 5 , pady = 5 )
1973
- self .save_auto_on .pack (side = RIGHT , anchor = W , padx = 5 , pady = 5 )
1974
- self .save_ask_on .pack (side = RIGHT , anchor = W , padx = 5 , pady = 5 )
1975
- # frame_format.
1976
- frame_format .pack (side = TOP , padx = 5 , pady = 0 , fill = X )
1977
- format_width_title .pack (side = LEFT , anchor = W , padx = 5 , pady = 5 )
1978
- self .format_width_int .pack (side = TOP , padx = 10 , pady = 5 )
1979
- # frame_context.
1980
- frame_context .pack (side = TOP , padx = 5 , pady = 0 , fill = X )
1981
- context_title .pack (side = LEFT , anchor = W , padx = 5 , pady = 5 )
1982
- self .context_int .pack (side = TOP , padx = 5 , pady = 5 )
1983
-
1984
2021
# frame_help.
1985
2022
frame_helplist_buttons .pack (side = RIGHT , padx = 5 , pady = 5 , fill = Y )
1986
2023
frame_helplist .pack (side = TOP , padx = 5 , pady = 5 , expand = TRUE , fill = BOTH )
@@ -2008,14 +2045,6 @@ def load_general_cfg(self):
2008
2045
self .paren_bell .set (idleConf .GetOption (
2009
2046
'extensions' , 'ParenMatch' , 'bell' ))
2010
2047
2011
- # Set variables for editor windows.
2012
- self .autosave .set (idleConf .GetOption (
2013
- 'main' , 'General' , 'autosave' , default = 0 , type = 'bool' ))
2014
- self .format_width .set (idleConf .GetOption (
2015
- 'extensions' , 'FormatParagraph' , 'max-width' , type = 'int' ))
2016
- self .context_lines .set (idleConf .GetOption (
2017
- 'extensions' , 'CodeContext' , 'maxlines' , type = 'int' ))
2018
-
2019
2048
# Set additional help sources.
2020
2049
self .user_helplist = idleConf .GetAllExtraHelpSourcesList ()
2021
2050
self .helplist .delete (0 , 'end' )
0 commit comments