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
f5535f2db7
Update theme example to use Cursive::load_toml
2018-07-22 20:20:31 -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
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
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
a31dd01e5e
Remove debug line
2018-06-26 13:27:51 -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
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
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
Alexandre Bury
5e1956b737
Merge branch 'master' into scroll
2018-06-15 23:21:10 -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
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
f0b3287d73
Merge branch 'master' into scroll
2018-04-16 22:42:42 -07:00
Alexandre Bury
a355171844
Fix clippy warnings
2018-04-10 11:53:25 -07:00
Alexandre Bury
8641098781
Split Printer::sub_printer into sub-methods
2018-04-04 17:49:11 -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
Alexandre Bury
1ad515e5f0
rustfmt
2018-03-22 11:04:58 -07:00
Alexandre Bury
7db1ee7335
Reverse View and AnyView
...
We now have `View: AnyView`
2018-03-14 14:59:41 -07:00
Alexandre Bury
f27f7792df
Rename BoxableView -> IntoBoxedView
...
And add an implementation for Box<View>
2018-03-14 14:16:07 -07:00
Alexandre Bury
17ccda2d40
Use BoxableView trait bound
2018-03-14 13:39:30 -07:00
Alexandre Bury
48514991d2
Add Cursive::clear_global_callbacks
2018-03-05 15:25:36 -08:00
Gergely Nagy
f478d57e51
FnOnce callbacks can be sent to cb_sink
2018-02-12 22:44:50 +01:00
Gergely Nagy
0ceb4ff4e2
Run multiple callbacks per step as the documentation suggests
2018-02-12 22:44:50 +01: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
98aff39904
Move View::as_any
to separate trait AnyView
2018-01-22 11:50:25 -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
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
0c24ed369b
Allow multiple callbacks to be registered per event.
2018-01-11 18:47:44 +01:00
Alexandre Bury
2d62d2c91f
Add Cursive::active_screen
2018-01-11 18:20:23 +01:00
Alexandre Bury
fc8d428028
Fix doc test
2018-01-09 10:10:05 +01:00
Alexandre Bury
c486d96810
Don't run doc example
2018-01-09 09:50:22 +01:00
Alexandre Bury
203ec4ac76
Improve doc for Cursive::find_id
2018-01-09 09:26:05 +01:00
Alexandre Bury
e4cd68a4eb
Rustfmt
2017-12-30 23:03:42 +01:00
Alexandre Bury
bd9b6a695b
Return view on pop_layer
...
Callbacks now often allow (and ignore) a return type.
2017-12-16 14:41:15 +01:00
Alexandre Bury
f90621811c
More rustfmt
2017-10-14 21:18:50 -07:00
Alexandre Bury
46dec4b0ca
Fix clippy warning
2017-10-13 15:38:24 -07:00