mirror of
https://codeberg.org/unspeaker/tek.git
synced 2025-12-07 12:16:42 +01:00
rename Split to Stack
This commit is contained in:
parent
2adf0028c3
commit
e555074bdf
8 changed files with 42 additions and 42 deletions
|
|
@ -100,12 +100,12 @@ render!(
|
|||
App | self,
|
||||
buf,
|
||||
area | {
|
||||
Split::down()
|
||||
Stack::down()
|
||||
.add_ref(&self.transport)
|
||||
.add_ref(&self.arranger)
|
||||
.add(If(
|
||||
self.arranger.selected.is_clip(),
|
||||
&Split::right()
|
||||
&Stack::right()
|
||||
.add(tek_mixer::TrackView {
|
||||
direction: Direction::Down,
|
||||
entered: self.entered,
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ impl Content for Demo<Tui> {
|
|||
|
||||
add(&Background(Color::Rgb(0,128,128)))?;
|
||||
|
||||
add(&Outset::XY(1, 1, Split::down(|add|{
|
||||
add(&Outset::XY(1, 1, Stack::down(|add|{
|
||||
|
||||
add(&Layers::new(|add|{
|
||||
add(&Background(Color::Rgb(128,96,0)))?;
|
||||
|
|
@ -72,7 +72,7 @@ impl Content for Demo<Tui> {
|
|||
}))
|
||||
//Align::Center(Outset::X(1, Layers::new(|add|{
|
||||
//add(&Background(Color::Rgb(128,0,0)))?;
|
||||
//add(&Split::down(|add|{
|
||||
//add(&Stack::down(|add|{
|
||||
//add(&Outset::Y(1, Layers::new(|add|{
|
||||
//add(&Background(Color::Rgb(0,128,0)))?;
|
||||
//add(&Align::Center("12345"))?;
|
||||
|
|
@ -88,7 +88,7 @@ impl Content for Demo<Tui> {
|
|||
|
||||
//Align::Y(Layers::new(|add|{
|
||||
//add(&Background(Color::Rgb(128,0,0)))?;
|
||||
//add(&Outset::X(1, Align::Center(Split::down(|add|{
|
||||
//add(&Outset::X(1, Align::Center(Stack::down(|add|{
|
||||
//add(&Align::X(Outset::Y(1, Layers::new(|add|{
|
||||
//add(&Background(Color::Rgb(0,128,0)))?;
|
||||
//add(&Align::Center("12345"))?;
|
||||
|
|
|
|||
|
|
@ -711,7 +711,7 @@ impl<E: Engine, T: Widget<Engine = E>> Widget for Pull<E::Unit, T> {
|
|||
}
|
||||
}
|
||||
|
||||
pub struct Split<
|
||||
pub struct Stack<
|
||||
E: Engine,
|
||||
F: Send + Sync + Fn(&mut dyn FnMut(&dyn Widget<Engine = E>)->Usually<()>)->Usually<()>
|
||||
>(pub F, pub Direction, PhantomData<E>);
|
||||
|
|
@ -719,7 +719,7 @@ pub struct Split<
|
|||
impl<
|
||||
E: Engine,
|
||||
F: Send + Sync + Fn(&mut dyn FnMut(&dyn Widget<Engine = E>)->Usually<()>)->Usually<()>
|
||||
> Split<E, F> {
|
||||
> Stack<E, F> {
|
||||
#[inline] pub fn new (direction: Direction, build: F) -> Self {
|
||||
Self(build, direction, Default::default())
|
||||
}
|
||||
|
|
@ -731,7 +731,7 @@ impl<
|
|||
}
|
||||
}
|
||||
|
||||
impl<E: Engine, F> Widget for Split<E, F>
|
||||
impl<E: Engine, F> Widget for Stack<E, F>
|
||||
where
|
||||
F: Send + Sync + Fn(&mut dyn FnMut(&dyn Widget<Engine = E>)->Usually<()>)->Usually<()>
|
||||
{
|
||||
|
|
@ -824,8 +824,8 @@ where
|
|||
($($expr:expr),* $(,)?) => { Layers::new(move|add|{ $(add(&$expr)?;)* Ok(()) }) }
|
||||
}
|
||||
#[macro_export] macro_rules! col {
|
||||
($($expr:expr),* $(,)?) => { Split::down(move|add|{ $(add(&$expr)?;)* Ok(()) }) }
|
||||
($($expr:expr),* $(,)?) => { Stack::down(move|add|{ $(add(&$expr)?;)* Ok(()) }) }
|
||||
}
|
||||
#[macro_export] macro_rules! row {
|
||||
($($expr:expr),* $(,)?) => { Split::right(move|add|{ $(add(&$expr)?;)* Ok(()) }) }
|
||||
($($expr:expr),* $(,)?) => { Stack::right(move|add|{ $(add(&$expr)?;)* Ok(()) }) }
|
||||
}
|
||||
|
|
|
|||
|
|
@ -72,28 +72,28 @@ fn test_outset_align () -> Usually<()> {
|
|||
//Some([0, 0, 4, 4]));
|
||||
//assert_eq!(Align::Center(test).layout(area)?,
|
||||
//Some([3, 3, 4, 4]));
|
||||
//assert_eq!(Align::Center(Split::down(|add|{
|
||||
//assert_eq!(Align::Center(Stack::down(|add|{
|
||||
//add(&test)?;
|
||||
//add(&test)
|
||||
//})).layout(area)?,
|
||||
//Some([3, 1, 4, 8]));
|
||||
//assert_eq!(Align::Center(Split::down(|add|{
|
||||
//assert_eq!(Align::Center(Stack::down(|add|{
|
||||
//add(&Outset::XY(2, 2, test))?;
|
||||
//add(&test)
|
||||
//})).layout(area)?,
|
||||
//Some([2, 0, 6, 10]));
|
||||
//assert_eq!(Align::Center(Split::down(|add|{
|
||||
//assert_eq!(Align::Center(Stack::down(|add|{
|
||||
//add(&Outset::XY(2, 2, test))?;
|
||||
//add(&Inset::XY(2, 2, test))
|
||||
//})).layout(area)?,
|
||||
//Some([2, 1, 6, 8]));
|
||||
//assert_eq!(Split::down(|add|{
|
||||
//assert_eq!(Stack::down(|add|{
|
||||
//add(&Outset::XY(2, 2, test))?;
|
||||
//add(&Inset::XY(2, 2, test))
|
||||
//}).layout(area)?,
|
||||
//Some([0, 0, 6, 8]));
|
||||
//assert_eq!(Split::right(|add|{
|
||||
//add(&Split::down(|add|{
|
||||
//assert_eq!(Stack::right(|add|{
|
||||
//add(&Stack::down(|add|{
|
||||
//add(&Outset::XY(2, 2, test))?;
|
||||
//add(&Inset::XY(2, 2, test))
|
||||
//}))?;
|
||||
|
|
@ -142,34 +142,34 @@ fn test_outset_align () -> Usually<()> {
|
|||
//Some([0, 0, 3, 1]));
|
||||
//assert_eq!(Layers::new(|add|{add(&"1")?;add(&"333")}).layout(area)?,
|
||||
//Some([0, 0, 3, 1]));
|
||||
//assert_eq!(Split::down(|add|{add(&"1")?;add(&"333")}).layout(area)?,
|
||||
//assert_eq!(Stack::down(|add|{add(&"1")?;add(&"333")}).layout(area)?,
|
||||
//Some([0, 0, 3, 2]));
|
||||
//assert_eq!(Split::right(|add|{add(&"1")?;add(&"333")}).layout(area)?,
|
||||
//assert_eq!(Stack::right(|add|{add(&"1")?;add(&"333")}).layout(area)?,
|
||||
//Some([0, 0, 4, 1]));
|
||||
//assert_eq!(Split::down(|add|{
|
||||
//add(&Split::right(|add|{add(&"1")?;add(&"333")}))?;
|
||||
//assert_eq!(Stack::down(|add|{
|
||||
//add(&Stack::right(|add|{add(&"1")?;add(&"333")}))?;
|
||||
//add(&"55555")
|
||||
//}).layout(area)?,
|
||||
//Some([0, 0, 5, 2]));
|
||||
//let area: [u16;4] = [1, 1, 100, 100];
|
||||
//assert_eq!(Outset::X(1, Split::right(|add|{add(&"1")?;add(&"333")})).layout(area)?,
|
||||
//assert_eq!(Outset::X(1, Stack::right(|add|{add(&"1")?;add(&"333")})).layout(area)?,
|
||||
//Some([0, 1, 6, 1]));
|
||||
//assert_eq!(Outset::Y(1, Split::right(|add|{add(&"1")?;add(&"333")})).layout(area)?,
|
||||
//assert_eq!(Outset::Y(1, Stack::right(|add|{add(&"1")?;add(&"333")})).layout(area)?,
|
||||
//Some([1, 0, 4, 3]));
|
||||
//assert_eq!(Outset::XY(1, 1, Split::right(|add|{add(&"1")?;add(&"333")})).layout(area)?,
|
||||
//assert_eq!(Outset::XY(1, 1, Stack::right(|add|{add(&"1")?;add(&"333")})).layout(area)?,
|
||||
//Some([0, 0, 6, 3]));
|
||||
//assert_eq!(Split::down(|add|{
|
||||
//assert_eq!(Stack::down(|add|{
|
||||
//add(&Outset::XY(1, 1, "1"))?;
|
||||
//add(&Outset::XY(1, 1, "333"))
|
||||
//}).layout(area)?,
|
||||
//Some([1, 1, 5, 6]));
|
||||
//let area: [u16;4] = [1, 1, 95, 100];
|
||||
//assert_eq!(Align::Center(Split::down(|add|{
|
||||
//assert_eq!(Align::Center(Stack::down(|add|{
|
||||
//add(&Outset::XY(1, 1, "1"))?;
|
||||
//add(&Outset::XY(1, 1, "333"))
|
||||
//})).layout(area)?,
|
||||
//Some([46, 48, 5, 6]));
|
||||
//assert_eq!(Align::Center(Split::down(|add|{
|
||||
//assert_eq!(Align::Center(Stack::down(|add|{
|
||||
//add(&Layers::new(|add|{
|
||||
////add(&Outset::XY(1, 1, Background(Color::Rgb(0,128,0))))?;
|
||||
//add(&Outset::XY(1, 1, "1"))?;
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ impl<E: Engine> Audio for Mixer<E> {
|
|||
impl Content for Mixer<Tui> {
|
||||
type Engine = Tui;
|
||||
fn content (&self) -> impl Widget<Engine = Tui> {
|
||||
Split::right(|add| {
|
||||
Stack::right(|add| {
|
||||
for channel in self.tracks.iter() {
|
||||
add(channel)?;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -188,7 +188,7 @@ impl<'a> Widget for TrackView<'a, Tui> {
|
|||
//_ => { unimplemented!() },
|
||||
//}
|
||||
//to.fill_bg(to.area(), Nord::bg_lo(self.focused, self.entered));
|
||||
//let mut split = Split::new(self.direction);
|
||||
//let mut split = Stack::new(self.direction);
|
||||
//for device in chain.devices.as_slice().iter() {
|
||||
//split = split.add_ref(device);
|
||||
//}
|
||||
|
|
|
|||
|
|
@ -73,13 +73,13 @@ impl Content for ArrangerStandalone<Tui> {
|
|||
type Engine = Tui;
|
||||
fn content (&self) -> impl Widget<Engine = Tui> {
|
||||
Layers::new(|add|{
|
||||
add(&Split::down(move|add|{
|
||||
add(&Stack::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, move|add|{
|
||||
add(&Stack::new(direction, move|add|{
|
||||
add(&(&self.arranger as &dyn Widget<Engine = Tui>)
|
||||
.shrink_y(30)
|
||||
.debug())?;
|
||||
|
|
|
|||
|
|
@ -491,8 +491,8 @@ impl<'a> Content for VerticalArranger<'a, Tui> {
|
|||
let cols = cols.as_ref();
|
||||
add(&VerticalArrangerGrid(offset, &rows, &cols))?;
|
||||
add(&VerticalArrangerCursor(state.focused, state.selected, offset, &cols, &rows))?;
|
||||
add(&Split::down(|add|{
|
||||
add(&Split::right(move |add|{
|
||||
add(&Stack::down(|add|{
|
||||
add(&Stack::right(move |add|{
|
||||
for (track, (w, _)) in tracks.iter().zip(cols) {
|
||||
add(&Layers::new(|add|{
|
||||
add(&Background(COLOR_BG1))?;
|
||||
|
|
@ -501,12 +501,12 @@ impl<'a> Content for VerticalArranger<'a, Tui> {
|
|||
}
|
||||
Ok(())
|
||||
}).push_x(offset))?;
|
||||
add(&Split::down(move |add| {
|
||||
add(&Stack::down(move |add| {
|
||||
for (scene, (pulses, _)) in scenes.iter().zip(rows) {
|
||||
let height = 1.max((pulses / 96) as u16);
|
||||
let playing = scene.is_playing(tracks);
|
||||
add(&Split::right(move |add| {
|
||||
add(&Split::right(|add|{
|
||||
add(&Stack::right(move |add| {
|
||||
add(&Stack::right(|add|{
|
||||
add(&if playing { "▶ " } else { " " })?;
|
||||
add(&scene.name.read().unwrap().as_str())
|
||||
}).fixed_xy(offset.saturating_sub(1), height))?;
|
||||
|
|
@ -671,7 +671,7 @@ impl<'a> Content for HorizontalArranger<'a, Tui> {
|
|||
let tracks = tracks.as_slice();
|
||||
Layers::new(|add|{
|
||||
add(&focused.then_some(Background(COLOR_BG0)))?;
|
||||
add(&Split::right(|add|{
|
||||
add(&Stack::right(|add|{
|
||||
add(&TrackNameColumn(tracks, *selected))?;
|
||||
add(&TrackMonitorColumn(tracks))?;
|
||||
add(&TrackRecordColumn(tracks))?;
|
||||
|
|
@ -1578,7 +1578,7 @@ struct SequenceNoteRange;
|
|||
impl Content for SequenceNoteRange {
|
||||
type Engine = Tui;
|
||||
fn content (&self) -> impl Widget<Engine = Tui> {
|
||||
Split::down(|add|{
|
||||
Stack::down(|add|{
|
||||
//Lozenge(Style::default().fg(Nord::BG2)).draw(to.with_rect(range))?;
|
||||
add(&"Notes: ")?;//Some(STYLE_LABEL));
|
||||
add(&"C#0-C#9 ")?;//Some(STYLE_VALUE));
|
||||
|
|
@ -2086,7 +2086,7 @@ impl Handle<Tui> for TransportToolbar<Tui> {
|
|||
impl Content for TransportToolbar<Tui> {
|
||||
type Engine = Tui;
|
||||
fn content (&self) -> impl Widget<Engine = Tui> {
|
||||
Split::right(|add|{
|
||||
Stack::right(|add|{
|
||||
let focus_wrap = |focused, component|Layers::new(move |add|{
|
||||
if focused {
|
||||
add(&CORNERS)?;
|
||||
|
|
@ -2232,7 +2232,7 @@ impl Content for TransportBPM<Tui> {
|
|||
type Engine = Tui;
|
||||
fn content (&self) -> impl Widget<Engine = Tui> {
|
||||
let Self { value, .. } = self;
|
||||
Outset::X(1u16, Split::down(move |add|{
|
||||
Outset::X(1u16, Stack::down(move |add|{
|
||||
add(&"BPM")?;
|
||||
add(&format!("{}.{:03}", *value as usize, (value * 1000.0) % 1000.0).as_str())
|
||||
}))
|
||||
|
|
@ -2273,7 +2273,7 @@ impl Content for TransportQuantize<Tui> {
|
|||
type Engine = Tui;
|
||||
fn content (&self) -> impl Widget<Engine = Tui> {
|
||||
let Self { value, .. } = self;
|
||||
Outset::X(1u16, Split::down(|add|{
|
||||
Outset::X(1u16, Stack::down(|add|{
|
||||
add(&"QUANT")?;
|
||||
add(&ppq_to_name(*value as usize))
|
||||
}))
|
||||
|
|
@ -2314,7 +2314,7 @@ impl Content for TransportSync<Tui> {
|
|||
type Engine = Tui;
|
||||
fn content (&self) -> impl Widget<Engine = Tui> {
|
||||
let Self { value, .. } = self;
|
||||
Outset::X(1u16, Split::down(|add|{
|
||||
Outset::X(1u16, Stack::down(|add|{
|
||||
add(&"SYNC")?;
|
||||
add(&ppq_to_name(*value as usize))
|
||||
}))
|
||||
|
|
@ -2353,7 +2353,7 @@ impl Content for TransportClock<Tui> {
|
|||
let (bars, beats) = ((beats / 4) + 1, (beats % 4) + 1);
|
||||
let (seconds, msecs) = (usecs / 1000000, usecs / 1000 % 1000);
|
||||
let (minutes, seconds) = (seconds / 60, seconds % 60);
|
||||
add(&Outset::X(1u16, Split::down(|add|{
|
||||
add(&Outset::X(1u16, Stack::down(|add|{
|
||||
add(&format!("{bars}.{beats}.{pulses:02}").as_str())?;
|
||||
add(&format!("{minutes}:{seconds:02}:{msecs:03}").as_str())
|
||||
})))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue