Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

POC: Rework toolkit support #299

Closed
wants to merge 73 commits into from
Closed

POC: Rework toolkit support #299

wants to merge 73 commits into from

Conversation

mdickinson
Copy link
Member

@mdickinson mdickinson commented Apr 2, 2021

This PR does a fairly large amount of refactoring and renaming, but its focus is on reworking the toolkit support.

The main goals are:

  • Fix an architectural smell, namely that the toolkit magic was pervasive, going as far down as the message routing implementations: just importing multithreading_router made use of the toolkit machinery, for example.
  • Be able to run the test suite against all installed GUI backends - wxPython, Qt, asyncio - in a single run. (It's still not advisable to try to run against multiple different Qt backends in a single run.)

EDIT 2021-04-28: Most of the real content of this PR has now been extracted into separate PRs (all of which have been merged): #306, #307, #308, #309, #312, #314, #315

What's left is:

The EventLoopHelper may need to grow some new methods, for example a thread-safe method that sets a trait later, when the event loop is running. (Also done in #319.)

@mdickinson
Copy link
Member Author

  • I'd be happier if we had toolkit-specific tests for the EventLoopHelper first, otherwise we risk some of that code going untested.

Done in #319.

@mdickinson
Copy link
Member Author

The final piece of this PR has been recreated as #321. Closing this one.

@mdickinson mdickinson closed this Jun 1, 2021
@mdickinson mdickinson deleted the refactor/gui-context branch June 1, 2021 06:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant