diff options
| author | 2024-03-16 05:33:47 +0100 | |
|---|---|---|
| committer | 2024-03-16 05:33:47 +0100 | |
| commit | c22269bff3085012d326a0df77bf27ad5bcb41b7 (patch) | |
| tree | 1083f21d012ab2bac88fb51537d4dc431bc7f170 /examples/layout/src | |
| parent | 0524e9b4571d264018656418f02a1f9e27e268d7 (diff) | |
| download | iced-c22269bff3085012d326a0df77bf27ad5bcb41b7.tar.gz iced-c22269bff3085012d326a0df77bf27ad5bcb41b7.tar.bz2 iced-c22269bff3085012d326a0df77bf27ad5bcb41b7.zip | |
Introduce `Program` API
Diffstat (limited to 'examples/layout/src')
| -rw-r--r-- | examples/layout/src/main.rs | 35 | 
1 files changed, 10 insertions, 25 deletions
| diff --git a/examples/layout/src/main.rs b/examples/layout/src/main.rs index 17c51e3d..fc3a1f82 100644 --- a/examples/layout/src/main.rs +++ b/examples/layout/src/main.rs @@ -1,4 +1,3 @@ -use iced::executor;  use iced::keyboard;  use iced::mouse;  use iced::widget::{ @@ -6,15 +5,19 @@ use iced::widget::{      row, scrollable, text,  };  use iced::{ -    color, Alignment, Application, Command, Element, Font, Length, Point, -    Rectangle, Renderer, Settings, Subscription, Theme, +    color, Alignment, Element, Font, Length, Point, Rectangle, Renderer, +    Subscription, Theme,  };  pub fn main() -> iced::Result { -    Layout::run(Settings::default()) +    iced::sandbox(Layout::update, Layout::view) +        .title(Layout::title) +        .subscription(Layout::subscription) +        .theme(Layout::theme) +        .run()  } -#[derive(Debug)] +#[derive(Default, Debug)]  struct Layout {      example: Example,      explain: bool, @@ -29,28 +32,12 @@ enum Message {      ThemeSelected(Theme),  } -impl Application for Layout { -    type Message = Message; -    type Theme = Theme; -    type Executor = executor::Default; -    type Flags = (); - -    fn new(_flags: Self::Flags) -> (Self, Command<Message>) { -        ( -            Self { -                example: Example::default(), -                explain: false, -                theme: Theme::Light, -            }, -            Command::none(), -        ) -    } - +impl Layout {      fn title(&self) -> String {          format!("{} - Layout - Iced", self.example.title)      } -    fn update(&mut self, message: Self::Message) -> Command<Message> { +    fn update(&mut self, message: Message) {          match message {              Message::Next => {                  self.example = self.example.next(); @@ -65,8 +52,6 @@ impl Application for Layout {                  self.theme = theme;              }          } - -        Command::none()      }      fn subscription(&self) -> Subscription<Message> { | 
