diff options
author | 2022-06-28 14:27:06 -0300 | |
---|---|---|
committer | 2023-01-09 11:27:04 -0800 | |
commit | 64e21535c7e5df9a1ff94b9b9036b6ae5b5c82b0 (patch) | |
tree | f06985e4a759a788677ebcf2d18b0d90abff9200 /examples/multi_window | |
parent | ec56c0686df1a200e37af951a3a8eca562c32a5c (diff) | |
download | iced-64e21535c7e5df9a1ff94b9b9036b6ae5b5c82b0.tar.gz iced-64e21535c7e5df9a1ff94b9b9036b6ae5b5c82b0.tar.bz2 iced-64e21535c7e5df9a1ff94b9b9036b6ae5b5c82b0.zip |
Fix `multi_window` example
Diffstat (limited to 'examples/multi_window')
-rw-r--r-- | examples/multi_window/src/main.rs | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/examples/multi_window/src/main.rs b/examples/multi_window/src/main.rs new file mode 100644 index 00000000..0ba6a591 --- /dev/null +++ b/examples/multi_window/src/main.rs @@ -0,0 +1,58 @@ +use iced::multi_window::Application; +use iced::pure::{button, column, text, Element}; +use iced::{window, Alignment, Command, Settings}; + +pub fn main() -> iced::Result { + Counter::run(Settings::default()) +} + +struct Counter { + value: i32, +} + +#[derive(Debug, Clone, Copy)] +enum Message { + IncrementPressed, + DecrementPressed, +} + +impl Application for Counter { + type Flags = (); + type Executor = iced::executor::Default; + type Message = Message; + + fn new(_flags: ()) -> (Self, Command<Message>) { + (Self { value: 0 }, Command::none()) + } + + fn title(&self) -> String { + String::from("MultiWindow - Iced") + } + + fn windows(&self) -> Vec<(window::Id, iced::window::Settings)> { + todo!() + } + + fn update(&mut self, message: Message) -> Command<Message> { + match message { + Message::IncrementPressed => { + self.value += 1; + } + Message::DecrementPressed => { + self.value -= 1; + } + } + + Command::none() + } + + fn view(&self) -> Element<Message> { + column() + .padding(20) + .align_items(Alignment::Center) + .push(button("Increment").on_press(Message::IncrementPressed)) + .push(text(self.value.to_string()).size(50)) + .push(button("Decrement").on_press(Message::DecrementPressed)) + .into() + } +} |