From 70e763c0d8f0dc00ca8bf190b299a9b61717a235 Mon Sep 17 00:00:00 2001 From: Terry Jan Reedy Date: Sun, 20 Sep 2015 19:55:44 -0400 Subject: Issue #16893: Replace help.txt with idle.html for Idle doc display. The new idlelib/idle.html is copied from Doc/build/html/idle.html. It looks better than help.txt and will better document Idle as released. The tkinter html viewer that works for this file was written by Rose Roseman. The new code is in idlelib/help.py, a new file for help menu classes. The now unused EditorWindow.HelpDialog class and helt.txt file are deprecated. --- Lib/idlelib/EditorWindow.py | 12 ++++++++++-- Lib/idlelib/help.txt | 4 ++++ Lib/idlelib/idle_test/htest.py | 14 +++++++------- Lib/idlelib/macosxSupport.py | 5 ++--- 4 files changed, 23 insertions(+), 12 deletions(-) diff --git a/Lib/idlelib/EditorWindow.py b/Lib/idlelib/EditorWindow.py index fd7958f..8268161 100644 --- a/Lib/idlelib/EditorWindow.py +++ b/Lib/idlelib/EditorWindow.py @@ -17,6 +17,7 @@ from idlelib import PyParse from idlelib.configHandler import idleConf from idlelib import aboutDialog, textView, configDialog from idlelib import macosxSupport +from idlelib import help # The default tab setting for a Text widget, in average-width characters. TK_TABWIDTH_DEFAULT = 8 @@ -71,6 +72,11 @@ def _find_module(fullname, path=None): class HelpDialog(object): def __init__(self): + import warnings as w + w.warn("EditorWindow.HelpDialog is no longer used by Idle.\n" + "It will be removed in 3.6 or later.\n" + "It has been replaced by private help.HelpWindow\n", + DeprecationWarning, stacklevel=2) self.parent = None # parent of help window self.dlg = None # the help window iteself @@ -566,11 +572,13 @@ class EditorWindow(object): configDialog.ConfigExtensionsDialog(self.top) def help_dialog(self, event=None): + "Handle help doc event." + # edit maxosxSupport.overrideRootMenu.help_dialog to match if self.root: parent = self.root else: parent = self.top - helpDialog.display(parent, near=self.top) + help.show_idlehelp(parent) def python_docs(self, event=None): if sys.platform[:3] == 'win': @@ -1717,4 +1725,4 @@ def _editor_window(parent): # htest # if __name__ == '__main__': from idlelib.idle_test.htest import run - run(_help_dialog, _editor_window) + run(_editor_window) diff --git a/Lib/idlelib/help.txt b/Lib/idlelib/help.txt index eed89c0..296c78b 100644 --- a/Lib/idlelib/help.txt +++ b/Lib/idlelib/help.txt @@ -1,3 +1,7 @@ +This file, idlelib/help.txt is out-of-date and no longer used by Idle. +It is deprecated and will be removed in the future, possibly in 3.6 +---------------------------------------------------------------------- + [See the end of this file for ** TIPS ** on using IDLE !!] File Menu: diff --git a/Lib/idlelib/idle_test/htest.py b/Lib/idlelib/idle_test/htest.py index 27377ae..f4b67f3 100644 --- a/Lib/idlelib/idle_test/htest.py +++ b/Lib/idlelib/idle_test/htest.py @@ -194,13 +194,6 @@ _grep_dialog_spec = { "should open that file \nin a new EditorWindow." } -_help_dialog_spec = { - 'file': 'EditorWindow', - 'kwds': {}, - 'msg': "If the help text displays, this works.\n" - "Text is selectable. Window is scrollable." - } - _io_binding_spec = { 'file': 'IOBinding', 'kwds': {}, @@ -279,6 +272,13 @@ _scrolled_list_spec = { "Right clicking an item will display a popup." } +show_idlehelp_spec = { + 'file': 'help', + 'kwds': {}, + 'msg': "If the help text displays, this works.\n" + "Text is selectable. Window is scrollable." + } + _stack_viewer_spec = { 'file': 'StackViewer', 'kwds': {}, diff --git a/Lib/idlelib/macosxSupport.py b/Lib/idlelib/macosxSupport.py index 70ee8fb..0da46ea 100644 --- a/Lib/idlelib/macosxSupport.py +++ b/Lib/idlelib/macosxSupport.py @@ -170,9 +170,8 @@ def overrideRootMenu(root, flist): configDialog.ConfigDialog(root, 'Settings') def help_dialog(event=None): - from idlelib import textView - fn = path.join(path.abspath(path.dirname(__file__)), 'help.txt') - textView.view_file(root, 'Help', fn) + from idlelib import help + help.show_idlehelp(root) root.bind('<>', about_dialog) root.bind('<>', config_dialog) -- cgit v0.12