mirror of
https://codeberg.org/unspeaker/tek.git
synced 2025-12-07 12:16:42 +01:00
fix disappearing phrase list
This commit is contained in:
parent
39edaea47c
commit
5667416d89
3 changed files with 28 additions and 24 deletions
|
|
@ -599,7 +599,7 @@ impl<E: Engine, T: Widget<Engine = E>> Widget for Shrink<E::Unit, T> {
|
|||
],
|
||||
Self::Y(h, _) => [
|
||||
to.w(),
|
||||
if to.h() > h { to.h() - h } else { 0.into() }
|
||||
if to.h() > h { to.h() - h } else { 0.into() }
|
||||
],
|
||||
Self::XY(w, h, _) => [
|
||||
if to.w() > w { to.w() - w } else { 0.into() },
|
||||
|
|
@ -651,11 +651,11 @@ impl<E: Engine, T: Widget<Engine = E>> Widget for Inset<E::Unit, T> {
|
|||
fn render (&self, to: &mut E::Output) -> Usually<()> {
|
||||
match *self {
|
||||
Self::X(x, ref inner) =>
|
||||
Push::X(x, Shrink::X(x, inner as &dyn Widget<Engine = E>)),
|
||||
(inner as &dyn Widget<Engine = E>).shrink_x(x).push_x(x),
|
||||
Self::Y(y, ref inner) =>
|
||||
Push::Y(y, Shrink::Y(y, inner as &dyn Widget<Engine = E>)),
|
||||
(inner as &dyn Widget<Engine = E>).shrink_y(y).push_y(y),
|
||||
Self::XY(x, y, ref inner) =>
|
||||
Push::XY(x, y, Shrink::XY(x, y, inner as &dyn Widget<Engine = E>)),
|
||||
(inner as &dyn Widget<Engine = E>).shrink_xy(x, y).push_xy(x, y)
|
||||
}.render(to)
|
||||
}
|
||||
}
|
||||
|
|
@ -664,19 +664,22 @@ impl<E: Engine, T: Widget<Engine = E>> Widget for Outset<E::Unit, T> {
|
|||
type Engine = E;
|
||||
fn layout (&self, to: E::Size) -> Perhaps<E::Size> {
|
||||
match *self {
|
||||
Self::X(x, ref inner) => Grow::X(x + x, inner as &dyn Widget<Engine = E>),
|
||||
Self::Y(y, ref inner) => Grow::Y(y + y, inner as &dyn Widget<Engine = E>),
|
||||
Self::XY(x, y, ref inner) => Grow::XY(x + x, y + y, inner as &dyn Widget<Engine = E>),
|
||||
Self::X(x, ref inner) =>
|
||||
(inner as &dyn Widget<Engine = E>).grow_x(x + x),
|
||||
Self::Y(y, ref inner) =>
|
||||
(inner as &dyn Widget<Engine = E>).grow_y(y + y),
|
||||
Self::XY(x, y, ref inner) =>
|
||||
(inner as &dyn Widget<Engine = E>).grow_xy(x + x, y + y),
|
||||
}.layout(to)
|
||||
}
|
||||
fn render (&self, to: &mut E::Output) -> Usually<()> {
|
||||
match *self {
|
||||
Self::X(x, ref inner) =>
|
||||
Push::X(x, inner as &dyn Widget<Engine = E>),
|
||||
(inner as &dyn Widget<Engine = E>).push_x(x),
|
||||
Self::Y(y, ref inner) =>
|
||||
Push::Y(y, inner as &dyn Widget<Engine = E>),
|
||||
(inner as &dyn Widget<Engine = E>).push_y(y),
|
||||
Self::XY(x, y, ref inner) =>
|
||||
Push::XY(x, y, inner as &dyn Widget<Engine = E>),
|
||||
(inner as &dyn Widget<Engine = E>).push_xy(x, y),
|
||||
}.render(to)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -727,17 +727,3 @@ impl Handle<Tui> for ArrangerRenameModal<Tui> {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl Content for PhrasePool<Tui> {
|
||||
type Engine = Tui;
|
||||
fn content (&self) -> impl Widget<Engine = Tui> {
|
||||
col!(
|
||||
"Phrases:",
|
||||
col!((i, phrase) in self.phrases.iter().enumerate() => format!("{i}"))
|
||||
)
|
||||
.bg(Color::Rgb(28, 35, 25))
|
||||
.border(Lozenge(Style::default()
|
||||
.bg(Color::Rgb(40, 50, 30))
|
||||
.fg(Color::Rgb(70, 80, 50))))
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,20 @@
|
|||
use crate::*;
|
||||
|
||||
impl Content for PhrasePool<Tui> {
|
||||
type Engine = Tui;
|
||||
fn content (&self) -> impl Widget<Engine = Tui> {
|
||||
col!(
|
||||
"Phrases:",
|
||||
col!((i, phrase) in self.phrases.iter().enumerate() => format!("{i}"))
|
||||
)
|
||||
.fill_xy()
|
||||
.bg(Color::Rgb(28, 35, 25))
|
||||
.border(Lozenge(Style::default()
|
||||
.bg(Color::Rgb(40, 50, 30))
|
||||
.fg(Color::Rgb(70, 80, 50))))
|
||||
}
|
||||
}
|
||||
|
||||
impl Sequencer<Tui> {
|
||||
const H_KEYS_OFFSET: usize = 5;
|
||||
/// Select which pattern to display. This pre-renders it to the buffer at full resolution.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue