summaryrefslogtreecommitdiffstats
path: root/Lib/idlelib/query.py
diff options
context:
space:
mode:
authorTerry Jan Reedy <tjreedy@udel.edu>2020-03-09 20:51:20 (GMT)
committerGitHub <noreply@github.com>2020-03-09 20:51:20 (GMT)
commit363fab83b8a0e6d924c7a7c577feec6a2812bb8c (patch)
treef8b8a909fa047211331a5ed1763de8d5503ebcf4 /Lib/idlelib/query.py
parente7cab7f780ac253999512ee86374fc3454342811 (diff)
downloadcpython-363fab83b8a0e6d924c7a7c577feec6a2812bb8c.zip
cpython-363fab83b8a0e6d924c7a7c577feec6a2812bb8c.tar.gz
cpython-363fab83b8a0e6d924c7a7c577feec6a2812bb8c.tar.bz2
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.
Diffstat (limited to 'Lib/idlelib/query.py')
-rw-r--r--Lib/idlelib/query.py16
1 files changed, 16 insertions, 0 deletions
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 @@ class ModuleName(Query):
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)