This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: Idle extension configuration: add option-help option
Type: enhancement Stage: patch review
Components: IDLE Versions: Python 3.8
process
Status: open Resolution:
Dependencies: Superseder:
Assigned To: terry.reedy Nosy List: Saimadhav.Heblikar, terry.reedy
Priority: normal Keywords: patch

Created on 2014-10-23 00:17 by terry.reedy, last changed 2022-04-11 14:58 by admin.

Files
File name Uploaded Description Edit
issue22705-v1.diff Saimadhav.Heblikar, 2014-10-25 13:15 review
Messages (5)
msg229847 - (view) Author: Terry J. Reedy (terry.reedy) * (Python committer) Date: 2014-10-23 00:17
#3068 adds a extension configuration dialog, with some validation of user input.  msg228890 suggest a new 'option-help' option to explain the meaning of options, limit int entries when appropriate, and limit string choices (with a drop-down list) when appropriate.  The help could also indicate options that require a restart to take effect.
msg229880 - (view) Author: Saimadhav Heblikar (Saimadhav.Heblikar) * Date: 2014-10-23 15:17
Would like to check if a tooltip would be appropriate for this?
If yes, I would like to work on it.
msg229912 - (view) Author: Terry J. Reedy (terry.reedy) * (Python committer) Date: 2014-10-24 03:52
I was originally thinking of displaying 'option-help' beside a read-only text widget containing the value, just under the enable key-value pairs.  But I can imagine that tooltips attached to the label (on the left) might be a better alternative.  This would avoid having half the text in the page being help text that would just be noise to someone who already knew what it says.  It would also allow reformatting of data parsed from the option-help text.  So go ahead and give it a try.  I have lots else to do ;-).

I want to restore / add the [Help] button to both dialogs.  For the main dialog, it could contain info about which options have a delayed effect (see #22707).  For extensions, it could display the raw option-help text and mention how to get tool tips.

ToolTip.py (and CallTipWindow.py, with an expanded version of the tooltip code), use a Toplevel with its window frame and title bar surpressed.  An alternate way to get a popup box with a simple thin-line frameis a menu and its tk_popup method. I believe the command associated with each 'menu' item could just be "lambda: pass" to close the popup when clicked.  (One thing not clear to me is why tooltip (and calltip) create a new Toplevel for each display rather than just changing the text of the widget it displays.)
msg229995 - (view) Author: Saimadhav Heblikar (Saimadhav.Heblikar) * Date: 2014-10-25 13:15
Attached is a patch which attempts to display help text using a ToolTip. The additional requirement is that for entry 'name', there be another entry have a 'name_help' in the config-extensions.def(easier to see the file to understand what I mean).

A few changes were required in ToolTip.py to adjust the delay in millisecond value.

Note : In the current patch, I have added demo help string only for CodeContext and AutoComplete.
msg336167 - (view) Author: Terry J. Reedy (terry.reedy) * (Python committer) Date: 2019-02-21 00:32
#27099 (converting built-in extensions to features) made this less important.  But it is still relevant to actual extensions.  There is a dummy extension, zzdummy, for testing.
History
Date User Action Args
2022-04-11 14:58:09adminsetgithub: 66894
2019-06-06 19:33:38terry.reedyunlinkissue30809 dependencies
2019-02-21 00:32:40terry.reedysetstage: needs patch -> patch review
messages: + msg336167
versions: + Python 3.8, - Python 2.7, Python 3.4, Python 3.5
2017-06-30 01:51:41terry.reedylinkissue30809 dependencies
2014-10-25 13:15:04Saimadhav.Heblikarsetfiles: + issue22705-v1.diff
keywords: + patch
messages: + msg229995
2014-10-24 03:52:15terry.reedysetmessages: + msg229912
2014-10-23 15:17:53Saimadhav.Heblikarsetnosy: + Saimadhav.Heblikar
messages: + msg229880
2014-10-23 00:17:13terry.reedycreate