Chris Vest
88037717e6
Add a sort method to SelectView, to easily sort all contained items lexicographically by their label. ( #329 )
...
* Add a sort method to SelectView, to easily sort all contained items lexicographically by their label.
* Add more sort methods to SelectView, bringing the API up to parity with Vec (except SelectView does not expose _unstable_ sorting).
* Rename SelectView::sort to sort_by_label to make it clear that it does not sort by the ordering of the items.
* The Ord implementation for select_view::Item is not necessary.
* Implement a SelectView::sort method for when the item values are orderable.
2019-03-30 10:22:08 -07:00
Alexandre Bury
ebfeef06d9
Update changelog
2019-03-28 17:39:12 -07:00
Alexandre Bury
8ce3a667f7
Add Cursive::set_fps
2019-03-28 17:33:15 -07:00
Alexandre Bury
3099588f16
Fix spans tests
2019-03-20 17:08:03 -07:00
Alexandre Bury
038294339d
Fix clippy warning
2019-03-20 17:05:18 -07:00
Alexandre Bury
aeb0d88987
Skip width computation in print_styled
2019-03-20 16:57:48 -07:00
Alexandre Bury
c9dc371223
Add width field to Span and IndexedSpan
2019-03-20 16:48:48 -07:00
Alexandre Bury
57f9b05d64
Bump version to 0.11.1
2019-03-16 16:26:35 -07:00
Alexandre Bury
19ad7b6cc3
Use hashbrown::HashMap
2019-03-16 16:16:30 -07:00
Alexandre Bury
3a0b49088b
Add manual scroll methods to scroll::Core
2019-03-12 15:42:36 -07:00
Chris Vest
ea7b5dbae2
Add Backend::print_at_rep and make Printer::print_hline use it. ( #326 )
...
* Add Backend::print_at_rep and make Printer::print_hline use it.
This avoids a string allocation in `print_hline` and makes it faster, presumably for all backends.
This speeds up the rendering of the background in StackView.
* Fix a bug in how Printer::print_hline computes the repetition count.
2019-03-12 15:03:00 -07:00
Alexandre Bury
4b5a7867e3
Refactor scroll::Core mechanism.
...
Moved most View-trait-performing-functions outside of `scroll::Core`
into `scroll::raw`.
Added a `Scroller` trait and convenience methods like `scroll::layout` to
weave the borrows appropriately.
2019-03-12 14:31:56 -07:00
Alexandre Bury
e5ef01c90f
Merge pull request #327 from chrisvest/avoid-grapheme-iteration
...
Avoid iterating graphemes unless we have to.
2019-03-12 13:55:49 -07:00
Chris Vest
561b83dbc9
Avoid iterating graphemes unless we have to.
...
Iterating graphemes with `text.graphemes(true)` is somewhat expensive due to the complexity of unicode.
However, we were doing it _twice_ in the `Printer::print` method in order to truncate the input text to fit the content area.
This changes that method to track the width of the intput text, and only do the grapheme iteration when truncation is actually necessary.
2019-03-12 21:30:46 +01:00
Alexandre Bury
af566dd57f
Merge pull request #325 from chrisvest/faster-with_color-ncurses
...
Use a single hashmap lookup instead of two for resolving ncurses colours.
2019-03-12 09:36:02 -07:00
Chris Vest
0dfa337ba4
Use a single hashmap lookup to determine if a color has been resolved, and to what, instead of two lookups.
2019-03-12 09:54:48 +01:00
Alexandre Bury
b2a0fa18ff
Disable dead code lint for unstable module
2019-03-11 11:52:58 -07:00
Alexandre Bury
0ec1a77849
Bump version to 0.11.0
2019-03-11 00:04:45 -07:00
Alexandre Bury
91a78f402b
Hide view::scroll behind unstable_scroll feature
2019-03-11 00:03:54 -07:00
Alexandre Bury
12ad66badd
Migrate MenuPopup to new scrollbase
2019-03-08 13:57:05 -08:00
Alexandre Bury
ae0e9216ce
Add new ScrollBase
2019-03-07 22:33:43 -08:00
Alexandre Bury
bc7972d539
Reorganize scroll module files
2019-03-07 19:08:31 -08:00
Alexandre Bury
6f28569dae
Move logic from ScrollView
to ScrollCore
2019-03-04 20:08:40 -08:00
Alexandre Bury
ef4448efe2
Merge pull request #322 from yaymukund/fix-docs-typo
...
Fix a typo in text-view.rs (`content` -> `view`)
2019-03-04 12:48:55 -08:00
Alexandre Bury
e839bb8274
Add Printer::{shrinked,cropped}_centered
2019-03-04 12:34:50 -08:00
mukund
bfbdf5c26b
Fix a typo in text-view.rs (content
-> view
)
2019-03-04 12:10:35 -08:00
Alexandre Bury
5d51ccb9ad
Mention tui-rs in Readme
2019-03-04 11:12:51 -08:00
Alexandre Bury
ff64c7191b
Update CHANGELOG.md
2019-03-04 10:34:47 -08:00
Alexandre Bury
242a3c68a7
Fix clippy warnings
2019-03-04 10:31:36 -08:00
Alexandre Bury
ed7fca5b54
Updated CHANGELOG.md with dedicated breaking changes section
2019-03-03 19:41:27 -08:00
Alexandre Bury
9cd4f21963
Check $TERM on pancurses as well
2019-03-03 19:31:13 -08:00
Alexandre Bury
f765e9ac07
Cursive::ncurses & cie now return io::Result<Self>
2019-03-03 19:24:39 -08:00
Alexandre Bury
dcee6da16a
ncurses: panic with error message if $TERM is unset
2019-03-03 18:24:04 -08:00
Alexandre Bury
4f34e97f27
Add user-data
2019-03-03 18:06:50 -08:00
Alexandre Bury
8562654553
Update CHANGELOG.md
2019-03-03 17:45:48 -08:00
Alexandre Bury
bcf5840c52
Add LinearLayout::{insert_child, swap_children, set_weight}
2019-03-03 10:55:43 -08:00
Alexandre Bury
786ad83413
Merge pull request #321 from chrisvest/panel-title-space
...
Reduce the title drawing cut-off point by 2 characters.
2019-03-03 10:40:44 -08:00
Chris Vest
7564a5d1db
Reduce the title drawing cut-off point by 2 characters.
...
Panels and dialogs have borders with corners.
Previously, the title would draw over the border corner, including its own end-points.
Now the cut-off point is such that we do not draw the title if the right-hand end point and the border-corner do not also fit.
2019-03-03 10:37:53 +01:00
Alexandre Bury
40adcffbf5
Revert "use ... as _" to stay compatible with rust 1.31
2019-03-01 09:29:56 -08:00
Alexandre Bury
b83ab6f2d3
Enable raw mode for pancurses
2019-02-28 16:22:48 -08:00
Alexandre Bury
53ebf90c0c
Enable raw mode for ncurses
2019-02-28 16:20:07 -08:00
Alexandre Bury
0efba6bff6
Update CHANGELOG.md
2019-02-28 16:07:44 -08:00
Alexandre Bury
06b02e4665
Remove "extern crate" and rustfmt
2019-02-28 16:04:14 -08:00
Alexandre Bury
e096dc9740
Run cargo fix --edition-idioms
2019-02-28 15:55:10 -08:00
Alexandre Bury
e51be07e5d
Update to Rust 2018
...
Run `cargo fix --edition` and update Cargo.toml
2019-02-28 15:54:12 -08:00
Alexandre Bury
88d2fb1f46
Simplifies backend input
2019-02-28 13:41:40 -08:00
Alexandre Bury
9bcbda4e7b
Update Cursive::new example to compile on windows
2019-02-24 18:39:17 -08:00
Alexandre Bury
9bad00144b
Update ncurses to 5.99.0
2019-02-24 17:32:03 -08:00
Alexandre Bury
0fbb1c9cdd
Do not run Cursive::new test
2019-02-22 16:14:07 -08:00
Alexandre Bury
8fe9a1d54e
Better documentation for Cursive
2019-02-22 15:30:22 -08:00