urwidtrees 1.1.0
Requires Python 3.10 or later and urwid 2.1.2 or later (#79).
Changes in behaviour
TreeBoxreturns tree keys that have no effect (for examplelefton a top-level node,]on the last sibling,-on a tree that cannot collapse), so that enclosing widgets such asurwid.Columnscan use them (#87).- Each key reaches the focused row once; it used to be sent twice (#59).
C(collapse all) keeps the focus on the top-level node it was under instead of jumping to the first root (#97).CollapsibleArrowTreeshows the collapse icon on top-level nodes with children; other top-level lines are padded to match (#100).- Unknown or misspelt keyword arguments to the decorator classes raise
TypeError(#99). NestedTree.depthcounts the levels inside subtrees, and its unusedoutmostparameter is gone (#64).from urwidtrees import *imports only the public classes (#81).DecoratedTree.rootfollows the wrapped tree (#76).- Decoration glyphs are measured by display width; a wide glyph on a narrow indent may now raise
NoSpaceError(#75).
Fixes
- Trees of any depth: navigation and
ArrowTreeno longer recurse per level (#82); nor doesNestedTreeper nesting level (#106). SimpleTree.rootandTreeListWalkerfollow changes to the tree (#102);ArrowTreedraws nothing towards a trailing empty nested subtree (#104).NestedTree: subtrees nested two or more levels deep, forest subtrees, empty subtrees,interpret_covered,depth,root, collapse calls andcollapse_all/expand_allon wide trees, and decoration of continuation lines (#64, #67, #69, #70, #77, #88, #89, #90, #91, #61).ArrowTree: bar characters given asNone, missing connectors,childbar_offseton continuation lines (#71, #72, #73).CollapsibleIndentedTreeno longer raisesNoSpaceErrorfor leaves (#74);CollapsibleArrowTreewithicon_offset(#62).TreeBox: empty trees (#63), focus left on a hidden node afterrefresh()(#95), one redraw per collapse (#96).TreeListWalker: one cache per walker, freed with it (#83); falsy positions as initial focus (#85).SimpleTreewith empty child lists (#60);Tree.parent_positionsignature (#65); collapse state with callables returning any truth value (#66).
Removed
Documentation and internals
- The documentation builds on Read the Docs again, from
main(#111), and shows the realTreeBoxandTreeListWalkersignatures (#107). - Smaller internals in
tree.py,decoration.pyandNestedTree's collapse calls, with no change in behaviour (#108, #109, #110).
Full Changelog: 1.0.5...1.1.0