Alexandre Bury
06086fdeb0
Dialog::get_content now returns &AnyView
2018-01-22 13:45:00 -08:00
Alexandre Bury
8aa901afb4
Merge pull request #190 from xliiv/dialog-content-get
...
Add get_content on Dialog
2018-01-22 13:18:08 -08:00
Tymoteusz Jankowski
c119f957eb
Add Dialog.get_content
2018-01-22 21:01:23 +01:00
Alexandre Bury
3674c118cb
Rustfmt
2018-01-22 11:55:56 -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
208b812976
Fix doc link
2018-01-21 11:20:08 -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
b0f4dfbc17
Fix missing link
2018-01-20 21:18:29 -08:00
Alexandre Bury
c84bbbdf45
Update doc for theme module
2018-01-20 21:17:32 -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
d9215a2b39
Add Style::add
2018-01-16 22:41:22 -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
5003095171
Update ncurses and owning-ref dependencies
2018-01-15 13:58:26 -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
a9d9239fac
Correctly parse colors 232-255
...
Those are grayscale
2018-01-14 16:59:03 -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
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
4879d8cc71
Fix ending newline problem
2018-01-11 00:16:13 +01:00
Alexandre Bury
afb224b860
Protect against empty spans
2018-01-11 00:12:21 +01:00
Alexandre Bury
890b3f13e1
TextView: print styled spans of text
2018-01-10 23:58:29 +01:00
Alexandre Bury
6f468658e1
Add Plain markup implementation
2018-01-10 14:44:27 +01:00
Alexandre Bury
59d67e891c
Keep StyledString markup-agnostic, push trait to methods
2018-01-10 14:02:54 +01:00
Alexandre Bury
7ecf5f540b
Add markup::{Markup, StyledString}
2018-01-10 13:54:32 +01:00
Alexander Gavrilov
f8f23a5dda
Call resize_item on Windows only
2018-01-09 08:24:17 -08:00
Alexander Gavrilov
7469bd36be
Call resize_term on KeySize
2018-01-09 08:01:22 -08: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
ed94078218
Add span tests from markdown
2018-01-09 10:32:52 +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
df97279442
TextView: add manual scroll methods
2018-01-08 19:02:35 +01:00
Alexandre Bury
a2244f0ac1
Add markdown parser
2018-01-08 17:18:35 +01:00
Alexandre Bury
15c3e77fc4
Split theme.rs into multiple files
2018-01-08 16:11:12 +01:00
Alexandre Bury
c2d2fa0527
Update Style to include a set of effects
2018-01-08 15:44:27 +01:00
Alexandre Bury
b59e480f60
Add missing imports
2018-01-08 13:15:28 +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
943da46e82
Add SpanListIterator
2018-01-08 01:25:30 +01:00
Alexandre Bury
1acde148be
Implement From<Effect> and From<ColorStyle> for Style
2018-01-07 15:08:25 +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
2d7f8295cf
Add Effect::{Bold,Italic,Underline}
2018-01-05 13:57:39 +01:00
Alexandre Bury
5af367fa18
Add missing use
statements to doc example
2018-01-03 16:51:07 +01:00
Alexandre Bury
778c1f1d71
Better doc
2018-01-03 15:36: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
d0c30ded21
Ncurses backend: use character pattern instead of string
2017-12-11 12:29:10 -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
5a52b8de69
Replace eprintln! with warn!
2017-11-20 12:47:51 -08:00
Alexandre Bury
0c39f52016
ncurses: compute whole modifier table at runtime
2017-11-20 11:44:23 -08:00
Alexandre Bury
b2097bd1c8
ncurses: detect key offset at runtime
2017-11-19 20:13:57 -08:00
Alexandre Bury
c10da1390b
Use dynamic key code map in ncurses backend
...
In preparation for detecting key codes dynamically.
(Different ncurses versions will use different code offsets)
2017-11-19 17:14:20 -08:00
Alexandre Bury
6fe6b72f89
Use std::cmp::min rather than usize::min
2017-11-19 15:44:28 -08:00
Alexandre Bury
42dbe40e3f
Fix modifier keys on ncurses
...
I think we really need to read terminfo instead...
2017-11-19 11:08:52 -08:00
Alexandre Bury
b6cfd43556
Replace last u32 with mmask_t
...
I missed this one...
2017-11-19 01:21:57 -08:00
Alexandre Bury
eeca719a92
Rename split_u32 -> split_i32
2017-11-19 01:14:53 -08:00
Alexandre Bury
a11d02dfa4
Use mmask_t instead of u32
2017-11-19 01:13:24 -08:00
Alexandre Bury
0b5b6ceace
Add mouse support to pancurses
2017-11-19 00:40:56 -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
46dec4b0ca
Fix clippy warning
2017-10-13 15:38:24 -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