This is a move of the workbench code from Pyface to Apptools. The top-level changes are:
pyface.workbench -> apptools.workbench
pyface.ui.*.workbench -> apptools.workbench.ui.* (I could be talked into just apptools.workbench.* like TraitsUI)
examples.workbench in Pyface repo added to examples.workbench in this repo
adds some tests run under PySide6 and Wx
Toolkit management is done by using a pyface.base_toolkit.Toolkit with the name derived from the pyface.toolkit.toolkit (which handles toolkit selection) and pointing at the appropriate subpackage.
This doesn't attempt to do anything to the Workbench code in Envisage. There is an argument it should be in here as well. We have circular dependencies between the two libraries, and it's not clear which should be "lower-level"
Other than that, changes are around import targets and a little bit of delayed importing because I was seeing circular imports after applying isort...
Checklist
[x] Add a news fragment if this PR is news-worthy for end users. (see docs/releases/README.rst)
This is a move of the workbench code from Pyface to Apptools. The top-level changes are:
pyface.workbench
->apptools.workbench
pyface.ui.*.workbench
->apptools.workbench.ui.*
(I could be talked into justapptools.workbench.*
like TraitsUI)examples.workbench
in Pyface repo added toexamples.workbench
in this repoToolkit management is done by using a
pyface.base_toolkit.Toolkit
with the name derived from thepyface.toolkit.toolkit
(which handles toolkit selection) and pointing at the appropriate subpackage.This doesn't attempt to do anything to the Workbench code in Envisage. There is an argument it should be in here as well. We have circular dependencies between the two libraries, and it's not clear which should be "lower-level"
Other than that, changes are around import targets and a little bit of delayed importing because I was seeing circular imports after applying isort...
Checklist