mirror of
https://github.com/danbulant/cushy
synced 2026-05-19 12:19:02 +00:00
37 lines
1 KiB
Rust
37 lines
1 KiB
Rust
use cushy::figures::units::Lp;
|
|
use cushy::figures::Size;
|
|
use cushy::value::{Dynamic, MapEach};
|
|
use cushy::widget::MakeWidget;
|
|
use cushy::widgets::progress::Progressable;
|
|
use cushy::widgets::slider::Slidable;
|
|
use cushy::Run;
|
|
|
|
fn main() -> cushy::Result {
|
|
let indeterminant = Dynamic::new(false);
|
|
let value = Dynamic::new(0_u8);
|
|
let progress = (&indeterminant, &value)
|
|
.map_each(|(&indeterminant, &value)| (!indeterminant).then_some(value));
|
|
|
|
value
|
|
.clone()
|
|
.slider()
|
|
.and(
|
|
progress
|
|
.clone()
|
|
.progress_bar()
|
|
.expand()
|
|
.and(progress.clone().progress_bar().spinner())
|
|
.into_columns(),
|
|
)
|
|
.and("Indeterminant".into_checkbox(indeterminant))
|
|
.into_rows()
|
|
.fit_horizontally()
|
|
.expand()
|
|
.and(value.slider())
|
|
.and(progress.progress_bar())
|
|
.into_columns()
|
|
.pad()
|
|
.size(Size::squared(Lp::inches(3)))
|
|
.centered()
|
|
.run()
|
|
}
|