diff options
Diffstat (limited to 'Tools/idle/EditorWindow.py')
-rw-r--r-- | Tools/idle/EditorWindow.py | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/Tools/idle/EditorWindow.py b/Tools/idle/EditorWindow.py index bc4edde..0f23b15 100644 --- a/Tools/idle/EditorWindow.py +++ b/Tools/idle/EditorWindow.py @@ -9,6 +9,9 @@ import tkMessageBox import idlever import WindowList +# The default tab setting for a Text widget, in average-width characters. +TK_TABWIDTH_DEFAULT = 8 + # File menu #$ event <<open-module>> @@ -599,7 +602,7 @@ class EditorWindow: # If a selection is defined in the text widget, return (start, # end) as Tkinter text indices, otherwise return (None, None) - def get_selection_index(self): + def get_selection_indices(self): try: first = self.text.index("sel.first") last = self.text.index("sel.last") @@ -607,6 +610,23 @@ class EditorWindow: except TclError: return None, None + # Return the text widget's current view of what a tab stop means + # (equivalent width in spaces). + + def get_tabwidth(self): + current = self.text['tabs'] or TK_TABWIDTH_DEFAULT + return int(current) + + # Set the text widget's current view of what a tab stop means. + + def set_tabwidth(self, newtabwidth): + text = self.text + if self.get_tabwidth() != newtabwidth: + pixels = text.tk.call("font", "measure", text["font"], + "-displayof", text.master, + "n" * newtabwith) + text.configure(tabs=pixels) + def prepstr(s): # Helper to extract the underscore from a string, e.g. # prepstr("Co_py") returns (2, "Copy"). |