◐ Shell
reader mode source ↗
Skip to content

gh-62142: IDLE - rework debugger UI#22947

Open
roseman wants to merge 12 commits into
python:mainfrom
roseman:debugger-new-ui-17942
Open

gh-62142: IDLE - rework debugger UI#22947
roseman wants to merge 12 commits into
python:mainfrom
roseman:debugger-new-ui-17942

Conversation

@roseman

@roseman roseman commented Oct 24, 2020

Copy link
Copy Markdown
Contributor
  • updated to use ttk widgets throughout
  • simplified controls, changed go/step/etc. to image buttons
  • overall layout is a two-pane horizontal window (controls, stack, status on left, variables on right)
  • treeview widget used to replace custom scrolled-listbox stackviewer and custom canvas-based namespaceviewer
  • integrated locals/globals into a single treeview on right; can collapse/expand each independently instead of having checkboxes to control whether shown or not
  • removed scrolledlist.py (was previously used only by stackview)

@E-Paine

E-Paine commented Oct 25, 2020

Copy link
Copy Markdown
Contributor

Is it possible to do without using preset image sizes and font? (if for some reason the default font is larger than normal, the difference is very obvious). Even if we cannot change the image and font sizes dynamically, I think we should avoid fixing the family.

- updated to use ttk widgets throughout
- simplified controls, changed go/step/etc. to image buttons
- overall layout is a two-pane horizontal window (controls, stack, status on left, variables on right)
- treeview widget used to replace custom scrolled-listbox stackviewer and custom canvas-based namespaceviewer
- integrated locals/globals into a single treeview on right; can collapse/expand each independently instead of having checkboxes to control whether shown or not
was being used by stack trace in debugger
- button captions now use TkIconFont (a bit bigger than before)
- status line now uses default font, plus derives italic variation for errors
@roseman roseman marked this pull request as draft October 25, 2020 18:15
@roseman roseman force-pushed the debugger-new-ui-17942 branch from 06a7185 to a8b8da4 Compare October 25, 2020 18:26
@roseman

roseman commented Oct 25, 2020

Copy link
Copy Markdown
Contributor Author

Oops, sorry about the committed merge (can you tell I'm not using git every day)? In any case, I've changed the hard-coded fonts as per Elisha's comment.

@roseman roseman marked this pull request as ready for review October 25, 2020 18:33
@methane methane removed their request for review October 26, 2020 06:54
@markshannon markshannon removed their request for review October 27, 2020 18:58

@E-Paine E-Paine left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hide comment

Massive visual improvement over the original! We have a few methods which don't do anything (add_varheader, mouse_moved_vars and leave_vars): I assume there's a plan for them but for now should we add a TODO to them?

8 hidden conversations Load more…

@terryjreedy terryjreedy left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hide comment

I only reviewed the comments, not the whole patch.

I verified that scrolled list is only used here and can go if not used here.
What is the replacement?

6 hidden conversations Load more…
@bedevere-bot

Copy link
Copy Markdown

A Python core developer has requested some changes be made to your pull request before we can consider merging it. If you could please address their requests along with any other requests in other reviews from core developers that would be appreciated.

Once you have made the requested changes, please leave a comment on this pull request containing the phrase I have made the requested changes; please review again. I will then notify any core developers who have left a review that you're ready for them to take another look at this pull request.

@terryjreedy

Copy link
Copy Markdown
Member

All REs with '' should be prefixed with 'r' because uses like . and \d not recognized by standard string processing are deprecated and will become errors in the future.

roseman and others added 3 commits November 2, 2020 07:39
Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
Co-authored-by: E-Paine <63801254+E-Paine@users.noreply.github.com>
@roseman

roseman commented Nov 4, 2020

Copy link
Copy Markdown
Contributor Author

cleaned up the code and documentation in add_stackframee... not a shock but it was actually not doing anything as is because the 're' module hadn't been imported, which the bare exception oh-so-helpfully hid.. 😬

@E-Paine

E-Paine commented Nov 4, 2020

Copy link
Copy Markdown
Contributor

Just a general thing, is there a way to make the panedwindow more obvious? (when I first looked at the new design, I mistook it for padding until I looked at the code)

28 hidden items Load more…

@terryjreedy terryjreedy left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hide comment

Follow PEP-8 in comments and my comment on clarifying debugger separation.

The IDLE Doc says of debugger "This feature is still incomplete and somewhat experimental. " Would you consider this still true after this patch?

@E-Paine

E-Paine commented Nov 4, 2020

Copy link
Copy Markdown
Contributor

Ubuntu failure related to issue 42142 (I have noted this there)

@terryjreedy

Copy link
Copy Markdown
Member

@E-Paine Thank you. GH will not let me download the failure log.

@E-Paine

E-Paine commented Nov 17, 2020

Copy link
Copy Markdown
Contributor
  1. I believe all review comments have been addressed except for the lazy/greedy regex one

  2. Does anyone have a high-dpi monitor to test this patch on? (I am concerned that the images will be too small so very hard to see on such a monitor)

@roseman

roseman commented Dec 6, 2020

Copy link
Copy Markdown
Contributor Author

related to issue #14111... i note that the 'stop' button in the in-progress debugger ui is actually doing 'quit' (and doesn't in fact work when in the middle of a busy loop).

i think it would make sense to add a 'pause' button beside go, which can be used to pause the running program, allowing it to be continued. i'm wondering if the stop button should be renamed or icon changed to make it more clear that it will terminate the running program altogether.

should probably add tool tips on the debugger controls as well

@github-actions

github-actions Bot commented Jan 6, 2021

Copy link
Copy Markdown

This PR is stale because it has been open for 30 days with no activity.

@github-actions github-actions Bot added the stale Stale PR or inactive for long period of time. label Jan 6, 2021
@rhettinger rhettinger removed their request for review May 3, 2022 06:15
@github-actions github-actions Bot removed the stale Stale PR or inactive for long period of time. label Jul 30, 2022
@terryjreedy terryjreedy self-assigned this Nov 2, 2022
@terryjreedy terryjreedy changed the title bpo-17942: major rework of debugger UI Nov 2, 2022
@terryjreedy terryjreedy changed the title gh-62142: IDLE - major rework of debugger UI Nov 2, 2022
@github-actions

github-actions Bot commented Apr 8, 2026

Copy link
Copy Markdown

This PR is stale because it has been open for 30 days with no activity.

@github-actions github-actions Bot added the stale Stale PR or inactive for long period of time. label Apr 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

awaiting changes stale Stale PR or inactive for long period of time. topic-IDLE

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants