use origin/align methods

This commit is contained in:
i do not exist 2026-07-10 18:24:56 +03:00
parent d8a767326c
commit ae75019d97
4 changed files with 104 additions and 109 deletions

View file

@ -241,7 +241,7 @@ impl<'a> PoolView<'a> {
//let on_bg = |x|x;//below(Repeat(" "), bg(color.darkest.term, x));
//let border = |x|x;//Outer(Style::default().fg(color.dark.term).bg(color.darkest.term)).enclose(x);
//let height = pool.clips.read().unwrap().len() as u16;
origin_n(iter(
iter(
||pool.clips().clone().into_iter(),
move|clip: Arc<RwLock<MidiClip>>, i: usize|{
let MidiClip { ref name, color, length, .. } = *clip.read().unwrap();
@ -253,12 +253,12 @@ impl<'a> PoolView<'a> {
let name = if false { format!(" {i:>3}") } else { format!(" {i:>3} {name}") };
let length = if false { String::default() } else { format!("{length} ") };
bg(b, below!(
origin_w(fg(f, bold(selected, name))).full_w(),
origin_e(fg(f, bold(selected, length))).full_w(),
origin_w(when(selected, bold(true, fg(g(255), "")))).full_w(),
origin_e(when(selected, bold(true, fg(g(255), "")))).full_w(),
fg(f, bold(selected, name)).origin_w().full_w(),
fg(f, bold(selected, length)).origin_e().full_w(),
when(selected, bold(true, fg(g(255), ""))).origin_w().full_w(),
when(selected, bold(true, fg(g(255), ""))).origin_e().full_w(),
)).exact_h(1)
})).full_h().exact_w(20)
}).origin_n().full_h().exact_w(20)
}
}
@ -315,15 +315,16 @@ impl Browse {
impl Browse {
fn tui (&self) -> impl Draw<Tui> {
let item = |entry, _index|origin_w(entry).full_w();
let iterate = ||EntriesIterator {
iter_south_fixed(1, ||self.tui_entries(), |entry, _index|entry.origin_w().full_w())
}
fn tui_entries (&self) -> EntriesIterator<Tui> {
EntriesIterator {
offset: 0,
index: 0,
length: self.dirs.len() + self.files.len(),
browser: self,
_screen: Default::default(),
};
iter_south_fixed(1, iterate, item)
}
}
}

View file

@ -99,12 +99,12 @@ impl MidiEditor {
(clip.color, clip.name.clone(), clip.length, clip.looped)
} else { (ItemTheme::G[64], String::new().into(), 0, false) };
south!(
origin_w(east(button_2("f2", "name ", false),
origin_e(fg(Rgb(255, 255, 255), format!("{name} "))).full_w())).full_w(),
origin_w(east(button_2("l", "ength ", false),
origin_e(fg(Rgb(255, 255, 255), format!("{length} "))).full_w())).full_w(),
origin_w(east(button_2("r", "epeat ", false),
origin_e(fg(Rgb(255, 255, 255), format!("{looped} "))).full_w())).full_w(),
east(button_2("f2", "name ", false), fg(Rgb(255, 255, 255), format!("{name} "))
.origin_e().full_w()).origin_w().full_w(),
east(button_2("l", "ength ", false), fg(Rgb(255, 255, 255), format!("{length} ")).origin_e().full_w())
.origin_w().full_w(),
east(button_2("r", "epeat ", false), fg(Rgb(255, 255, 255), format!("{looped} ")).origin_e().full_w())
.origin_w().full_w(),
).exact_w(20)
}
pub fn edit_status (&self) -> impl Draw<Tui> + '_ {
@ -119,15 +119,12 @@ impl MidiEditor {
let note_pos = format!("{:>3}", note_pos);
let note_len = format!("{:>4}", self.get_note_len());
south!(
origin_w(east(button_2("t", "ime ", false),
origin_e(fg(Rgb(255, 255, 255),
format!("{length} /{time_zoom} +{time_pos} "))).full_w())).full_w(),
origin_w(east(button_2("z", "lock ", false),
origin_e(fg(Rgb(255, 255, 255),
format!("{time_lock}"))).full_w())).full_w(),
origin_w(east(button_2("x", "note ", false),
origin_e(fg(Rgb(255, 255, 255),
format!("{note_name} {note_pos} {note_len}"))).full_w())).full_w(),
east(button_2("t", "ime ", false),
fg(Rgb(255, 255, 255), format!("{length} /{time_zoom} +{time_pos} ")).origin_e().full_w()).origin_w().full_w(),
east(button_2("z", "lock ", false),
fg(Rgb(255, 255, 255), format!("{time_lock}")).origin_e().full_w()).origin_w().full_w(),
east(button_2("x", "note ", false),
fg(Rgb(255, 255, 255), format!("{note_name} {note_pos} {note_len}")).origin_e().full_w()).origin_w().full_w(),
).exact_w(20)
}
}