Issue22628
Created on 2014-10-14 03:09 by terry.reedy, last changed 2022-04-11 14:58 by admin. This issue is now closed.
| Files | ||||
|---|---|---|---|---|
| File name | Uploaded | Description | Edit | |
| atree.diff | terry.reedy, 2014-10-14 03:09 | review | ||
| Messages (5) | |||
|---|---|---|---|
| msg229277 - (view) | Author: Terry J. Reedy (terry.reedy) * ![]() |
Date: 2014-10-14 03:09 | |
(Mentioned on #16233) At least on my windows 7 system, the lines of idlelib.TreeWidget, used for Path Browser and Class (Module) Browser, are spaced too narrowly. They are so close together that they overlap and each cuts off enough of the line above to make reading difficult. TreeWidget is actually a canvas painted with icons, connecting lines, and lines of text. There is no automatic spacing of text lines as with tkinter.Text. A comment in the draw method notes "XXX This hard-codes too many geometry constants!". The attached patch changes two of the constants. Increasing dy spreads the line apart a bit so there is very little clipping. (Both g and y are sometimes complete, sometimes not.) The other change moves the lines up relative to the icons so they are not offset. Saimadhav, does this change look ok on linux? I think the long term fix (before 3.5) is to use ttk.Treeview. So I am not inclined to spend lots of time fine-tuning on various systems or adding user configuration (though we might for Treeview). However, dy could be made conditional on, for instance, sys.platform[0:3] == 'win'. |
|||
| msg229532 - (view) | Author: Saimadhav Heblikar (Saimadhav.Heblikar) * | Date: 2014-10-16 14:09 | |
It does not change anything else other than the intended, so looks OK on linux. |
|||
| msg229563 - (view) | Author: Roundup Robot (python-dev) ![]() |
Date: 2014-10-17 03:13 | |
New changeset aa447531490d by Terry Jan Reedy in branch '2.7': Issue #22628: Increase Treewidge line spacing so lines do not overlap. https://hg.python.org/cpython/rev/aa447531490d New changeset ffe4f3694c0f by Terry Jan Reedy in branch '3.4': Issue #22628: Increase Treewidge line spacing so lines do not overlap. https://hg.python.org/cpython/rev/ffe4f3694c0f New changeset 7ee79c3d4f5f by Terry Jan Reedy in branch 'default': Merge with 3.4 Issue #22628 https://hg.python.org/cpython/rev/7ee79c3d4f5f |
|||
| msg415495 - (view) | Author: Jean-Paul Calderone (exarkun) * ![]() |
Date: 2022-03-18 13:26 | |
This is still/again broken, probably because the "fixed" version still hard-codes all of the geometry values and these will certainly not be correct for all combinations of display dpi, font configuration, etc. Instead, `TreeNode.draw` and `TreeNode.drawtext` (at least) need to consider the size of the children and space them accordingly. |
|||
| msg415507 - (view) | Author: Terry J. Reedy (terry.reedy) * ![]() |
Date: 2022-03-18 15:44 | |
We started using ttk widgets in 3.6. As I said above, the real solution should be to use ttk.Treeview. This is issue 31552. |
|||
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2022-04-11 14:58:09 | admin | set | github: 66818 |
| 2022-03-18 15:44:13 | terry.reedy | set | status: open -> closed superseder: IDLE: Convert browsers to use ttk.Treeview |
| 2022-03-18 13:26:06 | exarkun | set | status: closed -> open nosy:
+ exarkun resolution: fixed -> (no value) |
| 2015-01-04 02:44:14 | Al.Sweigart | set | nosy:
+ Al.Sweigart |
| 2014-10-17 03:14:29 | terry.reedy | set | status: open -> closed resolution: fixed stage: patch review -> resolved |
| 2014-10-17 03:13:50 | python-dev | set | nosy:
+ python-dev messages: + msg229563 |
| 2014-10-16 14:09:04 | Saimadhav.Heblikar | set | messages: + msg229532 |
| 2014-10-14 03:10:02 | terry.reedy | set | components: + IDLE |
| 2014-10-14 03:09:38 | terry.reedy | create | |

