Terry J. Reedy added the comment:

Having fixed the nested functions and classes issue, and thought some more, I 
have two other concerns with adding signatures in the browser, and a different 
solution.

1. Time: When requested, the browser window comes up immediately with the 
module node.  There is a noticeable delay before the top level items are 
displayed, and it is longer than before.  Since pyclbr was already patched to 
deliver the information on nested items, this puzzles me, and I want to 
investigate the cause before possible slowing display even longer.

2. Space: For browser tree items, base 'Tree' is expanded to 
'idlelib.tree.Tree'.  With one base, this will usually not an issue.  With 
multiple bases, it could be, in the sense of making the single line too long.  
Signatures, like calls, can well be too long for a single line.

Alternatives:

1. Module Browser opens the file.  Single clicking a line in the browser moves 
the selection highlight in the browser.  Double clicking a line expands or 
contract the node if it is expandedable, and it highlights the corresponding 
line in the editor. So the new feature is not *necessary* for a user to get the 
information.

But we can make it easier.  First, move the editor highlight when moving the 
browser hightlight.  Second, move both highlights with the Up and Down keys 
(instead of just scrolling.  Expand/contract with Right and Left keys.  Third, 
with a bit more work, the entire header could be highlighted.  Fourth, position 
browser box and editor side-by-side with tops aligned, instead of overlapping.  
(Note: the positioning would be automatic if IDLE had side-by-side tabbed 
panes.)

2. Signatures might be displayed in a pop-up box.  But I like 1. above better.

So I am inclined to reject adding to the Python-code browser in favor of 
improving the coordination between browser and editor.

If we ever add the ability to browse imported modules by introspection, then 
making signatures, *and* docstrings, would be needed -- and easy.  (This would 
be be aimed at, but not limited to, non-Python coded modules.)

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue20827>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to