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
Markus Unterwaditzer
14cfe3604a
Automatically grow textarea
2017-04-21 23:03:10 +02:00
Alexandre Bury
5edc6fc163
Add chainable EditView::filler methods
...
And a few other filler fixes
2017-04-03 11:13:16 -07:00
Afonso Bordado
b2bcf4138a
EditView: Add a customizable filler character ( #127 )
...
* Add a customizable filler character
* Change filler character to string
2017-04-03 11:03:56 -07:00
Alexandre Bury
2643ecbb15
Add chainable methods for StackView
2017-04-03 10:41:34 -07:00
Alexandre Bury
bdbf6d759e
Add EditView::set_style
2017-04-02 15:38:25 -07:00
Alexandre Bury
d3669814b5
Fix warnings
...
* Allow dead code for curses-only utf8 module
* Remove intermediate variable in IdView
2017-03-27 13:27:50 -07:00
Alexandre Bury
7c95114955
Add SelectView::set_selection
2017-03-27 13:14:03 -07:00
Alexandre Bury
09202f55c8
Reset focus in SelectView::clear
2017-03-27 13:07:22 -07:00
Alexandre Bury
c300e0628d
Rename find
-> call_on
...
And update tutorials
2017-03-26 20:50:50 -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
017bb21710
Add View::focus_view
2017-03-25 14:50:52 -07:00
Alexandre Bury
2cd2787119
Event::Unknown now carries the unknown bytes rather than a i32
...
And termion has been updated to use termion::Event::Unsupported
2017-03-25 11:01:25 -07:00
Alexandre Bury
77433e80ee
fix: add Panel::wrap_layout
...
Fixes #119
2017-03-15 16:35:20 -07:00
Alexandre Bury
0bbc10706e
EditVIew: Add mutable and non-mutable callback methods
...
mutable callbacks disable recursive calls
2017-03-08 16:29:24 -08:00
Alexandre Bury
87676295a0
fix: Check for insufficient space in Panel::required_size
2017-03-06 14:53:10 -08:00
Alexandre Bury
e0b279d9df
Fix clippy warnings
2017-03-05 15:18:15 -08:00
Alexandre Bury
7d9cb03ffb
More checks against small viewports
...
Prevents panics when the terminal is resized.
2017-03-05 11:35:20 -08:00
Alexandre Bury
cb3adc5baf
feat: find_id
can now find views declared with with_id_mut
2017-02-26 15:52:42 -08:00
Alexandre Bury
b50d2f077f
Make RefCellView re-entrant safe
...
Don't crash if the view is already borrowed.
2017-02-08 15:33:43 -08:00
Alexandre Bury
b0193b0ebc
Add RefCellView
...
Wraps a view and provide interior mutability
2017-02-08 12:13:14 -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
Robin Stumm
99fa86bec9
return length and width from utils::prefix() (renamed from utils::prefix_length()) as per df835d1
2017-02-01 20:47:33 +01:00
Alexandre Bury
8b88bf9ba2
Add Menubar::is_empty(&self)
...
And fix another clippy warning
2017-01-27 14:51:46 -08:00
Alexandre Bury
afc681bcf4
Add Canvas::state_mut(&mut self)
...
And missing Canvas::needs_relayout closure.
2017-01-24 10:48:00 -08:00
Alexandre Bury
d7eaa5a086
Rename View::get_min_size
-> required_size
2017-01-23 22:53:03 -08:00
Alexandre Bury
451d27b58e
Fix Canvas doc comment
2017-01-23 22:03:39 -08:00
Alexandre Bury
26e6f4ff97
Add Canvas view
2017-01-23 22:01:25 -08:00
Alexandre Bury
c970712c3b
Add TextView::append_content
...
Also don't strip the newline anymore when setting content.
Instead, just ignore trailing newline when computing rows.
2017-01-23 20:22:43 -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
0849ae6efa
Add comments
2017-01-21 15:06:31 -08:00
Alexandre Bury
3ecae579e8
Adjust the scroll after setting the scroll strategy
2017-01-21 11:46:56 -08:00
Alexandre Bury
924c74afbe
Add ScrollStrategy to TextView
2017-01-21 11:44:40 -08:00
Alexandre Bury
06ce7b570f
Fix clippy warnings
2017-01-19 11:12:12 -08:00
Alexandre Bury
97287a0b0b
Remove unused imports
2017-01-10 17:48:47 -08:00
Alexandre Bury
14f971e2bc
Allow negative relative offset in Position
...
Was causing crashes when popup-SelectViews were larger than their
parent.
Made some methods on Vec2 more generic to XY<T: ...>
2017-01-10 17:47:31 -08:00
Casey Primozic
9894dd9715
Added functions to register callbacks for ListView
...
- Added `on_selected()` and `set_on_selected()` funtions that are called when the focus is changed
- Added `focused()` to return the index of the currently focused item.
2017-01-10 19:20:06 -06:00
Alexandre Bury
fde1091051
Fix focus in ListView
2016-10-13 11:57:24 -07:00
Alexandre Bury
4aaee06d9e
Fix screen clear on layer removal
...
Fixes #78 .
2016-10-11 17:29:13 -07:00
Alexandre Bury
821d9f1783
Parse utf8 chars in pancurses backend
...
Closes #76
2016-10-11 16:08:44 -07:00
nabijaczleweli
c81579a20a
Disable failing doctests
2016-10-11 19:11:40 +02:00
Alexandre Bury
651c7d619b
Remove debug artifacts
...
And bring back the shadows!
2016-10-09 17:43:24 -07:00
Alexandre Bury
df4397a174
Add stub termion backend
...
Not supported: input, colors, effects, async
2016-10-09 16:02:26 -07:00
Alexandre Bury
44dbd5826e
Make Backend::clear
take &self
2016-10-09 15:47:06 -07:00
Alexandre Bury
bb62452149
EditView: Prevent overflow error with no available space
2016-10-04 17:51:18 -07:00
Alexandre Bury
8fded82434
Fix clippy warnings
2016-10-02 16:03:31 -07:00
Alexandre Bury
9cf89c37de
Clear screen if a layer is shrinked
2016-10-02 15:33:55 -07:00
Alexandre Bury
3b3f403f7a
Apply rustfmt
2016-10-02 15:22: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
53aea8e91c
Derive Clone
for RadioGroup
...
Also remove broken example.
2016-10-02 15:03:03 -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