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.

Title: IDLE: Enhance module browser
Type: behavior Stage:
Components: IDLE Versions: Python 3.7, Python 3.6
Status: open Resolution:
Dependencies: 1612262 25090 31459 31460 31552 37902 Superseder:
Assigned To: terry.reedy Nosy List: cheryl.sabella, terry.reedy
Priority: normal Keywords:

Created on 2017-09-13 22:02 by terry.reedy, last changed 2022-04-11 14:58 by admin.

Messages (7)
msg302123 - (view) Author: Terry J. Reedy (terry.reedy) * (Python committer) Date: 2017-09-13 22:02
This is an index issue for keeping track of improvements to IDLE's class browser.  They should mostly (or all?) be done in separate issues and PRs.  

Existing issues with patches.  Only the first, a 'must', is recently reviewed.
#1612262  Use 3.7 enhanced pyclbr to show nested classes and functions.
#6171   Obsolete problem but patch may have useful idea.
#20827  Display function arguments (would be nice).
#25090  Remove most icons (also applies to pathbrowser).

New 'must' issues that need patches.
#31459  Rename ClassBrowser as ModuleBrowser
#31460  Redo signature of ModuleBroser.__init__.

Other potential issues, most of which also affect pathbrowser.
Make broswers scrollable with mouse.  (See turtledemo for how.)
Start browsers with bigger window.
Clicking of module in pathbrowser should open module browser.
Separate toplevel window from browser frame.
Search tree (including items not visible) with status bar box.
Utilize ttk.Treeview in browsers.

Browsers currently use idlelib.tree.TreeWidget.  Treeview is not a drop-in replacement because TreeWidget has some of the higher-level app-specific functions that users are expected to add to Treeview.  But could Treeview replace the low-level parts of TreeWidget that actually display stuff on the screen?

msg302748 - (view) Author: Terry J. Reedy (terry.reedy) * (Python committer) Date: 2017-09-22 15:23
#31552 ttk.Treeview
msg302808 - (view) Author: Terry J. Reedy (terry.reedy) * (Python committer) Date: 2017-09-23 21:26
I was sitting down to write a patch for #31459, when I discovered yours.  If you want to write more module brower patches, such as for #31460  I will do something else.
msg302810 - (view) Author: Terry J. Reedy (terry.reedy) * (Python committer) Date: 2017-09-23 21:36
#25090 opened with a broad discussion of module broswer and code context, but I focused it on removing the folder and file icons misused for classes and functions in Module Browser.  Above, I suggested possibly changing pathbrowser, but I have decided against that.  The patch will be trivial, so I am going to do it and see what I think.
msg302814 - (view) Author: Cheryl Sabella (cheryl.sabella) * (Python committer) Date: 2017-09-23 22:22
Sorry about that.  You can do 31460 if you want.  I haven't started it.
msg302820 - (view) Author: Terry J. Reedy (terry.reedy) * (Python committer) Date: 2017-09-23 23:13
Whoops, patching to not use icons is not trivial.  See new comment on #25090.
msg350049 - (view) Author: Terry J. Reedy (terry.reedy) * (Python committer) Date: 2019-08-21 04:03
#37902 Add mousewheel scrolling.
Date User Action Args
2022-04-11 14:58:52adminsetgithub: 75642
2019-08-21 04:03:13terry.reedysetdependencies: + Add scrolling for IDLE browsers
messages: + msg350049
2017-09-23 23:13:22terry.reedysetmessages: + msg302820
2017-09-23 22:22:01cheryl.sabellasetmessages: + msg302814
2017-09-23 21:36:24terry.reedysetmessages: + msg302810
2017-09-23 21:26:56terry.reedysetdependencies: + IDLE: remove noisy icons from class (module) browser
messages: + msg302808
2017-09-22 23:47:48terry.reedysettitle: IDLE: Enhance class browser -> IDLE: Enhance module browser
2017-09-22 15:23:28terry.reedysetdependencies: + IDLE: Convert browsers to use ttk.Treeview
messages: + msg302748
2017-09-14 01:50:10terry.reedysetnosy: + cheryl.sabella
2017-09-13 22:03:45terry.reedysetdependencies: + IDLE: Rename Class Browser as Module Browser, IDLE: Revise ModuleBrowser API, IDLE: Include nested functions and classes in module browser
2017-09-13 22:02:47terry.reedycreate