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
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
5f3e4b1842
Produce mouse events from BLT backend
2017-10-13 00:20:27 -07:00
Alexandre Bury
acd12326e1
Produce mouse events in termion backend
2017-10-12 21:24:17 -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
74612c65e5
Move Cursive root to its own module
2017-10-12 16:33:24 -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
f5492da4e4
More natural thumb drag
2017-10-12 12:35:57 -07:00
Alexandre Bury
e7da474769
Remove debug lines
2017-10-12 12:30:59 -07:00
Alexandre Bury
3a836aaa92
Fixes drag scroll position
2017-10-12 12:30:00 -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
ba11200341
Add Vec::fits_in_rect
2017-10-11 15:07:13 -07:00
Alexandre Bury
0bb1fb4b2a
Add Event::grabs_focus
2017-10-11 15:06:35 -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
Alexandre Bury
2d703811c5
Add Event::relativize
2017-10-11 11:33:35 -07:00
Peter Kloss
759f57f1f8
fix some clippy warnings
2017-10-11 18:09:49 +02:00
Alexandre Bury
e07e156ad0
Fix types for different ncurses versions
2017-10-10 18:01:03 -07:00
Alexandre Bury
9497ded014
Output mouse events from ncurses backend
2017-10-10 17:50:44 -07:00
Alexandre Bury
c64e7dd7b3
Add MouseEvent::Hold
2017-10-10 17:49:53 -07:00
Alexandre Bury
a68fd3493b
Add MouseEvent to the Event enum
2017-10-08 17:13:50 -07:00
Alexandre Bury
997895347c
Derive Eq for XY
2017-10-08 16:49:34 -07:00
Alexandre Bury
7df4b06ef8
Backend::poll_event now takes &mut self
...
To manage an internal buffer, in case backend events and cursive events
don't match 1-for-1.
Planned uses: mouse support (translate click into Press+Release).
2017-10-08 16:02:43 -07:00
Alexandre Bury
c1d979b91c
Implement From<(u16,u16)> for Vec2
2017-10-08 15:58:14 -07:00
Alexandre Bury
7244896263
Derive Hash for XY
2017-10-08 15:56:03 -07:00
Alexandre Bury
d815afdf78
Fix ViewWrapper doc comment
2017-09-24 18:50:45 -07:00
Alexandre Bury
607e6f1bdc
Implement ViewWrapper for DerefMut<T: View>
...
This means View is implemented for Box<T: View>, Box<View>, ...
2017-09-24 12:24:23 -07:00
Alexandre Bury
1a4e1c104e
Implement View for Box<View>
2017-09-23 13:53:26 -07: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
Alexandre Bury
2ac5dcb559
Merge pull request #152 from hcpl/use-log
...
Use `log` crate
2017-08-23 12:31:51 -07:00
Alexandre Bury
a1737ca0ba
Fix ncurses input key codes
2017-08-23 09:59:54 -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
b021458352
Use more elegant saturating_sub
2017-08-01 09:47:08 -07:00
Alexandre Bury
d2f2f642c1
Protect LinesIterator from zero width
...
Fixes #147
2017-08-01 09:44:40 -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
2ffae1f524
Rename {Color,ColorStyle}::Default to TerminalDefault
2017-07-18 01:36:34 +02:00
Alexandre Bury
a668e7bc06
Merge remote-tracking branch 'hcpl/default-color'
2017-07-18 01:01:35 +02:00
Alexandre Bury
20e6938bbb
fix: consider scrollable in TextArea required size
2017-07-18 00:15:05 +02:00
hcpl
e0d69da844
Set *curses backends to use default colors
2017-07-16 17:37:15 +03:00
hcpl
28d0db1bb6
Make use of colors preset by terminals
2017-07-16 16:05:04 +03: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
19f87076f9
Use 256 color pairs in pancurses
2017-06-14 00:59:17 -07:00
Alexandre Bury
e4464cb44d
Merge remote-tracking branch 'origin/master' into custom_color
2017-06-14 00:44:04 -07:00
Alexandre Bury
9089d9fd88
Cleaner colors example
2017-06-14 00:43:03 -07:00
Alexandre Bury
7a7ccbf45c
Add colors example
2017-06-14 00:08:58 -07:00
Alexandre Bury
88d3d81e88
Use pancurses::chtype directly
2017-06-13 23:49:55 -07:00
Alexandre Bury
2cdf546455
Fix pancurses backend
2017-06-13 23:30:55 -07:00
Alexandre Bury
98be066b4d
Don't re-apply current color
2017-06-12 23:51:41 -07:00
Alexandre Bury
dea07d29cf
Give the background color to the clear method.
2017-06-12 23:29:26 -07:00
Alexandre Bury
059812f427
Update termion backend
2017-06-12 18:31:08 -07:00
Alexandre Bury
9f5ce65e34
Fix doc comment
2017-06-12 18:03:52 -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
5c42a59954
Refactor colors management
...
Do not register pairs with backend. Let backend cache color pairs if
needed.
2017-06-12 11:59:33 -07:00
Alexandre Bury
9e1a83f7cc
Set up Custom color in termion and ncurses backends
2017-06-11 15:01:35 -07:00
Alexandre Bury
900bdfea58
Reset running = true
in Cursive::run
...
This allows to start another loop after quitting the first time.
2017-06-08 15:02:00 -07:00
Alexandre Bury
ffe5b57749
Add ListView::is_empty
2017-06-08 09:41:53 -07:00
Alexandre Bury
bdc49a558f
Remove unused warning for println_stderr macro.
2017-06-05 20:41:01 -07:00
Alexandre Bury
cbe37172b5
pancurses: set ESCDELAY after initializing screen
2017-05-23 15:25:52 -07:00
Alexandre Bury
db0398ec81
ncurses: specify ESCDELAY after setting locale
...
Otherwise the locale change is ignored on some systems
2017-05-23 15:22:18 -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
Alexandre Bury
b799d83077
Add ColorStyle::Custom
for theme-independent coloring
...
Moved `color_id` to curses backend.
2017-05-15 19:29:31 -07:00
quininer kel
f34e1d9a02
Fix VecExt::splice
conflict with Vec::splice
2017-04-26 18:36:23 +08:00
quininer kel
440578c7d1
Add termion AlternateScreen support
2017-04-26 14:20:52 +08:00
Alexandre Bury
d4f1439abd
Fix clippy warnings
2017-04-23 15:16:39 -07: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
cbe237624f
Update toml to 0.3
2017-03-06 22:49:56 -08:00
Alexandre Bury
4f82e87d0d
Merge pull request #115 from hacksaar/master
...
use Iterator::sum() for summing instead of fold
2017-03-06 14:58:17 -08:00
Alexandre Bury
87676295a0
fix: Check for insufficient space in Panel::required_size
2017-03-06 14:53:10 -08:00
Constantin Berhard
36d5aa016a
use Iterator::sum() for summing instead of fold
2017-03-06 22:46:16 +01:00
Alexandre Bury
5f5fb4e502
Add comments
2017-03-06 10:38:18 -08:00
Alexandre Bury
30cac851e7
Fix utils::prefix
...
And add a few tests
2017-03-06 10:34:58 -08:00
Constantin Berhard
dc7754d38f
fix #113
2017-03-06 15:32:03 +01:00
Alexandre Bury
e0b279d9df
Fix clippy warnings
2017-03-05 15:18:15 -08:00
Alexandre Bury
6f129ac83d
Only include chan dependancy with termion backend.
...
We may want to use channels for all backend some day, but not today.
2017-03-05 14:45:21 -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
Ilkka Halila
ea053640fe
Use new Attributes and ColorPairs
...
Pancurses now has an Attribute and ColorPair type, making for a more strongly typed way of handling them when compared to using chtypes.
Also window now has an .attrget() function so pan::Concrete does not need to track the current color any longer.
2017-03-05 13:53:50 +02: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
34c7462877
fix: protect scroll operations when non-scrollable
...
Fixes #109
2017-02-26 14:53:50 -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
1b8d109e94
Add with_id_mut
and find_id_mut
convenient methods.
2017-02-08 15:20:41 -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
df835d1a10
utils::prefix_length: move current_width
out of the scan loop
...
To prepare returning both length and width.
2017-01-31 16:31:34 -08: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
053544d192
Fix inverted outset color
...
Update the `theme` screenshot
2017-01-23 17:53:53 -08:00
Alexandre Bury
fa82690c10
Fix docs for Cursive::menubar()
...
... again
2017-01-23 16:54:27 -08:00
Alexandre Bury
0977daa12d
Unify method names on Menubar and MenuTree
2017-01-23 16:51:48 -08:00
Alexandre Bury
24b342ced8
Fix doc for Cursive::menubar()
2017-01-23 15:58:38 -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
dccce56f6e
Fix off-by-1 errors on termion
...
Termion's Goto is 1-based, Cursive's print_at is 0-based
2017-01-19 13:44:49 -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
Alexandre Bury
ddff15b6cf
Merge pull request #96 from Ameobea/termion-clearing
...
Fixed issue with resetting background color for Termion backend
2017-01-10 17:45:39 -08:00
Casey Primozic
7ca9821145
Fixed issue with resetting background color for Termion backend
...
- Background color was being set back to the theme's background color rather than the terminal's background color when the backend was `finish()`ed. This resets the background color to the default instead.
2017-01-10 19:22:05 -06: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
8c366389a7
Fix type cast in pancurses backend
2017-01-06 21:25:10 -08:00
Alexandre Bury
2bacfcb11e
Add manual-loop methods
...
is_running() and step()
2016-12-15 20:39:50 +01:00
Alexandre Bury
858067ef6b
Detect terminal resize in termion backend
...
Using the chan_signal crate
2016-12-13 22:10:00 -08:00
Alexandre Bury
ea3dde33ec
Use async input for termion backend
...
This enables async refresh, fixing the `logs` and `progress` examples.
2016-12-13 20:54:18 -08:00
Alexandre Bury
89ec140f41
Update doc comments
2016-12-12 10:20:19 -08:00
Alexandre Bury
0ab2c6db07
Update pancurses backend
2016-11-24 23:42:31 -08:00
Alexandre Bury
508c9833e3
Add Esc support to termion backend
2016-11-04 16:24:52 -07:00
Alexandre Bury
ce009d0e5f
Back to upstream termion
...
Just figured I could implement Color for a custom wrapper struct.
2016-11-04 10:30:06 -07:00
Alexandre Bury
949b1e9632
Add tab support to pancurses
2016-10-28 17:13:53 -07:00
Alexandre Bury
60bddf7e8d
Better input support in termion backend
...
Still many key combinations unsupported.
2016-10-24 11:16:56 -07:00
Alexandre Bury
965b32bd9b
Bring colors to termion backend
...
Currently require termion fork for color storage support.
2016-10-21 17:18:26 -07:00
nabijaczleweli
13d84970d3
Correctly handle backspace in pancurses backend on Windows
...
Closes #81
2016-10-15 17:48:31 +02:00
Craig M. Brandenburg
df0d93ae74
Documentation spell fix
2016-10-15 06:24:24 -07:00
Alexandre Bury
bfb422067a
Doc fixes
2016-10-14 18:18:19 -07:00
Alexandre Bury
fde1091051
Fix focus in ListView
2016-10-13 11:57:24 -07:00
Alexandre Bury
e81a569e31
Add From<((left,right), (top, bottom))> to Vec4
2016-10-12 15:37:55 -07:00
Alexandre Bury
7e382593a8
Remember current color style in pancurses backend
2016-10-12 14:14:32 -07:00
nabijaczleweli
e33474dd74
Fix back-end warnings
2016-10-12 20:06:04 +02:00
Alexandre Bury
2dc75c2ec0
Make window resizeable in BLT backend
2016-10-12 09:35:03 -07:00
Alexandre Bury
65d86f3638
Add Event::Exit
...
Currently only sent by the bear lib terminal.
2016-10-11 17:48:37 -07:00
Alexandre Bury
4aaee06d9e
Fix screen clear on layer removal
...
Fixes #78 .
2016-10-11 17:29:13 -07:00
nabijaczleweli
c4baa0f570
Add BearLibTerminal backend
2016-10-12 01:48:22 +02:00
Alexandre Bury
821d9f1783
Parse utf8 chars in pancurses backend
...
Closes #76
2016-10-11 16:08:44 -07:00
Alexandre Bury
072c1d9b5c
Fix some input in pancurses backend
2016-10-11 12:31:31 -07:00
nabijaczleweli
8a6a49fbc3
Fix Enter being Character('\n') in pancurses backend
...
Closes #73
2016-10-11 20:59:28 +02:00
nabijaczleweli
5eccc2f518
Fix inverted screen size in pancurses backend
...
Closes #71
2016-10-11 20:53:54 +02:00
Alexandre Bury
04f528e2de
Fix clippy warnings
2016-10-11 11:04:01 -07:00
nabijaczleweli
c81579a20a
Disable failing doctests
2016-10-11 19:11:40 +02:00
nabijaczleweli
9fb8309d3a
Hello yes this is typo man
2016-10-10 23:12:42 +02:00
nabijaczleweli
c69db62844
Fix backend tests
2016-10-10 23:08:07 +02:00
nabijaczleweli
51af4350fc
Apply key mappings as they are so far
2016-10-10 23:06:55 +02:00
nabijaczleweli
80e3e4f536
Hide backend
2016-10-10 22:02:07 +02:00
nabijaczleweli
bd93f450df
Handle F[14;15]
2016-10-10 21:55:25 +02:00
nabijaczleweli
c84cafb4fd
Update pancurses to 0.4.0
2016-10-10 20:51:32 +02:00
nabijaczleweli
af0c97749d
Fix doctests using ::B
2016-10-10 20:23:00 +02:00
nabijaczleweli
4c9c4b5568
Move back-end selection to backend::Concrete instead of ::B
2016-10-10 10:34:33 +02:00
nabijaczleweli
2c009f694b
Add PauseBreak and F0 keys. Properly handle Tab
2016-10-10 10:34:33 +02:00
nabijaczleweli
79c4bf29c2
Don't explicitly list features
2016-10-10 10:34:33 +02:00
nabijaczleweli
01951aa213
Mostly add pancurses support. Test pancurses support on Travis
2016-10-10 10:34:33 +02:00
Alexandre Bury
9871e12734
Update for latest ncurses-rs
2016-10-09 17:48:31 -07:00
Alexandre Bury
651c7d619b
Remove debug artifacts
...
And bring back the shadows!
2016-10-09 17:43:24 -07:00
Alexandre Bury
686de0831c
Take &self
in TermionBackend::clear()
2016-10-09 16:03:49 -07:00
Alexandre Bury
ad7606ca55
Switch backend with cargo features
...
Use `termion` feature and disable default features to use the termion
backend.
2016-10-09 16:02:26 -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
90c9d51a6c
Add comments to menubar example
2016-10-09 15:59:29 -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
Alexandre Bury
f4f2759df2
Make SelectView::on_submit callback take a Borrow<T>
...
Instead of a `T` directly.
2016-09-28 15:06:16 -07:00
Alexandre Bury
af803a4587
Add debuggin mention to doc
2016-09-24 17:19:09 -07:00
Alexandre Bury
b53e2a42bd
Use better type for new_default
macro
...
Again, `ty` is a better fit
2016-09-24 17:06:33 -07:00
Alexandre Bury
0401b3ab53
Use better type for wrap_impl!
macro
...
`ty` is better than `path`
2016-09-24 16:56:42 -07:00
Alexandre Bury
fa2ad3261b
Make Backend
methods not static anymore
2016-09-24 16:51:42 -07:00
Alexandre Bury
2e06dd70cb
Apply rustfmt
2016-09-22 22:11:13 -07:00
Alexandre Bury
d29f80869d
Don't inline doc in prelude
2016-09-22 22:04:55 -07:00
Alexandre Bury
829dd77deb
Add &Backend
to Printer struct
...
Makes `::B` public but undocumented.
Backend is currently an immutable ref, may need to become
mutable to be more useful (will need to change the View trait)
2016-09-22 22:00:58 -07:00
Alexandre Bury
05a862d98b
Remove unused import in test module
2016-09-22 17:12:53 -07:00
Alexandre Bury
a5135a7aff
Better documentation for view::Finder
...
Also adds `Finder::find_id`
2016-09-21 14:57:03 -07:00
Alexandre Bury
f879305d7f
Adds SelectView::is_empty
...
Fix clippy warning
2016-09-21 11:57:38 -07:00
Alexandre Bury
a064400b6f
Add unsafe block around ncurses::stdscr
...
One more reason to avoid ncurses
2016-09-21 11:57:19 -07:00
Alexandre Bury
93980a7d0c
Rename View::find
-> View::find_any
...
And add the `Finder` trait on Views to provide a true `find`.
2016-09-21 11:33:44 -07:00
Alexandre Bury
7d16f70d67
Add some tests to view::position
2016-09-20 18:32:31 -07:00
Alexandre Bury
e3ac2a0482
Added some size tests to BoxView
2016-09-20 11:50:34 -07:00
Alexandre Bury
08d1c1e5b0
Use an associated type in ViewWrapper
...
This removes the need for dynamic dispatching
2016-09-19 17:20:20 -07:00
Alexandre Bury
3701c85ffd
Add clear
methods to SelectView
and ListView
2016-09-05 15:33:52 -07:00
Alexandre Bury
53402a0063
Add link wrap_impl!
doc
2016-09-01 11:56:11 -07:00
Alexandre Bury
24511ae5f1
Accept Into<String>
in EditView::set_content
2016-09-01 11:49:47 -07:00
Alexandre Bury
d51772f714
EditView: move cursor on content change
...
To the end of the content.
2016-09-01 11:42:16 -07:00
Alexandre Bury
9142c545f7
Fix crash when removing the first item in a SelectView
2016-09-01 11:28:30 -07:00
Alexandre Bury
0364f577b2
Add EditView::set_cursor
...
And fix a crash with `set_content` (it wasn't updating the cursor).
2016-09-01 11:10:12 -07:00
Alexandre Bury
77abb5729e
Add DummyView to prelude
2016-08-31 17:19:22 -07:00
Alexandre Bury
6dd81faa57
Fix offset in SelectView::remove_item
2016-08-31 17:14:37 -07:00
Alexandre Bury
484f81861a
Replace SelectView::focus
with selected_id
...
Returns None if the list is empty.
Also add `SelectView::len`
2016-08-31 17:05:58 -07:00
Alexandre Bury
0e08d7d058
Add remove_item
to SelectView
...
And made `focus` public.
2016-08-31 17:00:48 -07:00
Alexandre Bury
ce6992a8c5
Add SliderView
2016-08-13 01:03:40 -07:00
Alexandre Bury
921e4a451e
Add outset border functions to Printer
2016-08-05 10:49:16 -07:00
Alexandre Bury
e79cc61e08
Remove FullView
2016-08-04 20:03:48 -07:00
Alexandre Bury
2ee5c6f4e9
Don't run the print_box example
...
It was messing with travis?
2016-08-04 18:01:46 -07:00
Alexandre Bury
cadb585948
Fix Printer::print_box
documentation
2016-08-04 17:38:26 -07:00
Alexandre Bury
f7a3d821d1
Actually use Theme::{shadow,borders}
when drawing
...
Also add the 8 light base colors
2016-08-04 17:27:04 -07:00
Alexandre Bury
db09930fe2
Fix clippy warning
2016-08-04 09:58:13 -07:00
Alexandre Bury
9db3c87851
Add Cursive::set_theme
method
...
Allow setting a theme without having to load a toml file.
2016-08-04 00:11:16 -07:00
Alexandre Bury
1052c0b74c
Remove EditView::min_length
...
Uses `.fixed_width()` from `Boxable` or something like that.
2016-08-03 21:58:00 -07:00
Alexandre Bury
b38995b906
Refactor BoxView
...
Add `Boxable` trait.
2016-08-03 21:55:41 -07:00
Alexandre Bury
6827d2ed59
Update scrollbase on any row computation
2016-08-03 00:01:18 -07:00
Alexandre Bury
095367166b
TextArea: starts with no rows.
...
The first `layout()` will build what's required.
2016-08-02 23:33:07 -07:00
Alexandre Bury
d3d86a2f45
Fix clippy warning
2016-08-02 23:26:59 -07:00
Alexandre Bury
fab05b8b9f
Fix layout bugs in TextArea
2016-08-02 23:24:47 -07:00
Alexandre Bury
5d124e452e
TextArea: cache layout computations
2016-08-02 21:48:12 -07:00
Alexandre Bury
e4bc129f4b
Smarter TextArea row computation
...
Only re-compute damaged areas.
2016-08-02 21:22:23 -07:00
Alexandre Bury
bd78418083
Add scrollbar_padding
to ScrollBase
...
And use it in TextArea
2016-08-02 00:49:59 -07:00
Alexandre Bury
93ceb17c21
Rename scrollbar_padding
-> scrollbar_offset
in ScrollBase
2016-08-02 00:36:27 -07:00
Alexandre Bury
75c365451f
Add initial TextArea
2016-08-02 00:32:16 -07:00
Alexandre Bury
ede5c616f6
Update EditView
doc
...
With updated `examples/edit.rs` content
2016-07-31 17:53:00 -07:00
Alexandre Bury
3410150ed5
Fix clippy warning
...
Use `for` loop instead of discarding `collect` result.
2016-07-31 11:29:55 -07:00
Alexandre Bury
191cfcecfd
Fix typo
2016-07-30 15:58:52 -07:00
Alexandre Bury
be7f2184e9
Unify prefix_length and suffix_length signatures
2016-07-30 15:56:39 -07:00
Alexandre Bury
d12622b56a
Fix examples and tests
2016-07-30 13:30:56 -07:00
Alexandre Bury
40f9a91a7a
Replace some &str
-> S: Into<String>
...
Add back the "Ok" button to `examples/edit.rs`
2016-07-30 12:58:25 -07:00
Alexandre Bury
ca6e16311f
Add secret mode to EditView
...
Only prints `*`. Prints `**` with wide chars.
2016-07-30 12:26:41 -07:00
Alexandre Bury
3726df46b7
Add on_submit
to EditView
...
It simplifies the Edit example
2016-07-30 02:34:47 -07:00
Alexandre Bury
42a377d92b
SelectView: add methods to add items from iterators
2016-07-30 01:52:34 -07:00
Alexandre Bury
1165e70e15
Add on_select
to SelectView
...
And renamed existing `on_select` to `on_submit`
2016-07-30 01:27:34 -07:00
Alexandre Bury
2e05a0825a
Add on_edit
callback to EditView
...
Also fix <Del>/<Backspace> handling with precomposed characters
2016-07-30 01:18:12 -07:00
Alexandre Bury
db9df3dfc9
Add deconstruct
method to ProgressReader
2016-07-29 23:51:41 -07:00
Alexandre Bury
6e247efc1c
Add ProgressReader
to the utils
module
...
Should allow to monitor a file download in a progress bar
2016-07-29 23:48:19 -07:00
Alexandre Bury
24e4e41a85
Move DummyView to views
module
2016-07-29 23:36:40 -07:00
Alexandre Bury
fb10e58188
Move LinesIterator
to utils
module
2016-07-28 23:05:33 -07:00
Alexandre Bury
f87d0e7c5b
Move views to new views
module
2016-07-28 16:36:01 -07:00
Alexandre Bury
51a1a19f92
Fix progressbar doc
2016-07-28 00:29:11 -07:00
Alexandre Bury
2597c9a566
Add a center()
convenient method to TextView
...
Avoids having to import HAlign
2016-07-27 23:58:57 -07:00
Alexandre Bury
261d2aac48
Remove Ticker
alias
...
The `Counter` NewType can fill this role.
2016-07-27 23:55:34 -07:00
Alexandre Bury
c689a3ba7e
Add non-chainable add_child
to LinearLayout
2016-07-27 23:52:21 -07:00
Alexandre Bury
bea7240271
Wrap Arc<AtomicUsize>
around NewType Counter
...
And offers a simpler API
2016-07-26 23:29:13 -07:00
Alexandre Bury
8290c3f62a
Make progressbar more robust to invalid min/max values
2016-07-26 23:05:18 -07:00
Alexandre Bury
2cedc8ae76
Add comments to progress bar
2016-07-26 21:48:26 -07:00
Alexandre Bury
8eb61e0239
Add start
and with_task
to ProgressBar
2016-07-26 12:25:06 -07:00
Alexandre Bury
eb6b5d5728
Fix LinearLayout children width
...
Now properly gives the full width to every children.
2016-07-26 10:49:37 -07:00
Alexandre Bury
0643c50bd5
Add async-callback channel to Cursive
...
And remove it from ProgressBar
2016-07-26 10:13:36 -07:00
Alexandre Bury
04f961657f
ProgressBar takes all given width
2016-07-26 09:55:22 -07:00
Alexandre Bury
2e5262096a
Don't compile internal doc example
...
Won't compile anyway since it's not public
2016-07-26 00:00:45 -07:00
Alexandre Bury
6e021867ab
ProgressBar now shows a percentage status
...
The label can be customized though `ProgressBar::with_label`.
2016-07-25 23:54:33 -07:00
Alexandre Bury
5dd20db676
Add Dialog::empty
and Dialog::content
...
Allows to set the content after the title, for when it's more
readable.
2016-07-25 20:43:01 -07:00
Alexandre Bury
7283e7f3af
Rustfmt
2016-07-25 13:39:10 -07:00
Alexandre Bury
5e6222bf23
Use intermediate type for the callback promise
...
Using actual promises would still be better
2016-07-25 13:38:13 -07:00
Alexandre Bury
c1c9322319
Add panel view
2016-07-25 13:35:46 -07:00
Alexandre Bury
6c71ac14b0
More linear progress bar progression
...
Each cell should receive the same number of ticks
2016-07-25 12:18:05 -07:00
Alexandre Bury
47acf1667d
Remove brackets from progress bar
...
It was ugly, really.
Put a Panel (doesn't exist yet) around it if you want.
2016-07-24 23:03:59 -07:00
Alexandre Bury
e29511e757
Add ProgressBar
...
Also make Callback its own NewType to add comversion methods.
2016-07-24 23:01:09 -07:00
Alexandre Bury
10e072c140
Allow loading themes from content.
...
Made `load_theme` thake a `&str` and Added `load_theme_file`.
2016-07-24 16:56:22 -07:00
Alexandre Bury
0a8228d073
Add examples to documentation
2016-07-20 22:08:06 -07:00
Alexandre Bury
536321ebda
Add Button to prelude.
2016-07-20 22:02:45 -07:00
Alexandre Bury
2a4742f67b
Use prelude in docs
2016-07-20 21:43:20 -07:00
Alexandre Bury
f28ac264f1
Add prelude import module
...
Update examples to use it.
2016-07-20 21:25:14 -07:00
Alexandre Bury
64d176ffa5
Add proper select popup placement
...
Added a popup select to the `list_view` example
2016-07-20 00:30:00 -07:00
Alexandre Bury
8b6022a398
Add popup mode to SelectView
...
Single-line, opens a popup on selection.
2016-07-19 23:47:27 -07:00
Alexandre Bury
783fa0f1e2
Fix typo in docs
2016-07-19 20:50:21 -07:00
Alexandre Bury
a1d0231e2c
Make Menubar
a proper View
2016-07-19 20:44:50 -07:00
Alexandre Bury
2065be3e88
Add some doc to the menu
module
2016-07-19 20:28:34 -07:00
Alexandre Bury
4120203844
More fixes for insufficient space.
2016-07-17 01:20:41 -07:00
Alexandre Bury
8750185f8c
Don't crash on insufficient space
2016-07-16 22:06:28 -07:00
Alexandre Bury
ab3a55abaf
Add enabled state to Button
2016-07-16 18:49:17 -07:00
Alexandre Bury
58a04bbb13
Add enabled state to SelectView
2016-07-16 18:46:18 -07:00
Alexandre Bury
02b6b6601f
Add enabled state to Checkbox
2016-07-16 18:36:54 -07:00
Alexandre Bury
77a623674a
Add on_change callback to CheckBox
2016-07-16 18:18:33 -07:00
Alexandre Bury
05f66b8e1b
Add macro'd Default implementations
2016-07-16 17:28:42 -07:00
Alexandre Bury
d4afdf024f
Add checkbox view
2016-07-16 17:22:24 -07:00
Alexandre Bury
5ee8706582
Add scrollable
flag to TextViews
2016-07-16 17:08:17 -07:00
Alexandre Bury
5b25893496
Rustfmt
2016-07-16 13:52:28 -07:00
Alexandre Bury
a22c92a1a1
Add ListView
...
Also added `examples/list_view.rs`.
2016-07-16 13:25:21 -07:00
Alexandre Bury
99993ab1ec
Clear screen when hiding menubar
...
Otherwise it's visible but inactive
2016-07-16 01:07:37 -07:00
Alexandre Bury
2b54d6df28
Make View::draw
take a &self (instead of a &mut self)
...
TrackedView, the only user of the mutability, now uses internal
mutability with a Cell.
2016-07-15 23:44:38 -07:00
Alexandre Bury
ef6f83751c
Remove unused file
2016-07-15 11:17:09 -07:00
Alexandre Bury
1010c825ae
Added doc for event module
2016-07-14 23:25:32 -07:00
Alexandre Bury
2ed8552e4b
More doc fixes
2016-07-14 22:53:16 -07:00
Alexandre Bury
b4fafbec83
Fix some documentation
2016-07-14 22:50:35 -07:00
Alexandre Bury
bd5c45ac0e
Fix clippy warnings
2016-07-14 22:32:43 -07:00
Alexandre Bury
91fdf96066
Add Direction
enum
...
And add a Direction argument to take_focus
2016-07-14 22:23:06 -07:00
Alexandre Bury
1b34934df7
Fix printer::Printer
imports
2016-07-13 23:25:54 -07:00
Alexandre Bury
7f17a4ff74
Don't expose single-item modules
...
Instead, pub-use it from the root.
2016-07-13 23:18:59 -07:00
Alexandre Bury
d9e4512752
Fix linear layout focus switch
2016-07-13 22:16:55 -07:00
Alexandre Bury
5059e21cb1
Fix focus in LinearLayout
...
Focus now at least works. #42 is still open though.
2016-07-13 22:11:03 -07:00
Alexandre Bury
9390504290
Add documentation to BoxView
2016-07-13 21:30:30 -07:00
Alexandre Bury
e166869c51
Add some documentation to view
module
2016-07-13 20:52:24 -07:00
Alexandre Bury
03c400ad44
Fix linear layout in constrained space
2016-07-13 01:19:05 -07:00
Alexandre Bury
12593c8ea8
Rustfmt on xy.rs
2016-07-12 21:33:50 -07:00
Alexandre Bury
4fe7df220a
Add basic test to Vec2
2016-07-12 21:33:24 -07:00
Alexandre Bury
7f530e34b7
Add XY generic struct
2016-07-12 21:03:17 -07:00
Alexandre Bury
309c471a63
Add #![deny(missing_docs)]
...
And fill the appropriate missing ones
2016-07-11 20:26:33 -07:00
Alexandre Bury
c597c262fe
Add single-orientation FullView
...
full_width and full_height
2016-07-11 19:35:18 -07:00
Alexandre Bury
b7a270f258
Split width
and height
in BoxView
...
They are now both optional
2016-07-11 19:24:50 -07:00
Alexandre Bury
c07e8b6aee
Rustfmt
2016-07-10 19:11:21 -07:00
Alexandre Bury
6e0819f723
Simplify Event enum
...
Now properly unify Alt/Ctrl/Shift handling
2016-07-10 18:27:26 -07:00
Alexandre Bury
99bf28dfd6
Add needs_relayout
method to View
trait.
...
Purely optimization-focused trait (it is safe to ignore it entirely).
Allows view groups to take shortcuts if they know their children didn't
change since last time.
2016-07-10 17:41:49 -07:00
Alexandre Bury
4b095a0652
Apply rustfmt
2016-07-09 19:05:51 -07:00
Alexandre Bury
08ab18608b
Clear the screen only on window resize and layer removal
...
Should actually also be done if a layer shrinks.
Luckily, clear can be called anytime, as draw() is the last action
performed in the event loop - so it's safe to clear the screen in any
event callback, or even during layout.
2016-07-09 18:49:37 -07:00
Alexandre Bury
9b2dec2a7f
Use proper bounds for dialogs
...
Buttons height was not removed from the budget for get_min_size
2016-07-09 18:36:07 -07:00
Alexandre Bury
455a2a817c
Invalidate TextView cache on content change
2016-07-09 18:26:52 -07:00
Alexandre Bury
2860467f29
Cache layout in TextView
...
Calling either get_min_size or layout will cache the results, so the
next call with the same constraints will not re-compute everything.
2016-07-09 18:23:58 -07:00
Alexandre Bury
4498d206f5
Support wide characters in TextViews
...
Added some japanese paragraphs to the lorem example.
2016-07-04 21:30:13 -07:00
Alexandre Bury
cc72aa4ddc
Better wide char support
2016-07-04 16:04:32 -07:00
Alexandre Bury
d89c83f0ed
MenuPopup now supports PageUp/Down and Home/End
2016-07-02 20:53:13 -07:00
Alexandre Bury
692c310656
Better Menu API
...
Now offer non-chainable methods as well.
2016-07-02 20:44:27 -07:00
Alexandre Bury
e127392e8a
Add impl Default for Menubar
...
To make clippy happy
2016-07-02 19:47:11 -07:00
Alexandre Bury
0fd3bc113f
Fix layout bug in StackView
...
Only skip padding for non-centered views
2016-07-02 19:46:23 -07:00
Alexandre Bury
8220fe529e
Better menubar example
...
Added scrolling support, and left/right navigation
2016-07-02 19:37:38 -07:00