This release adds an enhanced Markdown widget. See the blog post for details:
https://textual.textualize.io/blog/2023/02/15/textual-0110-adds-a-beautiful-markdown-widget/
[0.11.0] - 2023-02-15
Added
- Added
TreeNode.expand_all
#1430 - Added
TreeNode.collapse_all
#1430 - Added
TreeNode.toggle_all
#1430 - Added the coroutines
Animator.wait_until_complete
andpilot.wait_for_scheduled_animations
that allow waiting for all current and scheduled animations #1658 - Added the method
Animator.is_being_animated
that checks if an attribute of an object is being animated or is scheduled for animation - Added more keyboard actions and related bindings to
Input
#1676 - Added App.scroll_sensitivity_x and App.scroll_sensitivity_y to adjust how many lines the scroll wheel moves the scroll position #928
- Added Shift+scroll wheel and ctrl+scroll wheel to scroll horizontally
- Added
Tree.action_toggle_node
to toggle a node without selecting, and bound it to Space #1433 - Added
Tree.reset
to fully reset aTree
#1437 - Added
DataTable.sort
to sort rows #1638 - Added
DataTable.get_cell
to retrieve a cell by column/row keys #1638 - Added
DataTable.get_cell_at
to retrieve a cell by coordinate #1638 - Added
DataTable.update_cell
to update a cell by column/row keys #1638 - Added
DataTable.update_cell_at
to update a cell at a coordinate #1638 - Added
DataTable.ordered_rows
property to retrieveRow
s as they're currently ordered #1638 - Added
DataTable.ordered_columns
property to retrieveColumn
s as they're currently ordered #1638 - Added
DataTable.coordinate_to_cell_key
to find the key for the cell at a coordinate #1638 - Added
DataTable.is_valid_coordinate
#1638 - Added
DataTable.is_valid_row_index
#1638 - Added
DataTable.is_valid_column_index
#1638 - Added attributes to events emitted from
DataTable
indicating row/column/cell keys #1638 - Added
DataTable.get_row
to retrieve the values from a row by key #1786 - Added
DataTable.get_row_at
to retrieve the values from a row by index #1786 - Added
DataTable.get_column
to retrieve the values from a column by key #1786 - Added
DataTable.get_column_at
to retrieve the values from a column by index #1786 - Added
DataTable.HeaderSelected
which is posted when header label clicked #1788 - Added
DOMNode.watch
andDOMNode.is_attached
methods #1750 - Added
DOMNode.css_tree
which is a renderable that shows the DOM and CSS #1778 - Added
DOMNode.children_view
which is a view on to a nodes children list, use for querying #1778 - Added
Markdown
andMarkdownViewer
widgets. - Added
--screenshot
option totextual run
Changed
- Breaking change:
TreeNode
can no longer be imported fromtextual.widgets
; it is now available viafrom textual.widgets.tree import TreeNode
. #1637 Tree
now shows a (subdued) cursor for a highlighted node when focus has moved elsewhere #1471DataTable.add_row
now acceptskey
argument to uniquely identify the row #1638DataTable.add_column
now acceptskey
argument to uniquely identify the column #1638DataTable.add_row
andDataTable.add_column
now return lists of keys identifying the added rows/columns #1638- Breaking change:
DataTable.get_cell_value
renamed toDataTable.get_value_at
#1638 DataTable.row_count
is now a property #1638- Breaking change:
DataTable.cursor_cell
renamed toDataTable.cursor_coordinate
#1638- The method
validate_cursor_cell
was renamed tovalidate_cursor_coordinate
. - The method
watch_cursor_cell
was renamed towatch_cursor_coordinate
.
- The method
- Breaking change:
DataTable.hover_cell
renamed toDataTable.hover_coordinate
#1638- The method
validate_hover_cell
was renamed tovalidate_hover_coordinate
.
- The method
- Breaking change:
DataTable.data
structure changed, and will be made private in upcoming release #1638 - Breaking change:
DataTable.refresh_cell
was renamed toDataTable.refresh_coordinate
#1638 - Breaking change:
DataTable.get_row_height
now takes aRowKey
argument instead of a row index #1638 - Breaking change:
DataTable.data
renamed toDataTable._data
(it's now private) #1786 - The
_filter
module was made public (now calledfilter
) #1638 - Breaking change: renamed
Checkbox
toSwitch
#1746 App.install_screen
name is no longer optional #1778App.query
now only includes the current screen #1778DOMNode.tree
now displays simple DOM structure only #1778App.install_screen
now returns None rather than AwaitMount #1778DOMNode.children
is now a simple sequence, the NodesList is exposed asDOMNode._nodes
#1778DataTable
cursor can now enter fixed columns #1799