A Text User Interface library for the Rust programming language
pancurses
backend for now)ViewWrapper
implementation (and therefore an automatic View
implementation) for any type that implements DerefMut<Target: View>
- this means View
is automatically implemented for &mut View
, Box<View>
...Canvas::wrap(View)
: this allow to wrap a view and easily override some of its methods.XY<usize>::saturating_sub()
XY<usize>::checked_sub()
XY<usize>::signed(self) -> XY<isize>
XY<O: Ord>::fits
as a reverse of XY<O: Ord>::fits_in
.LinesIterator
(#147).Color::TerminalDefault
and ColorStyle::TerminalDefault
, to use the terminal's default colors (background and font color used outside of cursive).TextAreas
.Cursive::find_id
(#114).ColorStyle::Custom
to allow use of colors outside of palette.Button::set_callback
Cursive::run
(for multiple event loop segments)odds::vec::VecExt::splice
TextArea
EditView
with EditView::set_style
Cursive::find_id
now returns a ViewRef
, which provides DerefMut
but isn't tied to the lifetime of the Cursive
root, allowing more natural access.Cursive::call_on_id
which takes a closure to run on the target view.on_edit
callback to EditView
event::Event::Unknown
now carries the unknown bytes rather than an integer.event::Event
is therefore no longer Copy
Cursive::focus_id
to move the focus to the target view.*-backend
utils::prefix_length
-> utils::prefix
(and also return the width)Canvas
viewTextView
easier to use when appending content
TextView::append_content()
ScrollStrategy
to control scroll behavior on content change.Menubar
easier to use with dynamic content
StackView
View::get_min_size
-> View::required_size