summaryrefslogtreecommitdiffstats
path: root/examples/exit
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2023-01-12 02:59:08 +0100
committerLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2023-01-12 02:59:08 +0100
commit7354f68b3ca345767de3f09dccddf168493977bf (patch)
treea09626c11a25ab4260c576733f1700e9ad12894b /examples/exit
parent7ccd87c36b54e0d53f65f5774f140a0528ae4504 (diff)
downloadiced-7354f68b3ca345767de3f09dccddf168493977bf.tar.gz
iced-7354f68b3ca345767de3f09dccddf168493977bf.tar.bz2
iced-7354f68b3ca345767de3f09dccddf168493977bf.zip
Draft `Shell:request_redraw` API
... and implement `TextInput` cursor blink :tada:
Diffstat (limited to 'examples/exit')
-rw-r--r--examples/exit/src/main.rs26
1 files changed, 13 insertions, 13 deletions
diff --git a/examples/exit/src/main.rs b/examples/exit/src/main.rs
index 5d518d2f..6152f627 100644
--- a/examples/exit/src/main.rs
+++ b/examples/exit/src/main.rs
@@ -1,5 +1,7 @@
+use iced::executor;
use iced::widget::{button, column, container};
-use iced::{Alignment, Element, Length, Sandbox, Settings};
+use iced::window;
+use iced::{Alignment, Application, Command, Element, Length, Settings, Theme};
pub fn main() -> iced::Result {
Exit::run(Settings::default())
@@ -8,7 +10,6 @@ pub fn main() -> iced::Result {
#[derive(Default)]
struct Exit {
show_confirm: bool,
- exit: bool,
}
#[derive(Debug, Clone, Copy)]
@@ -17,28 +18,27 @@ enum Message {
Exit,
}
-impl Sandbox for Exit {
+impl Application for Exit {
+ type Executor = executor::Default;
type Message = Message;
+ type Theme = Theme;
+ type Flags = ();
- fn new() -> Self {
- Self::default()
+ fn new(_flags: ()) -> (Self, Command<Message>) {
+ (Self::default(), Command::none())
}
fn title(&self) -> String {
String::from("Exit - Iced")
}
- fn should_exit(&self) -> bool {
- self.exit
- }
-
- fn update(&mut self, message: Message) {
+ fn update(&mut self, message: Message) -> Command<Message> {
match message {
- Message::Confirm => {
- self.exit = true;
- }
+ Message::Confirm => window::close(),
Message::Exit => {
self.show_confirm = true;
+
+ Command::none()
}
}
}