bpo-27115: Use Query subclass for IDLE editor Goto (GH-18871)
Replace tkinter tkSimpleDialog.askinteger with a standard IDLE query dialog.
The new box checks for positivity before returning.
diff --git a/Lib/idlelib/query.py b/Lib/idlelib/query.py
index 57616de..2a88530 100644
--- a/Lib/idlelib/query.py
+++ b/Lib/idlelib/query.py
@@ -223,6 +223,22 @@
return file_path
+class Goto(Query):
+ "Get a positive line number for editor Go To Line."
+ # Used in editor.EditorWindow.goto_line_event.
+
+ def entry_ok(self):
+ try:
+ lineno = int(self.entry.get())
+ except ValueError:
+ self.showerror('not a base 10 integer.')
+ return None
+ if lineno <= 0:
+ self.showerror('not a positive integer.')
+ return None
+ return lineno
+
+
class HelpSource(Query):
"Get menu name and help source for Help menu."
# Used in ConfigDialog.HelpListItemAdd/Edit, (941/9)