mirror of
https://codeberg.org/unspeaker/tek.git
synced 2025-12-07 04:06:45 +01:00
fix(focus): correct focus inc/dec
This commit is contained in:
parent
b8ac83b019
commit
a4bd99c117
1 changed files with 8 additions and 3 deletions
|
|
@ -17,13 +17,18 @@ pub trait Focus <const N: usize>: Render + Handle {
|
||||||
}
|
}
|
||||||
fn focus_prev (&mut self) {
|
fn focus_prev (&mut self) {
|
||||||
let focus = self.focus();
|
let focus = self.focus();
|
||||||
let focus = if focus > 0 { N - 1 } else { focus - 1 };
|
self.focus_set(if focus > 0 { focus - 1 } else { N - 1 });
|
||||||
*self.focus_mut() = focus;
|
|
||||||
}
|
}
|
||||||
fn focus_next (&mut self) {
|
fn focus_next (&mut self) {
|
||||||
let focus = self.focus();
|
let focus = self.focus();
|
||||||
let focus = if focus < N - 1 { focus + 1 } else { 0 };
|
self.focus_set(if focus < N - 1 { focus + 1 } else { 0 });
|
||||||
|
}
|
||||||
|
fn focus_set (&mut self, focus: usize) {
|
||||||
*self.focus_mut() = focus;
|
*self.focus_mut() = focus;
|
||||||
|
let focusable = self.focusable_mut();
|
||||||
|
for index in 0..N {
|
||||||
|
focusable[index].set_focused(index == focus);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue