Source code
Revision control
Copy as Markdown
Other Tools
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
use super::{Element, ElementBuilder};
use crate::data::Event;
/// A clickable button.
#[derive(Default, Debug)]
pub struct Button {
pub content: Option<Box<Element>>,
pub click: Event<()>,
}
impl ElementBuilder<Button> {
pub fn on_click<F>(&mut self, f: F)
where
F: Fn() + 'static,
{
self.element_type.click.subscribe(move |_| f());
}
pub fn add_child(&mut self, child: Element) {
Self::single_child(&mut self.element_type.content, child);
}
}