mirror of
https://codeberg.org/unspeaker/tek.git
synced 2025-12-07 12:16:42 +01:00
wip: add TuiStyle, unifying Modal
This commit is contained in:
parent
7c555848e4
commit
29f11b5977
6 changed files with 467 additions and 434 deletions
|
|
@ -48,13 +48,12 @@ impl ArrangerCli {
|
|||
//}
|
||||
}
|
||||
transport.set_focused(true);
|
||||
let state = Arc::new(RwLock::new(ArrangerStandalone {
|
||||
Tui::run(Arc::new(RwLock::new(ArrangerStandalone {
|
||||
transport,
|
||||
show_sequencer: Some(tek_core::Direction::Down),
|
||||
arranger,
|
||||
focus: 0
|
||||
}));
|
||||
Tui::run(state)?;
|
||||
})))?;
|
||||
Ok(())
|
||||
}
|
||||
}
|
||||
|
|
@ -73,26 +72,27 @@ struct ArrangerStandalone<E: Engine> {
|
|||
impl Content for ArrangerStandalone<Tui> {
|
||||
type Engine = Tui;
|
||||
fn content (&self) -> impl Widget<Engine = Tui> {
|
||||
Split::down(|add|{
|
||||
add(&self.transport)?;
|
||||
let show = self.arranger.modal.is_some();
|
||||
let modal = self.arranger.modal.as_ref().map(|x|x as &dyn Content<Engine = Tui>);
|
||||
ModalHost(show, modal, Split::down(move|add|{
|
||||
add(&(&self.transport as &dyn Widget<Engine = Tui>).debug())?;
|
||||
if let (Some(direction), Some(sequencer)) = (
|
||||
self.show_sequencer,
|
||||
self.arranger.sequencer(),
|
||||
) {
|
||||
add(&Split::new(direction, |add|{
|
||||
add(&Shrink::Y(20, &self.arranger as &dyn Widget<Engine = Tui>))?;
|
||||
add(&Min::Y(20, sequencer as &dyn Widget<Engine = Tui>))?;
|
||||
add(&Split::new(direction, move|add|{
|
||||
add(&(&self.arranger as &dyn Widget<Engine = Tui>)
|
||||
.shrink_y(30)
|
||||
.debug())?;
|
||||
add(&(sequencer as &dyn Widget<Engine = Tui>)
|
||||
.min_y(20)
|
||||
.debug())?;
|
||||
Ok(())
|
||||
}))
|
||||
} else {
|
||||
add(&self.arranger)
|
||||
}
|
||||
})
|
||||
//if let Some(ref modal) = self.arranger.modal {
|
||||
//to.fill_bg(area, Nord::bg_lo(false, false));
|
||||
//to.fill_fg(area, Nord::bg_hi(false, false));
|
||||
//modal.render(to)?;
|
||||
//}
|
||||
}))
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue