rat-widget

Crates.iorat-widget
lib.rsrat-widget
version0.31.0
sourcesrc
created_at2024-05-20 22:04:53.111136
updated_at2024-12-12 16:48:08.206499
descriptionratatui widgets extended edition
homepage
repositoryhttps://github.com/thscharler/rat-widget
max_upload_size
id1246224
size901,327
(thscharler)

documentation

README

crates.io Documentation License License

This crate is a part of rat-salsa.

For examples see rat-widget GitHub

Rat Widgets

This crate tries to provide an extended set of widgets with

  • Event handling
  • Focus handling
  • Builtin scrolling
  • Speed

Event handling

Uses the trait defined in rat-event to implement event-handling for crossterm. All widgets are designed with other event-handlers in mind.

Focus handling

Uses FocusFlag defined by rat-focus internally, to mark the focused widget. This is just a passive flag, that probably can be used with other focus systems. Or you use rat-focus.

Scrolling

Where it makes sense the widgets implement internal scrolling. They use Scroll from rat-scrolled.

Speed

Rendering all the widgets tries hard not to need allocations and extensive copying during rendering.

Special mentions:

  • rat-ftable::Table: It uses an adapter for the data for rendering instead of creating Row/Cell structs.

Widgets

All the widgets are plain ratatui widgets, and implement StatefulWidget and the (experimental) StatefulWidgetRef traits.

Event handling uses rat-event::HandleEvent. Currently, crossterm events are implemented.

and some adapters for ratatui widgets

Commit count: 392

cargo fmt