Commit Graph

248 Commits

Author SHA1 Message Date
Alexandre Bury
1551fbb543 Add View::as_any and View::as_any_mut 2018-01-22 09:20:45 -08:00
Alexandre Bury
c3f2e9ad9c Add LinearLayout::get_child and get_child_mut 2018-01-17 11:07:04 -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
6bb0812a39 TextArea: invalidate cache on set_content 2018-01-16 10:30:26 -08:00
Alexandre Bury
51eb6bf34c Have TextView::content take Into<StyledString> 2018-01-15 14:13:30 -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
3058816f1a Add Dialog::buttons to iterate on buttons 2018-01-12 09:33:54 +01:00
Alexandre Bury
56f81eee7c Add Button::set_label 2018-01-12 09:33:47 +01:00
Alexandre Bury
0666a8b585 Button: add a way to get its label 2018-01-12 09:30:49 +01:00
Alexandre Bury
14f2bf636c OnEventView: add note regarding single callback per event 2018-01-11 18:49:48 +01:00
Alexandre Bury
4879d8cc71 Fix ending newline problem 2018-01-11 00:16:13 +01:00
Alexandre Bury
890b3f13e1 TextView: print styled spans of text 2018-01-10 23:58:29 +01:00
Alexandre Bury
4383526ec0 Fix some clippy warnings 2018-01-09 15:20:07 +01:00
Alexandre Bury
f8588e74c1 Rustfmt 2018-01-09 15:17:49 +01:00
Alexandre Bury
d41f1e937d Menubar: trigger leaf nodes on mouse release
Feels more natural
2018-01-09 14:53:55 +01:00
Alexandre Bury
d384cbdaf1 Allow menu leaves and delimiter in menubar 2018-01-09 14:37:40 +01:00
Alexandre Bury
df97279442 TextView: add manual scroll methods 2018-01-08 19:02:35 +01:00
Alexandre Bury
c4670e5262 More utils re-organization 2018-01-08 12:33:43 +01:00
Alexandre Bury
7ac003c4de Re-organize utils module 2018-01-08 12:07:07 +01:00
Alexandre Bury
aa9db30a51 Add TextView::set_effect 2018-01-05 14:20:09 +01:00
Alexandre Bury
895557e91d Fix TextView deadlock 2018-01-05 14:20:08 +01:00
Alexandre Bury
08a935d561 Don't run test examples when we call Cursive::new
It fails with some backends.
2017-12-31 20:29:05 +01:00
Alexandre Bury
8a05bd5421 TextView: improve documentation 2017-12-31 19:49:13 +01:00
Alexandre Bury
65ea8eeec8 No need to clone the Arc 2017-12-31 14:14:19 +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
8da659367d Add StackView::move_layer 2017-12-18 18:18:23 +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
1b7170e308 StackView: store Layer<Box<V>> rather than Box<Layer<V>>
Rather than storing a Layer<V> as a Box<View>,
stores a Layer<Box<View>>, so we can unwrap it when
popping layers.
2017-12-16 14:41:15 +01:00
Marcel Hellwig
9ce8896bba
updated dialog doc to reflect the default position 2017-12-12 09:19:05 +01:00
Marcel Hellwig
f8e7427f75 simplified offset calculation in dialogboxtitle 2017-12-12 09:07:13 +01:00
Marcel Hellwig
592ecf4c09 added option to position the header in a dialog 2017-12-12 08:38:14 +01:00
Alexandre Bury
9b9619aa53 Add View: Any 2017-12-11 18:54:40 -08:00
Alexandre Bury
bbee77f1b7 Add ViewWrapper::into_inner
And add some derive(Debug)
2017-12-11 17:31:55 -08:00
Alexandre Bury
d328138531 OnEventView: better doc 2017-12-07 16:47:56 -08:00
Alexandre Bury
93c672df9d TextArea: fix possible panic with multi-bytes characters 2017-12-07 14:33:01 -08:00
Alexandre Bury
a7d38d9608 MenuPopup: better mouse scroll alignment 2017-12-07 14:14:52 -08:00
Alexandre Bury
fdf4a0db4b TextArea: fix cursor after content change 2017-12-07 13:48:41 -08:00
Alexandre Bury
70906aa5de Add mines example 2017-11-29 02:11:11 -08:00
Alexandre Bury
6bc63a40c5 Remove odds dependency
Now that `Vec::splice` is stable.
Note: this means rustc >= 1.22 is required.
2017-11-25 10:16:35 -08:00
Alexandre Bury
6fe6b72f89 Use std::cmp::min rather than usize::min 2017-11-19 15:44:28 -08:00
Alexandre Bury
1f1a651371 Fix linear layout offset check 2017-11-17 12:42:30 -08:00
Alexandre Bury
dc75cdd115 LinearLayout: use ChildIterator everywhere
For a more consistent sizing.
2017-11-06 23:51:44 -08:00
Alexandre Bury
11ea8a592b Never layout a child larger than the parent 2017-11-06 17:12:39 -08:00
Adrian Neumann
c92b1acb6e Ignore keys properly in SelectView::on_event
on_event consumes all keypresses by trying to jump to the item that matches the char. Even if no such item is found, the key event is lost to the rest of the application. By returning EventResult::Ignored when the key press has no effect, the key event that have no effect on the SelectView can still be used by somebody else.
2017-10-26 20:23:00 +02:00
Alexandre Bury
e7ee525bb6 Fix possible panic in ListView 2017-10-14 23:08:18 -07: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
294a4102b4 Fix mouse support for ListView 2017-10-14 21:01:07 -07:00
Alexandre Bury
850e0b2cd1 Better bounds on SelectView clickable area 2017-10-13 18:11:25 -07:00
Alexandre Bury
ca23a9c10f Fix mouse position with TextArea 2017-10-13 18:04:41 -07:00
Alexandre Bury
a5952d0741 Fix some mouse/scroll issues with SelectView and TextView 2017-10-13 17:53:39 -07:00
Alexandre Bury
9026d87aab Fix panic with mouse click in TextArea 2017-10-13 16:29:53 -07:00
Alexandre Bury
a4874beee0 Use intermediate type
Again, to fix a clippy warning.
2017-10-13 15:40:33 -07:00
Alexandre Bury
d6c282a799 Open menubar with Press rather than Release 2017-10-13 15:22:59 -07:00
Alexandre Bury
1ba00032a1 Fix menubar mouse behaviour 2017-10-13 15:17:41 -07:00
Alexandre Bury
93982517ae Fix clippy warnings 2017-10-13 11:24:17 -07:00
Alexandre Bury
111d593f55 Merge branch 'master' 2017-10-13 11:01:39 -07:00
Alexandre Bury
ef0909d41e Add mouse support to Slider 2017-10-13 10:53:24 -07:00
Alexandre Bury
ab1f4a2ba6 Correct event relativization in Panel 2017-10-12 20:43:33 -07:00
Alexandre Bury
67a6640142 Add mouse support to TextArea 2017-10-12 20:41:34 -07:00
Alexandre Bury
def6b3af27 Fix compilation 2017-10-12 20:13:49 -07:00
Alexandre Bury
aaf41f3ec4 Add mouse support to EditView 2017-10-12 17:38:21 -07:00
Alexandre Bury
0150ebfc9e Add mouse support to LinearLayout 2017-10-12 17:29:19 -07:00
Alexandre Bury
13059dae0b Add mouse support to radio view 2017-10-12 17:29:12 -07:00
Alexandre Bury
1b67c3eceb Add mouse support to menubar and MenuPopup 2017-10-12 16:44:03 -07:00
Alexandre Bury
f64ce80a58 Add mouse support to ListView 2017-10-12 16:44:03 -07:00
Alexandre Bury
394e61a328 Fix SelectView mouse handling 2017-10-12 16:44:03 -07:00
Alexandre Bury
75d5868162 Fix shadowview event relativization 2017-10-12 16:44:03 -07:00
Alexandre Bury
a4ca7bbf1e Rustfmt 2017-10-12 16:43:59 -07:00
Alexandre Bury
75ad6315e1 Add mouse support to checkbox 2017-10-12 15:10:09 -07:00
Alexandre Bury
2fed1f3ff4 Add mouse support for regular SelectView 2017-10-12 14:32:48 -07:00
Alexandre Bury
5931ab17c8 Add mouse scroll support to TextView 2017-10-11 18:06:58 -07:00
Alexandre Bury
a6fb0e71cd Include padding and borders in Dialog event relativization 2017-10-11 15:13:10 -07:00
Alexandre Bury
2932b9de50 Remove eprintln debug lines 2017-10-11 15:08:19 -07:00
Alexandre Bury
f3528088cd Add mouse support to Dialog and Button 2017-10-11 15:07:25 -07:00
Alexandre Bury
f02dda5a0a Docs 2017-10-11 11:51:46 -07:00
Alexandre Bury
4e07d8891f Add mouse event relativization to StackView and ShadowView
So that key_codes example works fine.
2017-10-11 11:35:18 -07:00
Peter Kloss
759f57f1f8 fix some clippy warnings 2017-10-11 18:09:49 +02:00
Alexandre Bury
6fa5b18cc6 Add Canvas::wrap(View)
Behaves like a dynamic ViewWrapper
2017-09-23 13:33:10 -07:00
Alexandre Bury
da6a92f508 feat: Add SelectView::select_{up,down} 2017-08-23 17:01:07 -07:00
Alexandre Bury
6bb3e88c2e feat: Add pre-events and inner events to OnEventView 2017-08-23 16:43:17 -07:00
hcpl
ca4410030a Use log crate
This provides a uniform way to handle logging and can be combined with
logs from other libraries in end-user apps.
2017-08-23 17:49:09 +03:00
Alexandre Bury
391c5af462 Fix assert 2017-08-15 09:33:50 -07:00
Alexandre Bury
a48ff9082f Replace println_stderr! with eprintln! 2017-08-14 17:01:49 -07:00
Alexandre Bury
05bac7a192 More safe subtractions all around. 2017-08-14 16:32:39 -07:00
Alexandre Bury
4b59808f84 Safer substractions
Use more saturating_sub.
Fixes #148.
2017-08-14 15:13:49 -07:00
Alexandre Bury
22b8364877 Fix clippy warnings
Add default implementations
Return &mut View instead of &mut Box<View>
2017-07-18 01:43:50 +02:00
Alexandre Bury
20e6938bbb fix: consider scrollable in TextArea required size 2017-07-18 00:15:05 +02:00
Alexandre Bury
94c67b2257 Update dependencies 2017-07-07 10:50:09 -07:00
Alexandre Bury
66af7fab7c IdView: skip view if borrowing fails.
Fixes #144
2017-07-03 01:29:30 -07:00
Alexandre Bury
93b5421f53 Rename KeyEventView to OnEventView 2017-06-12 16:39:20 -07:00
Alexandre Bury
6fa062775b Add non-chainable methods to MenuPopup 2017-06-12 16:39:20 -07:00
Alexandre Bury
ffe5b57749 Add ListView::is_empty 2017-06-08 09:41:53 -07:00
Alexandre Bury
d031d3784a Add methods to access ListView's children 2017-05-21 09:50:16 -07:00
Alexandre Bury
f608073bf5 Add Button::set_callback 2017-05-19 11:12:45 -07:00
quininer kel
f34e1d9a02 Fix VecExt::splice conflict with Vec::splice 2017-04-26 18:36:23 +08:00
Alexandre Bury
2fd30e3e10 TextArea: fix off-by-one required_size 2017-04-21 21:51:30 -07:00
Markus Unterwaditzer
3ec0eb3ff4 docs 2017-04-22 00:03:13 +02:00
Markus Unterwaditzer
065789c286 Grow horizontally as well 2017-04-21 23:58:19 +02:00