Commit Graph

72 Commits

Author SHA1 Message Date
Tejun Heo
529aff0f23
Make SpannedString iterators double ended & exact sized (#524)
So that users can, for example, do .spans().len() to determine the number of
spans.
2020-11-26 13:38:27 -08:00
Alexandre Bury
b79ccf62da Manually derive Clone for RadioGroup<T>
To avoid the `T: Clone` bound.
2020-11-10 08:34:40 -08:00
Alexandre Bury
fb23445e1d Add Cursive::screen_size based on last layout phase 2020-10-26 12:30:00 -07:00
Alexandre Bury
58bbae5ec8 Rename SpannedString::shrink_to_fit -> trim 2020-10-15 17:38:13 -07:00
Alexandre Bury
382557f713 Add mutable attribute access to SpannedStrings 2020-10-15 17:22:44 -07:00
Alexandre Bury
60fcbba54a Add public TextContent::with_content 2020-10-15 16:17:39 -07:00
Alexandre Bury
b03eafaabb Add methods to remove from a SpannedString and shrink it 2020-10-15 16:11:29 -07:00
Alexandre Bury
7f25dd71d3 Add Finder::call_on_all and Cursive::call_on_all_named 2020-10-15 13:58:24 -07:00
Alexandre Bury
47d8d23198 Fix clippy lints 2020-10-09 15:59:41 -07:00
Alexandre Bury
03cd0d41da Fix cursive_run doc 2020-10-09 15:44:48 -07:00
Alexandre Bury
801fa8e54b Deprecate ScrollBase 2020-10-09 15:44:35 -07:00
Robin Krahl
28c64958ca
Implement FromIterator for SpannedString (#512)
This patch implements FromIterator<SpannedString<T>> for
SpannedString<T> to make it easier to create strings programatically.
We could also use fold directly without extracting the first element,
but that would require an additional allocation.
2020-10-07 10:55:12 -07:00
Robin Krahl
0e2a111f59
Mark XY::stack_{horizontal, vertical} as must_use (#511)
The method names stack_horizontal and stack_vertical don’t make it clear
whether the methods modify self or return the modified version.
Therefore, it is easy to use them wrong if you don’t look at the
documentation.  This patch adds the must_use attribute to both methods
to make it easier to spot such mistakes.
2020-10-06 14:21:56 -07:00
Robin Krahl
3f60d383aa
Implement FromIterator for Style (#510)
This patch implements FromIterator<&Style> and FromIterator<T:
Into<Style>> for Style to make it easier to programatically create
styles.  Style already has a merge method, but it takes a slice instead
of an iterator.
2020-10-06 14:05:52 -07:00
Robin Krahl
02ce9f8a35
Derive Default for XY (#509)
This patch derives Default for XY<T>.  This makes it easier to deal with
types like XY<usize>.
2020-10-06 13:12:29 -07:00
Robin Krahl
f694e2ae25
Remove outdated comment from button.rs (#508)
Before commit f9c9e56518, this match
interpreted the key code 10 as the Enter key.  Since it now uses the
Key::Enter variant instead, the comment explaining the magic number is
no longer needed.
2020-10-06 12:31:40 -07:00
Alexandre Bury
e7a813b383 Fix chunk_iterator with empty spans after hard-stop 2020-08-26 16:44:56 -07:00
Alexandre Bury
b5651e3ac4 Add test for empty span after hard-stop 2020-08-26 16:44:41 -07:00
Alexandre Bury
7e32e0649e Fix handling of multi-bytes newlines 2020-08-26 15:19:51 -07:00
Alexandre Bury
f13914a272 Add test 2020-08-26 15:19:40 -07:00
Alexandre Bury
ad935f5126 ScreensView: dispatch call_on_any and focus_view to all screens 2020-08-23 10:18:01 -07:00
Alexandre Bury
b75b5017e1 ScrollView: Do not change offset in directionless focus change 2020-08-17 10:50:33 -07:00
Alexandre Bury
2cd6d7a80c Make backends pausable 2020-08-04 23:24:11 -07:00
Alexandre Bury
b4b8f951fb Add non-chained methods to ProgressBar 2020-08-02 17:16:13 -07:00
James Tai
bc49eebeb8
Fix text alignment when wrapped (#471)
* Fix text alignment when wrapped

This changes the `LinesIterator` to return a `width` that corresponds
with the actual total length of the chunks, rather than returning the
total available width, when a line is wrapped. This effectively reverts
20cb033b8d (I am not sure why that commit
changed it).

* Add `is_wrapped` flag to `Row`

* Fix TextArea width with wrapped rows

Co-authored-by: Alexandre Bury <alexandre.bury@gmail.com>
2020-07-25 16:51:33 -07:00
Matthias Beyer
d96904a07d
Fix typo (#474)
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2020-07-23 08:50:26 -07:00
Alexandre Bury
b7bf861554 Reword cursive_core::backend module doc 2020-07-20 08:54:38 -07:00
Alexandre Bury
d31d0d0d76 Derive more stuff 2020-07-13 12:54:03 -07:00
Alex Parrill
afe3123dac
Derive Clone+Copy for Align, HAlign, VAlign (#469)
Fixes #468
2020-07-12 21:17:52 -07:00
Alexandre Bury
56008db796 Enable multi-rows views in ListView 2020-07-07 00:11:52 -07:00
maxim
63b438188f [Doc] Improves the documentation about using custom themes
As starting to use the cursive library I've found it challenging to
figure out how to actually use the themes. Only after checking the
source code, and another library actually using this feature, I've
managed to apply it to my project.

This change makes it easier for new commers to use toml themes by
extending the documentationn
2020-07-06 15:15:35 -07:00
Alexandre Bury
4d322eb42d Rename master branch -> main 2020-07-06 15:03:29 -07:00
Alexandre Bury
db9a3c32b1 Fix scroll::core size handling 2020-07-06 10:23:49 -07:00
Alexandre Bury
2e308d8d26 Fix bad scrolling detection 2020-07-05 15:29:30 -07:00
Alexandre Bury
e8960fe89d Bump cursive-core to 0.1.1 2020-07-04 10:29:45 -07:00
Alexandre Bury
adec5ae066 Loosen dependencies 2020-07-04 10:27:02 -07:00
Alexandre Bury
945fe1aa45 Update dependencies 2020-07-04 10:18:30 -07:00
Alexandre Bury
f047ee5f5c Remove inferred lifetime parameters to Printer 2020-07-03 20:38:08 -07:00
Alexandre Bury
7ca0b145bd Make Cursive::dump take &mut self 2020-07-03 09:17:50 -07:00
Alexandre Bury
58ef6c298b Add NamedView::{name, set_name} and {LinearLayout,FixedLayout}::find_child_from_name 2020-07-02 23:59:55 -07:00
Alexandre Bury
421c08c922 Add missing method to FixedLayout 2020-07-02 23:59:55 -07:00
Alexandre Bury
f5687f5eab Fix FixedLayout::required_size 2020-07-02 23:59:55 -07:00
Alexandre Bury
9e5491bda2 Remove debug log and fix initial focus (again) 2020-07-02 23:59:55 -07:00
Alexandre Bury
f2b1fac679 Fix bad initial focus 2020-07-02 23:59:55 -07:00
Alexandre Bury
81e64da72a Add OnLayoutView 2020-07-02 23:59:55 -07:00
Alexandre Bury
bd6386fd74 Add FixedLayout 2020-07-02 23:59:55 -07:00
Alexandre Bury
28cd51c265 Add Cursive::dump 2020-07-02 23:58:54 -07:00
Alexandre Bury
9bc1cd04c3 Add ScrollView::on_scroll 2020-06-30 23:22:44 -07:00
Alexandre Bury
16b4908443 Mention Direction::None in View::take_focus 2020-06-27 10:49:59 -07:00
Alexandre Bury
b6444524ad Fix link to edit example on github 2020-06-20 15:31:12 -07:00