2019-09-14 20:54:50 +02:00
|
|
|
use futures::Future;
|
2019-09-14 19:16:06 +02:00
|
|
|
|
2019-09-14 20:54:50 +02:00
|
|
|
mod color;
|
|
|
|
|
mod element;
|
|
|
|
|
mod widget;
|
|
|
|
|
|
|
|
|
|
pub use color::Color;
|
|
|
|
|
pub use element::Element;
|
|
|
|
|
pub use iced::Align;
|
|
|
|
|
pub use widget::*;
|
|
|
|
|
|
|
|
|
|
pub trait UserInterface {
|
|
|
|
|
type Message;
|
|
|
|
|
|
|
|
|
|
fn update(
|
|
|
|
|
&mut self,
|
|
|
|
|
message: Self::Message,
|
|
|
|
|
) -> Box<dyn Future<Item = Self::Message, Error = ()>>;
|
|
|
|
|
|
|
|
|
|
fn view(&mut self) -> Element<Self::Message>;
|
|
|
|
|
|
|
|
|
|
fn run(mut self)
|
|
|
|
|
where
|
|
|
|
|
Self: Sized,
|
|
|
|
|
{
|
|
|
|
|
let element = self.view();
|
|
|
|
|
}
|
|
|
|
|
}
|