Commit Graph

1368 Commits

Author SHA1 Message Date
Shixin Zeng
df0391aef2 [PAN] Interprete 'carriage return' as 'enter' (#342)
Pancurses returns different key codes for "Enter" in the normal area
('\r'), and the one in the numpad ('\n'). Cursive only interpretes '\n'
as Enter, and leaves '\r' as CtrlChar('m'), which is different than
that with NCurses on Linux, and makes 'Enter' key not trigger a clicked
event on buttons.
2019-05-08 10:07:05 -07:00
Gergely Nagy
cf86f64334 Enable horizontal scrollbar for debug console (#341) 2019-05-06 13:23:41 -07:00
Alexandre Bury
fb0d26fb4a Add Cursive::take_user_data 2019-04-24 11:48:51 -07:00
Alexandre Bury
a159753ad1 (cargo-release) start next development iteration 0.11.2 2019-04-18 13:49:36 -07:00
Alexandre Bury
1c73f8edff (cargo-release) version 0.11.2 2019-04-18 13:49:14 -07:00
Alexandre Bury
21a43d2b1c Update changelog 2019-04-17 12:13:52 -07:00
Alexandre Bury
e4d92cda66 Add newline at end of gitignore file 2019-04-17 12:09:37 -07:00
Alexandre Bury
26ea559479 Fix clippy warnings 2019-04-17 11:47:01 -07:00
Timon
34ecb67f1b Added crossterm backend. (#335)
Add a backend using the crossterm library.
2019-04-17 11:36:32 -07:00
Alexandre Bury
ea9d215fa3 Fix markdown tests 2019-04-15 15:50:52 -07:00
Alexandre Bury
ac28309b3b Use cfg-if for to define Cursive::default()
And update other dependencies
2019-04-15 15:47:23 -07:00
Alexandre Bury
51c6450688 Rustfmt 2019-04-11 17:08:55 -07:00
Alexandre Bury
158bc65c33 Add direct downcast methods to AnyView 2019-04-08 17:44:42 -07:00
Arnav Singh
070508f0cf Cursive::step() now returns true if something interesting happened. (#332)
Also make `Cursive::refresh()` public so that callers can force a refresh.

Fixes #331
2019-03-30 11:24:47 -07:00
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