use druid::widget::{Flex, Label, Padding, Switch};
use druid::{AppLauncher, Data, Lens, LensWrap, Widget, WindowDesc};
#[derive(Clone, Data, Lens)]
struct DemoState {
value: bool,
}
fn build_widget() -> impl Widget<DemoState> {
let mut col = Flex::column();
let mut row = Flex::row();
let switch = LensWrap::new(Switch::new(), DemoState::value);
let switch_label = Label::new("Setting label");
row.add_child(Padding::new(5.0, switch_label), 0.0);
row.add_child(Padding::new(5.0, switch), 0.0);
col.add_child(Padding::new(5.0, row), 1.0);
col
}
fn main() {
let window = WindowDesc::new(build_widget);
AppLauncher::with_window(window)
.use_simple_logger()
.launch(DemoState { value: true })
.expect("launch failed");
}