Commit Graph

1195 Commits

Author SHA1 Message Date
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
Alexandre Bury
d7e57fd280 Rename toggle_debug_view -> toggle_debug_console 2019-02-22 15:02:34 -08:00
Alexandre Bury
3a7e10cffe Update debug view 2019-02-22 13:55:07 -08:00
Alexandre Bury
8b3f5a8de7 Add CursiveLogger and DebugView 2019-02-22 12:38:16 -08:00
Alexandre Bury
4852d25f51 Fix doc for Finder::call_on 2019-02-22 10:26:56 -08:00
Alexandre Bury
28ce8ca8bd Rename Finder::find_id -> Finder::call_on_id and add proper find_id
The previous naming looked like a bad case of copy-pasta.
2019-02-21 11:21:06 -08:00
Alexandre Bury
027038db6f Add StackView::remove_layer 2019-02-12 17:24:34 -08:00
Alexandre Bury
6171930649 Update enum-map dependency 2019-01-30 14:55:48 -08:00
Alexandre Bury
ec8f7c93e8 Wrap each layer in a CircularFocus 2019-01-24 11:57:30 -08:00
Alexandre Bury
3e1eefd2db Add CircularFocus view
Can be used to have focus wrap around when pressing Tab or Arrow keys.
2019-01-24 11:47:22 -08:00