summaryrefslogtreecommitdiffstats
path: root/examples/multi_window
diff options
context:
space:
mode:
authorLibravatar Richard <richardsoncusto@gmail.com>2022-06-28 14:27:06 -0300
committerLibravatar bungoboingo <shankern@protonmail.com>2023-01-09 11:27:04 -0800
commit64e21535c7e5df9a1ff94b9b9036b6ae5b5c82b0 (patch)
treef06985e4a759a788677ebcf2d18b0d90abff9200 /examples/multi_window
parentec56c0686df1a200e37af951a3a8eca562c32a5c (diff)
downloadiced-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.rs58
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()
+ }
+}