Commit Graph

218 Commits

Author SHA1 Message Date
Alexandre Bury
8acc08f340 Rustfmt 2018-06-10 23:29:19 -07:00
Alexandre Bury
8edc0e20c9 Cargo fmt 2018-05-21 19:21:27 -07:00
Alexandre Bury
3bc07661d0 Add scroll example 2018-05-21 17:56:20 -07:00
Alexandre Bury
05e1212a50 Refactor Backend input model
Backends now have to send input to the given `chan::Sender<Event>`.
They send these events from a separate thread, allowing selection
between input and callbacks.

This currently breaks the BearLibTerminal backend, which requires all
calls to come from the UI thread.

This might not be super-safe for the ncurses backend also. We hope that
input and output are separate enough that they can run concurrently without
problem.
2018-05-20 09:59:35 -07:00
Alexandre Bury
4a3bbbb998 lorem example: remove unnecessary full_screen() 2018-05-07 23:18:22 -07:00
Alexandre Bury
a8326aef28 Fix key_codes example 2018-04-16 22:54:54 -07:00
Alexandre Bury
f0b3287d73 Merge branch 'master' into scroll 2018-04-16 22:42:42 -07:00
Alexandre Bury
ff9f669d73 Fix tests & examples 2018-04-10 12:51:40 -07:00
Alexandre Bury
b1e9afe0ff Add vpv example 2018-04-10 11:46:02 -07:00
Alexandre Bury
126530b9a9 Cursive::new now takes the backend as argument 2018-04-01 16:39:03 -07:00
Alexandre Bury
1ad515e5f0 rustfmt 2018-03-22 11:04:58 -07:00
Alexandre Bury
9bc723ab4a Do not accept any return value for callbacks
It got added so we could keep using `s.pop_layer()` in single-line callbacks.
It was confusing, and the return value was ignored anyway.
2018-03-16 15:50:56 -07:00
Alexandre Bury
8ecd4fdb62 Revert colors in mines example 2018-03-14 15:48:08 -07:00
Alexandre Bury
2cae042a85 Add title to lorem example 2018-02-20 11:09:45 -08:00
Alexandre Bury
62260a025e Rustfmt 2018-02-16 17:21:24 -08:00
Alexandre Bury
daac2d67b4 Add Vec2::saturating_add(XY<isize>)
And uses it to fix crash in position example
2018-02-07 16:44:22 -08:00
SEGFAULT
9e591ef635 Moving Windows in StackView (#200)
* Inital draft of reposition code.

* throwing it all in git so I can show @gycos the mess I made

* Cleaning up the example and removing that garbage getter function from StackView. More thought needs to be applied to that API.

* modified stackview to locally draw background, currently every frame. Adjusted surrounding elements to mirror this change.

* fixed dirty flag on stackView to use a cell. Also added dirty events on window resize.

* Final code cleanup.

* Fixed all highlighted issues in PR #200
2018-02-07 16:25:00 -08:00
Alexandre Bury
5dfdeab6ae Fix clippy warnings 2018-01-22 14:47:56 -08:00
Alexandre Bury
da8310b076 Rustfmt 2018-01-22 14:37:27 -08:00
Alexandre Bury
06086fdeb0 Dialog::get_content now returns &AnyView 2018-01-22 13:45:00 -08:00
Alexandre Bury
98aff39904 Move View::as_any to separate trait AnyView 2018-01-22 11:50:25 -08:00
Alexandre Bury
1551fbb543 Add View::as_any and View::as_any_mut 2018-01-22 09:20:45 -08:00
Alexandre Bury
431285135f Make Palette directly an EnumMap
Removes the "colors" intermediate member.
2018-01-21 11:17:22 -08:00
Alexandre Bury
0097789d46 Add examples descriptions 2018-01-18 10:32:08 -08:00
Alexandre Bury
5ac0fce363 Refactor ColorStyle
Add the notion of PaletteColor to use a color from the palette.

Breaking change: most color styles are now methods rather than enum
variants.
2018-01-17 10:22:06 -08:00
Alexandre Bury
868e59a4fa Add comments to examples 2018-01-15 18:55:27 -08:00
Alexandre Bury
39405ba1ec Refactor spans and markup
We now use mostly indexed spans into a source string.
Indexed Spans can still be resolved to a string slice when needed.
2018-01-15 13:53:27 -08:00
Alexandre Bury
5dcce6a965 Fix example without markdown feature 2018-01-11 00:03:42 +01:00
Alexandre Bury
890b3f13e1 TextView: print styled spans of text 2018-01-10 23:58:29 +01:00
Alexandre Bury
f8588e74c1 Rustfmt 2018-01-09 15:17:49 +01:00
Alexandre Bury
d384cbdaf1 Allow menu leaves and delimiter in menubar 2018-01-09 14:37:40 +01:00
Alexandre Bury
e4cd68a4eb Rustfmt 2017-12-30 23:03:42 +01:00
Alexandre Bury
799ec812e4 Add TextContent and TextContentRef
To manage the model separately from the view.
2017-12-30 23:00:48 +01:00
Alexandre Bury
fd259bf32c Mines example: add help message 2017-12-16 14:41:15 +01:00
Alexandre Bury
7ae754ce8f Extended text_area example 2017-12-07 15:49:12 -08:00
Alexandre Bury
70906aa5de Add mines example 2017-11-29 02:11:11 -08:00
Alexandre Bury
0b5b6ceace Add mouse support to pancurses 2017-11-19 00:40:56 -08:00
Alexandre Bury
e3b0ecbbd9 Add links to example Readme 2017-11-17 14:28:18 -08:00
Alexandre Bury
6e56dc427c Add example Readme 2017-11-17 11:27:24 -08:00
Alexandre Bury
420454cc0f Better mouse scroll drag
Now saturates when to the top or left.
2017-10-14 21:50:08 -07:00
Alexandre Bury
f90621811c More rustfmt 2017-10-14 21:18:50 -07:00
Alexandre Bury
a5952d0741 Fix some mouse/scroll issues with SelectView and TextView 2017-10-13 17:53:39 -07:00
Alexandre Bury
111d593f55 Merge branch 'master' 2017-10-13 11:01:39 -07:00
Alexandre Bury
a4ca7bbf1e Rustfmt 2017-10-12 16:43:59 -07:00
Peter Kloss
759f57f1f8 fix some clippy warnings 2017-10-11 18:09:49 +02:00
Alexandre Bury
976728fd25 Use full-width window for key_codes example 2017-10-10 17:50:06 -07:00
Alexandre Bury
c7f995fd72 Larger window for key_codes example 2017-10-08 16:01:04 -07:00
Alexandre Bury
ba5963a4f0 Fix colors example 2017-09-23 13:43:02 -07:00
Alexandre Bury
415d0bba96 Add j/k navigation to select example 2017-08-23 17:05:31 -07:00
Alexandre Bury
a48ff9082f Replace println_stderr! with eprintln! 2017-08-14 17:01:49 -07:00
Alexandre Bury
2ffae1f524 Rename {Color,ColorStyle}::Default to TerminalDefault 2017-07-18 01:36:34 +02:00
hcpl
9edc6ffc15 Add example that utilizes terminal default colors 2017-07-16 17:43:46 +03:00
Alexandre Bury
e4464cb44d Merge remote-tracking branch 'origin/master' into custom_color 2017-06-14 00:44:04 -07:00
Alexandre Bury
9089d9fd88 Cleaner colors example 2017-06-14 00:43:03 -07:00
Alexandre Bury
7a7ccbf45c Add colors example 2017-06-14 00:08:58 -07:00
Alexandre Bury
93b5421f53 Rename KeyEventView to OnEventView 2017-06-12 16:39:20 -07:00
Alexandre Bury
5c42a59954 Refactor colors management
Do not register pairs with backend. Let backend cache color pairs if
needed.
2017-06-12 11:59:33 -07:00
Alexandre Bury
9e1a83f7cc Set up Custom color in termion and ncurses backends 2017-06-11 15:01:35 -07:00
Alexandre Bury
f3f10b7088 Remove unused imports 2017-05-14 16:48:49 -07:00
Alexandre Bury
381e2d9d73 Update examples/logs.rs to use VecDeque
Instead of custom ring-buffer
2017-04-23 20:04:30 -07:00
Alexandre Bury
2fd30e3e10 TextArea: fix off-by-one required_size 2017-04-21 21:51:30 -07:00
Alexandre Bury
5ac68b1ebf Add focus switch to list_view example 2017-03-28 19:01:05 -07:00
Alexandre Bury
c3c69e7892 Merge IdView and RefCellView
And remove `with_id_mut`
2017-03-25 21:56:31 -07:00
Alexandre Bury
146ebd8931 Rename find_id -> call_on_id, find_id_mut -> find_id 2017-03-25 18:22:14 -07:00
Alexandre Bury
cdb3df7fc8 Merge branch 'master' into refview 2017-03-25 15:01:57 -07:00
Alexandre Bury
e0b279d9df Fix clippy warnings 2017-03-05 15:18:15 -08:00
Alexandre Bury
30f13fc260 Edit refcell_view example to use find_id 2017-02-26 16:01:23 -08:00
Alexandre Bury
23b0f9c168 docs: add refcell_view example 2017-02-26 15:53:12 -08:00
Alexandre Bury
b63762d441 View::find_any now takes a closure instead of returning reference
Also updated Finder::find and find_id.
2017-02-07 15:49:06 -08:00
Alexandre Bury
f504ad8f0e Add fullscreen layers to StackView
Fixes #87
2017-01-23 18:54:52 -08:00
Alexandre Bury
0977daa12d Unify method names on Menubar and MenuTree 2017-01-23 16:51:48 -08:00
Alexandre Bury
ed841825f2 Add methods to edit menubar and menutrees
Fixes #101
2017-01-23 15:50:56 -08:00
Alexandre Bury
90c9d51a6c Add comments to menubar example 2016-10-09 15:59:29 -07:00
Alexandre Bury
8fa704bcfa Rename Dialog::new -> Dialog::around
And `Dialog::empty` -> `Dialog::new`
2016-10-02 15:15:30 -07:00
Alexandre Bury
bf3888e275 Add RadioButton & RadioGroup 2016-10-02 14:57:09 -07:00
Alexandre Bury
d684a5bc1e Remove prelude module
Add `traits` module instead
2016-09-28 22:45:27 -07:00
Alexandre Bury
7e9609826c Fix clippy warnings 2016-09-28 15:07:02 -07:00
Alexandre Bury
53a5bf19f3 Slider example: initialize title 2016-09-25 08:44:51 -07:00
Alexandre Bury
ce6992a8c5 Add SliderView 2016-08-13 01:03:40 -07:00
Alexandre Bury
215e88ae3e Use Dialog instead of Panel in progress example 2016-08-05 10:48:23 -07:00
Alexandre Bury
e79cc61e08 Remove FullView 2016-08-04 20:03:48 -07:00
Alexandre Bury
f7a3d821d1 Actually use Theme::{shadow,borders} when drawing
Also add the 8 light base colors
2016-08-04 17:27:04 -07:00
Alexandre Bury
1052c0b74c Remove EditView::min_length
Uses `.fixed_width()` from `Boxable` or something like that.
2016-08-03 21:58:00 -07:00
Alexandre Bury
b38995b906 Refactor BoxView
Add `Boxable` trait.
2016-08-03 21:55:41 -07:00
Alexandre Bury
bd78418083 Add scrollbar_padding to ScrollBase
And use it in TextArea
2016-08-02 00:49:59 -07:00
Alexandre Bury
75c365451f Add initial TextArea 2016-08-02 00:32:16 -07:00
Alexandre Bury
ede5c616f6 Update EditView doc
With updated `examples/edit.rs` content
2016-07-31 17:53:00 -07:00
Alexandre Bury
d12622b56a Fix examples and tests 2016-07-30 13:30:56 -07:00
Alexandre Bury
40f9a91a7a Replace some &str -> S: Into<String>
Add back the "Ok" button to `examples/edit.rs`
2016-07-30 12:58:25 -07:00
Alexandre Bury
ca6e16311f Add secret mode to EditView
Only prints `*`. Prints `**` with wide chars.
2016-07-30 12:26:41 -07:00
Alexandre Bury
3726df46b7 Add on_submit to EditView
It simplifies the Edit example
2016-07-30 02:34:47 -07:00
Alexandre Bury
42a377d92b SelectView: add methods to add items from iterators 2016-07-30 01:52:34 -07:00
Alexandre Bury
f87d0e7c5b Move views to new views module 2016-07-28 16:36:01 -07:00
Alexandre Bury
2597c9a566 Add a center() convenient method to TextView
Avoids having to import HAlign
2016-07-27 23:58:57 -07:00
Alexandre Bury
261d2aac48 Remove Ticker alias
The `Counter` NewType can fill this role.
2016-07-27 23:55:34 -07:00
Alexandre Bury
5ce1094931 Better progress bar example
Shows multiple progress bars updated together.
2016-07-27 23:52:21 -07:00
Alexandre Bury
8eb61e0239 Add start and with_task to ProgressBar 2016-07-26 12:25:06 -07:00
Alexandre Bury
0643c50bd5 Add async-callback channel to Cursive
And remove it from ProgressBar
2016-07-26 10:13:36 -07:00
Alexandre Bury
6e021867ab ProgressBar now shows a percentage status
The label can be customized though `ProgressBar::with_label`.
2016-07-25 23:54:33 -07:00
Alexandre Bury
5dd20db676 Add Dialog::empty and Dialog::content
Allows to set the content after the title, for when it's more
readable.
2016-07-25 20:43:01 -07:00