Release 7.2.0
TraitsUI 7.2.0 is a minor release which includes numerous bug fixes,
documentation improvements, code maintenance changes, and enhancements.
Highlights of this release
- The migration from
on_trait_change
toobserve
is underway. As a
result, TraitsUI now requires Traits >= 6.2. - New display-only VideoEditor (currently only on Qt backend).
- Exapnsion of features for the new
UITester
including the ability to
inspect UI object visibility / enabledness. Also documentation for testing
has been updated.
Notes on upgrading
- This release of TraitsUI now depends on Traits 6.2+ and pyface 7.2+. Also,
deprecated code / modules have been removed. Namely, the
:mod:traitsui.image <traitsui.image>
module which was moved to
pyface.image
,editors_gen
modules, Editor and EditorFactory factory
methods on Toolkit objects, and more. For a complete list, see PRs in the
"Removals" section below. These were all generally unused / deprecated for
sometime. Also, importing directly fromtraitsui.editors
has been
deprecated. Please update imports to import directly from :mod:traitsui.api
or :mod:traitsui.editors.api
.
Detailed changes
Thanks to:
- Aaron Ayres
- Kit Yan Choi
- Mark Dickinson
- Rahul Poruri
- Corran Webster
Enhancements
- Open links externally instead of in the html editor in etsdemo application (#1446)
- Hide demo tab when the demo is None (#1456)
- Extract an interface from TargetRegistry to allow wider testing support for IsEnabled (#1490)
- Expose clearButtonEnabled for Qt TextEditor (#1516)
- Extend / document secret TreeNode api for passing tuples into add list trait (#1527)
- Add 'IsVisible` query class for UI Tester (#1552)
- Extend button editor to allow dynamically changing button image (#1566)
- Support testing with simple FileEditor (without dialog) (#1571)
- Qt VideoEditor (#745, #1609, #1621)
- Add item_factory callable for specifying creation of new list items (#1634)
Fixes
- Support HTMLEditor.open_externally on QtWebEngine (#1451)
- Qt InstanceEditor button should never be the default (#1498)
- Propagate UI errors to the UI's parent (#1503)
- Fix resizable readonly enum editor (#1532)
- StartStyling API changed for new Wx version (#1536)
- Don't use html for a variable name when using html module from standard library (#1540)
- Label {visible/enabled}_when (#1544)
- manually set the text format to plain text in error (#1546)
- Fix RGBColor hex int to tuple color conversion (#1554)
- Make Scrollable group respect visible_when (#1555)
- Use correct source_path in example (#1433)
- Move EnumEditor import in table_filter into the methods that need it (#1616)
Documentation
- Add a module docstring to the api modules (#1441)
- Use viewcode sphinx extension (#1443)
- Add links to API docs in a etsdemo examples for traitsui standard editors (#1445)
- Clarify which of traitsui.api and traitsui.editors.api is recommended (#1471)
- traitsui.testing documentation updates (#1482, #1483, #1485, #1486, #1487, #1488)
- Fix link label to the documentation home page (#1489)
- Document enabled_when / visible_when better (#1537)
- Document entries parameter not supported qt for FileEditor/DirectoryEditor (#1557
- Add script to regenerate screenshots of editors for documentation (#1574)
- Remove unused images in docs (#1584)
- replace # with #: to document traits in traitsui.editors.* (#1596)
- User facing docs for VideoEditor (#1630)
- Format code examples in the user documentation (#1640)
Build and continuous integration
- Fix cron job not installing additional dependencies (#1427)
- Remove job on Travis for testing against Traits 6.0 (#1430)
- Drop Python 3.5 support in TraitsUI (#1436)
- Declare Python 3.5 not supported for ets-demo (#1437)
- Fix link for installing wxPython on CI (for etsdemo) (#1491)
- Add GitHub Actions to test against EDM (#1492)
- Add GitHub Actions workflow for testing ets-demo (#1496)
- Use EDM 3.2.3 instead of EDM 3.2.1 (#1548)
- Drop support for PyQt < 4.3.2 (#1607)
- Remove CI test against Traits 6.0 (#1637)
- explicitly install swig 3.0.12 for cron job (#1652)
Test suite
- Refactor and extend tests for Qt HTMLEditor handling of opening links (#1465)
- Update new test_editor_error_msg (#1553)
- Unskip "EnumEditor" tests that were failing earlier on windows (#1615)
- skip video editor test without numpy / move numpy import to when it is needed
/ list numpy as test dependency (#1639) - skip test if no QtWebkit or QtWebEngine (#1649)
- skip a couple wx test failures (#1656)
Maintenance and code organization
- Add pygments to etsdemo's etstool.py (#1453)
- Add help aliases to etsdemo etstool module (#1457)
- Fix/Update copyright headers (#1467, #1486)
- work towards flake8 clean codebase (#1469, #1562, #1563)
- Remove meaningless comments from an outdated coding style. (#1472)
- Remove clause that deviates from PEP8 backward compatibility convention in the testing package (#1481)
- Formal editor interface for tooltips (#1493
- Add instance choice classes to traitsui.api (#1495)
- Undo/Redo cleanup (#1510
- start on_trait_change to observe migration (#1519, #1520, #1523, #1525, #1545, #1622, #1644)
- Refactor TreeEditor _new_actions and _menu_new_node to avoid hacky eval (#1524)
- Refactor _add_items method of _GroupPanel object (#1549)
- Add new trait to eventually replace scroll_to_row_hint (#1560)
- Add 'default': True to the etsdemo eam metadata (#1568)
- update "super" usage (#1583, #1587, #1588, #1589, #1604)
- Use "str.capitalize" directly instead of an alias (#1598)
- Use "PrefixList" from traits >= 6.1 (#1599)
- Update use of deprecated "Thread.setDaemon" (#1601)
- Replace deprecated "wx.ListItemAttr" with "wx.ItemAttr" (#1602)
- Adds "traitsui.toolkit.toolkit_object" to "traitsui.api" (#1603)
- Import "TraitFactory" from "traits.api" (#1606)
- Rename editor factory classes (#1610)
- Cleanup imports in "traitsui.editors.*" (#1619)
Removals
- Remove deprecated classes/modules (#1594)
- remove traitsui.image submodule (#1595)
- Remove Editor and EditorFactory factory methods on Toolkit objects (#1600)
- Remove backwards compatibility toolkit factory imports (#1608)
- Remove unused "Item.full_size" trait (#1613)
- Remove code handling old/outdated versions of wx (#1614)
- Remove unused editors_gen modules (#1626)