Commit Graph

634 Commits

Author SHA1 Message Date
Alexandre Bury
e23a5cd3a2 Add Rect::offset 2018-03-16 18:06:53 -07:00
Alexandre Bury
5d3c0d3fb0 Add rect::Rect 2018-03-16 17:16:05 -07:00
Alexandre Bury
7ca632a10d Move Margins to view module 2018-03-16 16:09:47 -07:00
Alexandre Bury
92c1d1a5b2 Rename Vec4 -> Margins 2018-03-16 16:06:35 -07:00
Alexandre Bury
9bc723ab4a Do not accept any return value for callbacks
It got added so we could keep using `s.pop_layer()` in single-line callbacks.
It was confusing, and the return value was ignored anyway.
2018-03-16 15:50:56 -07:00
Alexandre Bury
acb73765e9 Add EditView::maximum_width
Currently only applied during text insertion.
Doesn't affect scrolling yet.
2018-03-15 16:07:28 -07:00
Alexandre Bury
2c73e35f85 Split import line
Not on stable yet it seems
2018-03-15 11:57:12 -07:00
Alexandre Bury
16a3bd7bbe Return callbacks from EditView::set_content
Just like for SelectView::select_up
2018-03-15 11:50:22 -07:00
Alexandre Bury
987796f2fa Return selection change callback in SelectView methods 2018-03-15 11:42:49 -07:00
Alexandre Bury
1deee26970 Better checks for mouse events on SelectView 2018-03-15 09:36:26 -07:00
Alexandre Bury
8d9d17d372 Update StackView tests 2018-03-14 15:19:56 -07:00
Alexandre Bury
1ad9a53cf7 Small refactoring 2018-03-14 15:11:27 -07:00
Alexandre Bury
7db1ee7335 Reverse View and AnyView
We now have `View: AnyView`
2018-03-14 14:59:41 -07:00
Alexandre Bury
f27f7792df Rename BoxableView -> IntoBoxedView
And add an implementation for Box<View>
2018-03-14 14:16:07 -07:00
Alexandre Bury
17ccda2d40 Use BoxableView trait bound 2018-03-14 13:39:30 -07:00
Alexandre Bury
e4bf9accc3 Add BoxableView and AnyBox
And remove `impl ViewWrapper for T: Deref<View>`
This means `Box<View>` doesn't implement `View` anymore.
2018-03-14 12:32:07 -07:00
Alexandre Bury
dea226a095 Add AnyView::as_boxed_any for easier downcasting 2018-03-14 11:18:28 -07:00
Alexandre Bury
06305c89a9 Add StackView::find_layer_from_id
Also `StackView::get` and `StackView::get_mut`
2018-03-11 16:53:41 -07:00
Alexandre Bury
1ae3bbff89 Fix pancurses input
Fixes #210
2018-03-08 10:03:41 -08:00
Alexandre Bury
5e58726ffd Add test for StackView::move_layer
From #213 (thanks xliiv)
2018-03-05 18:48:24 -08:00
Alexandre Bury
48514991d2 Add Cursive::clear_global_callbacks 2018-03-05 15:25:36 -08:00
Alexandre Bury
b4f32b56bb Fix move_layer index calculation
See #213
2018-03-04 16:54:16 -08:00
Nils Berg
8bf82a9b58 make SelectView less greedy 2018-03-01 21:13:15 +01:00
Alexandre Bury
99046d10c3 Use special key detection for pancurses
Shared with the ncurses backend code
2018-02-20 15:44:07 -08:00
Alexandre Bury
767e225db0 Only require maplit for ncurses bqckend 2018-02-20 14:50:13 -08:00
Alexandre Bury
beefac9c6a curses backends: don't crash on weird input 2018-02-20 11:18:02 -08:00
Alexandre Bury
3f35b87757 Use print! rather than println! for ncurses configuration 2018-02-20 10:43:38 -08:00
Alexandre Bury
c626779d8a Fix simple LinesIterator
Was stopping at the first empty line.
2018-02-19 19:55:31 -08:00
Alexandre Bury
179c804df8
Merge pull request #211 from xliiv/dialog-focus
Add get_current_focus to Dialog & make public enum Focus
2018-02-18 14:48:39 -08:00
Tymoteusz Jankowski
6faa1ff5a7 Add get_current_focus to Dialog & make public enum Focus 2018-02-18 23:23:04 +01:00
Alexandre Bury
62260a025e Rustfmt 2018-02-16 17:21:24 -08:00
Alexandre Bury
6b6398f109 Fix clippy warnings 2018-02-16 17:20:13 -08:00
Alexandre Bury
d33fb39cd9 Replace AsSpannedStr with Into<SpannedStr> 2018-02-16 17:16:01 -08:00
Alexandre Bury
d0a186d01e Move show_spaces option to spans::LinesIterator 2018-02-16 17:10:29 -08:00
Alexandre Bury
2760e92ce6 Use spans::LinesIterator from simple::LinesIterator 2018-02-16 17:04:39 -08:00
Alexandre Bury
0ff08f3a9f Add Row::overall_indices 2018-02-16 16:56:25 -08:00
Alexandre Bury
7772cd146d Add AsSpannedStr trait
For nicer calls to resolve
2018-02-16 16:32:54 -08:00
Alexandre Bury
25e65a87e8 Remove attribute type from spans::LinesIterator 2018-02-16 16:05:15 -08:00
Alexandre Bury
c220cc679a Remove attribute type from SpannedText 2018-02-16 15:35:51 -08:00
Alexandre Bury
7218b6c879 Add SpannedStr and SpannedText 2018-02-16 14:11:33 -08:00
Gergely Nagy
f478d57e51 FnOnce callbacks can be sent to cb_sink 2018-02-12 22:44:50 +01:00
Gergely Nagy
0ceb4ff4e2 Run multiple callbacks per step as the documentation suggests 2018-02-12 22:44:50 +01:00
Alexandre Bury
847fd7d800 Add SelectView::selected 2018-02-11 19:26:44 -08:00
Alexandre Bury
8f3441bc3c ListView: use checked subtraction between focus and scroll index 2018-02-11 19:07:38 -08:00
Alexandre Bury
bbc3d3d5b7
Merge pull request #204 from xliiv/focus_index_for_linear_layout
Add LinearLayout.get_focus_index
2018-02-08 10:05:43 -08:00
Tymoteusz Jankowski
56fe7ab0df Add LinearLayout.get_focus_index 2018-02-08 18:33:20 +01:00
Alexandre Bury
daac2d67b4 Add Vec2::saturating_add(XY<isize>)
And uses it to fix crash in position example
2018-02-07 16:44:22 -08:00
SEGFAULT
9e591ef635 Moving Windows in StackView (#200)
* Inital draft of reposition code.

* throwing it all in git so I can show @gycos the mess I made

* Cleaning up the example and removing that garbage getter function from StackView. More thought needs to be applied to that API.

* modified stackview to locally draw background, currently every frame. Adjusted surrounding elements to mirror this change.

* fixed dirty flag on stackView to use a cell. Also added dirty events on window resize.

* Final code cleanup.

* Fixed all highlighted issues in PR #200
2018-02-07 16:25:00 -08:00
Alexandre Bury
22e2360aa1 Merge separate TrackedView impl blocks 2018-01-29 17:34:06 -08:00
Alexandre Bury
f091cec861 Add BoxView::set_size 2018-01-27 22:12:29 -08:00