diff --git a/examples/dial_test3.rs b/examples/dial_test3.rs index 84844fb1e3f1c7fe842cdd2d16c0fc1c4cd6c291..bc2dbb8247050e7bbd5afbfae02bcd7cff95639f 100644 --- a/examples/dial_test3.rs +++ b/examples/dial_test3.rs @@ -28,7 +28,7 @@ use log::info; use druid_widgets::*; -#[derive(Clone, Data, Lens)] +#[derive(Clone, Data, Lens, Default)] struct DialLabel { value: f64, } @@ -51,7 +51,7 @@ impl DialLabel { col } } -#[derive(Clone, Data, Lens)] +#[derive(Clone, Data, Lens, Default)] struct Envelope { attack: DialLabel, decay: DialLabel, @@ -62,29 +62,43 @@ struct Envelope { impl Envelope { fn new() -> impl Widget<Envelope> { let solid = Color::rgb8(0x3a, 0x3a, 0x3a); - let mut col = Flex::column(); - col.add_child( + let mut row = Flex::row(); + row.add_child( DialLabel::new("Attack") .lens(Envelope::attack) .background(solid.clone()) .padding(5.0), 0.0, ); - col.add_child( + row.add_child( DialLabel::new("Decay") .lens(Envelope::decay) .background(solid.clone()) .padding(5.0), 0.0, ); - col + row.add_child( + DialLabel::new("Sustain") + .lens(Envelope::sustain) + .background(solid.clone()) + .padding(5.0), + 0.0, + ); + row.add_child( + DialLabel::new("Release") + .lens(Envelope::release) + .background(solid.clone()) + .padding(5.0), + 0.0, + ); + row } } fn main() -> Result<(), PlatformError> { - AppLauncher::with_window(WindowDesc::new(|| DialLabel::new("Value"))) + AppLauncher::with_window(WindowDesc::new(Envelope::new)) .use_simple_logger() - .launch(DialLabel { value: 0.0 })?; + .launch(Envelope::default())?; Ok(()) }