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