Skip to content

Release 7.2.0

Compare
Choose a tag to compare
@aaronayres35 aaronayres35 released this 11 May 18:46
4142b17

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 to observe 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 from traitsui.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)