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
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