Alexandre Bury
12d5e260f0
Fix ScrollView layout size
2018-07-25 20:58:22 -07:00
Alexandre Bury
28bb7af6af
Add Callback::from_fn_mut
...
Cursive::add_global_callback now takes a FnMut
2018-07-25 15:05:18 -07:00
Alexandre Bury
b2d800c798
Fix panic with empty LinearLayout
2018-07-25 09:12:27 -07:00
Alexandre Bury
62807f84fb
Fix ScrollView layout size
2018-07-24 23:32:36 -07:00
Alexandre Bury
61543d99b3
Fix event priority in ScrollView
2018-07-24 23:09:09 -07:00
Alexandre Bury
09fcbf225e
Fix underflow in ScrollView
2018-07-24 22:53:56 -07:00
Alexandre Bury
c49d18034d
Fix focus cycle on dialogs without buttons
2018-07-24 22:37:52 -07:00
Alexandre Bury
840fd627b7
Remove internal scrolling from SelectView
2018-07-24 19:38:24 -07:00
Alexandre Bury
49e1d1d15e
Remove internal scrolling from list_view
2018-07-24 19:06:07 -07:00
Alexandre Bury
1af1b9e5fd
Fix doc comment
2018-07-22 20:26:17 -07:00
Alexandre Bury
0046eba66d
SelectVIew::selection now returns Option<Rc<T>>
2018-07-22 20:25:13 -07:00
Alexandre Bury
f5535f2db7
Update theme example to use Cursive::load_toml
2018-07-22 20:20:31 -07:00
Alexandre Bury
4ccc07c6d3
Update pancurses backend handling of multiple events
2018-07-22 20:13:49 -07:00
Alexandre Bury
6a728bf234
Move resize thread handling to separate module
2018-07-19 21:11:50 -07:00
Alexandre Bury
f4530d688b
Fix compilation for non-Unix platforms
2018-07-19 20:50:46 -07:00
Alexandre Bury
5dfc27bd9f
Fix compilation error on BLT backend
2018-07-19 20:13:37 -07:00
Alexandre Bury
af4e55ed18
Fix dummy & blt backends
2018-07-19 19:45:26 -07:00
Alexandre Bury
2610b697a8
Rustfmt
2018-07-19 19:44:59 -07:00
Alexandre Bury
acd3bbfcca
Share resize thread logic between all unix backends
2018-07-18 20:01:26 -07:00
Alexandre Bury
e0cc2ea703
Share resize thread logic between ncurses backends
2018-07-18 19:49:10 -07:00
Alexandre Bury
fd75249633
Move resize-specific behaviour to backend
2018-07-18 18:17:39 -07:00
Alexandre Bury
1f1e238d2e
Fix pancurses for windows
2018-07-08 12:54:35 -07:00
Alexandre Bury
6135b0df79
Refactor input system
...
* Moves from chan to crossbeam-channel
* Moves from chan_signal to signal-hook
2018-07-08 12:49:12 -07:00
Alexandre Bury
4c70b79663
LinearLayout: fix focus after removing child
2018-06-27 13:32:39 -07:00
Alexandre Bury
a47537ec2c
Add Scrollable trait
2018-06-26 17:43:16 -07:00
Alexandre Bury
88fb6e7c54
Fix StackView tests
2018-06-26 15:19:00 -07:00
Alexandre Bury
927afafe88
Fix StackView::{get, get_mut}
2018-06-26 13:54:49 -07:00
Alexandre Bury
a31dd01e5e
Remove debug line
2018-06-26 13:27:51 -07:00
Alexandre Bury
70327a85e9
Add LinearLayout::remove_child
2018-06-26 13:27:14 -07:00
Alexandre Bury
acf075369c
Smoother progress bars
2018-06-26 13:17:57 -07:00
Alexandre Bury
a4111accce
Remove debug lines
2018-06-24 10:56:02 -07:00
Alexandre Bury
fda4bae8d6
Better ncurses synchronization
...
Prevent any concurrent access to ncurses in event-driven steps.
2018-06-23 18:41:15 -07:00
Alexandre Bury
e3887847fd
Remove ScrollBase from TextView
...
Wrap the `TextView` in a `ScrollView` to achieve scrolling.
2018-06-22 14:57:55 -07:00
Alexandre Bury
9a21273167
Fix scrollview cache
2018-06-22 14:50:48 -07:00
Alexandre Bury
3a9ee0df41
Fix scrollview mouse grab
2018-06-22 13:13:58 -07:00
Alexandre Bury
6ce2dba8a1
Fix clippy warnings
2018-06-21 14:44:30 -07:00
Alexandre Bury
bd78bca91b
Don't drag scrollbars if they're not visible
2018-06-20 17:35:58 -07:00
Alexandre Bury
2935f0f569
Add scroll strategy to ScrollView
2018-06-20 11:56:22 -07:00
Alexandre Bury
9bd1eb320d
Add size cache to ScrollView
2018-06-20 11:48:09 -07:00
Alexandre Bury
88a15a75f1
Dialog: add methods to deal with buttons
2018-06-18 23:22:16 -07:00
Alexandre Bury
6e1fc7fdb5
Update dependencies
2018-06-18 23:13:02 -07:00
Alexandre Bury
b96ea52a92
Do not import chan_signal if not required
2018-06-18 18:47:11 -07:00
Alexandre Bury
3f16e8ed60
Do not use chan_signal on windows
2018-06-18 16:50:09 -07:00
Alexandre Bury
26e5f51192
Use term_size instead of ioctl
2018-06-18 16:08:55 -07:00
Alexandre Bury
f3d822c00c
Fixes for ScrollView
2018-06-17 18:17:16 -07:00
Alexandre Bury
804e41ec43
Fix resize event
2018-06-17 17:26:03 -07:00
Alexandre Bury
14fe6f3b36
Cargo fmt
2018-06-16 13:23:09 -07:00
Alexandre Bury
35eb1ec5a2
Fix pancurses
2018-06-16 12:57:20 -07:00
Alexandre Bury
83bcf4fb72
Merge branch 'master' into callback_preemption
2018-06-16 11:03:39 -07:00
Alexandre Bury
3f5b37951b
Do not consume input before exit
2018-06-16 10:58:55 -07:00
Paul
03e143f4c3
Implement scroll_to_top, scroll_to_bottom, scroll_to_left, and scroll_to_right
2018-06-16 10:51:17 -07:00
Alexandre Bury
5e1956b737
Merge branch 'master' into scroll
2018-06-15 23:21:10 -07:00
Alexandre Bury
363913c68b
Fix panics from overflow subtraction
2018-06-15 23:13:57 -07:00
Alexandre Bury
5cf870baaf
Add scrollbar grab to ScrollView
2018-06-15 20:24:05 -07:00
Alexandre Bury
0c318b7194
Add scrollbars to ScrollView
2018-06-15 19:18:24 -07:00
Alexandre Bury
d52299a6e1
Add HideableView
2018-06-13 21:35:37 -07:00
Alexandre Bury
9569e991bf
Make Palette::add_namespace public
2018-06-10 23:35:31 -07:00
Alexandre Bury
8acc08f340
Rustfmt
2018-06-10 23:29:19 -07:00
Alexandre Bury
017e100b1b
Add custom values to Palette
...
This updates `Palette` to add a tree of custom values.
Branches from this tree can be copied back to the root with
Palette::merge. This can be used to group related values together.
2018-06-10 23:29:19 -07:00
Robin Stumm
e81e67cebe
add transparent layer to StackView
...
test StackView::get()
2018-06-06 13:44:20 +02:00
Alexandre Bury
70cddae454
Add comments
2018-05-21 22:51:10 -07:00
Alexandre Bury
8edc0e20c9
Cargo fmt
2018-05-21 19:21:27 -07:00
Alexandre Bury
2db49da1fe
Fix linearlayout focus grab
2018-05-21 18:08:41 -07:00
Alexandre Bury
5eddc1b89a
Scolling fixes
2018-05-21 17:54:43 -07:00
Alexandre Bury
94504ae91b
Scrollview: move offset to keep important area in view
2018-05-21 17:25:32 -07:00
Andrzej J Skalski
cabeef1d16
added with_theme to Printer
2018-05-21 15:53:38 +02:00
Alexandre Bury
c8d39910ab
Backend: add AtomicBool to stop input thread
2018-05-20 10:55:13 -07:00
Alexandre Bury
0b6e5b6ad4
Add event polling to Blt backend
...
Basically simulates a constant set_fps(30)
2018-05-20 10:42:52 -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
2088d5de2a
Cargo fmt
2018-05-17 17:37:39 -07:00
Alexandre Bury
755854963f
Fix clippy warnings
2018-05-17 17:35:57 -07:00
Alexandre Bury
80f66262be
Scrollview: use proper size for child's layout() call
2018-05-08 18:10:45 -07:00
Alexandre Bury
20cb033b8d
Give wrapped rows full width
2018-05-05 09:04:32 -07:00
Alexandre Bury
d4ced015f6
EditView: keep cursor in view after key event
2018-05-03 08:36:17 -07:00
Alexandre Bury
32ee2de697
Scrollview: take scrollbar size into account
2018-05-01 17:55:13 -07:00
Alexandre Bury
0fbc5a888e
Add inner size to printer
...
Renamed Printer::size -> output_size
2018-04-27 16:23:07 -07:00
Alexandre Bury
5586403080
printer: add doc
2018-04-24 17:19:07 -07:00
Alexandre Bury
8c2ff6bd4f
Handle content_offset in print methods
2018-04-17 17:22:56 -07:00
Alexandre Bury
b80af07268
Remove Printer::is_new
2018-04-17 16:35:56 -07:00
Alexandre Bury
f0b3287d73
Merge branch 'master' into scroll
2018-04-16 22:42:42 -07:00
Alexandre Bury
1f6de5a591
Initial scrollview implementation
2018-04-16 22:39:46 -07:00
Alexandre Bury
56ce95f9b6
Add some more XY methods
2018-04-16 22:39:27 -07:00
Alexandre Bury
39babacbf5
Add AnyCb type alias
2018-04-16 22:39:16 -07:00
Alexandre Bury
3731b7375d
Ncurses: better color approximation
...
On terminals with only 8 colors (like with `TERM=screen`)
2018-04-11 22:20:00 -07:00
Alexandre Bury
8c00b171c0
Ncurses: better color approximation
...
On terminals with only 8 colors (like with `TERM=screen`)
2018-04-11 22:16:08 -07:00
Alexandre Bury
ff9f669d73
Fix tests & examples
2018-04-10 12:51:40 -07:00
Alexandre Bury
a355171844
Fix clippy warnings
2018-04-10 11:53:25 -07:00
Alexandre Bury
b1e9afe0ff
Add vpv example
2018-04-10 11:46:02 -07:00
Alexandre Bury
063589b0cd
Move Counter to utils module
2018-04-10 11:45:36 -07:00
Alexandre Bury
d5178e778b
Do not flush stdout in ncurses backend
2018-04-09 10:06:11 -07:00
Alexandre Bury
2729e77838
Ncurses backend: write mouse command to /dev/tty
2018-04-08 22:51:51 -07:00
Alexandre Bury
b34fb14957
Use ncurses::newterm instead of initscr
...
This leaves stdout untouched, so it can better be composed in other
commands.
2018-04-05 17:40:08 -07:00
Alexandre Bury
8641098781
Split Printer::sub_printer into sub-methods
2018-04-04 17:49:11 -07:00
Alexandre Bury
4042a45b8d
Add basis for ScrollView
2018-04-04 17:48:51 -07:00
Alexandre Bury
fd09b5f806
Use Vec2 in backend methods
2018-04-02 18:08:12 -07:00
Alexandre Bury
126530b9a9
Cursive::new now takes the backend as argument
2018-04-01 16:39:03 -07:00
SEGFAULT
76d340f11d
Making backend::Backend
into a std::Box
able trait ( #229 )
...
* Making Backend into a Boxable Trait
* Fixed up some typos in the previous and modified some of the docs so they still compile.
* Minor Changes requested by @gyscos
* Whoops
2018-04-01 15:35:37 -07:00
marcin
9df4b21a26
Adding disable/enable functionality to text_area
2018-03-28 21:02:53 +02:00
Alexandre Bury
3588955f0b
Add SelectView::insert_item
2018-03-25 00:30:48 -07:00
Alexandre Bury
8f04356baa
Implement ListView::important_area
2018-03-23 17:00:46 -07:00