]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Issue #16893: Replace help.txt with idle.html for Idle doc display.
authorTerry Jan Reedy <tjreedy@udel.edu>
Sun, 20 Sep 2015 23:55:44 +0000 (19:55 -0400)
committerTerry Jan Reedy <tjreedy@udel.edu>
Sun, 20 Sep 2015 23:55:44 +0000 (19:55 -0400)
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
Lib/idlelib/help.txt
Lib/idlelib/idle_test/htest.py
Lib/idlelib/macosxSupport.py

index fd7958f8ba732cf36697d27c07b9cf520ed7bf8c..8268161512fc05e2326b34f5566301211af0b718 100644 (file)
@@ -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)
index eed89c07aacfd97e405e51e17523b68fc6f6e14b..296c78bdf0d99c4030a0bc87878e5a989a58c99a 100644 (file)
@@ -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:
index 27377aefc0f68515341e368fc212ec9fd51e3f39..f4b67f3cc56ad5777fa5aaa8f61f91cb946452ab 100644 (file)
@@ -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': {},
index 70ee8fb10792639fa19c64d8166ec641718b22a3..0da46ea55b518f124501298b61ac5825e7b8f4d4 100644 (file)
@@ -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-idle>>', about_dialog)
     root.bind('<<open-config-dialog>>', config_dialog)