summaryrefslogtreecommitdiffstats
path: root/examples
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón Jiménez <hector@hecrj.dev>2024-07-09 00:28:40 +0200
committerLibravatar Héctor Ramón Jiménez <hector@hecrj.dev>2024-07-09 00:28:40 +0200
commite86920be5b9984b4eb511e5e69efdcbf6ef3d8e4 (patch)
tree82180c9fa4c7381c5af747f42efda83214fda176 /examples
parent3d99da805dd42a062aa66a3bdc43c7cf82fa4fbe (diff)
downloadiced-e86920be5b9984b4eb511e5e69efdcbf6ef3d8e4.tar.gz
iced-e86920be5b9984b4eb511e5e69efdcbf6ef3d8e4.tar.bz2
iced-e86920be5b9984b4eb511e5e69efdcbf6ef3d8e4.zip
Remove `load` method from `application` and `daemon`
If you need to run a `Task` during boot, use `run_with` instead!
Diffstat (limited to 'examples')
-rw-r--r--examples/download_progress/Cargo.toml2
-rw-r--r--examples/editor/src/main.rs39
-rw-r--r--examples/multi_window/src/main.rs16
-rw-r--r--examples/pokedex/Cargo.toml2
-rw-r--r--examples/pokedex/src/main.rs14
-rw-r--r--examples/todos/src/main.rs13
-rw-r--r--examples/websocket/src/main.rs27
7 files changed, 57 insertions, 56 deletions
diff --git a/examples/download_progress/Cargo.toml b/examples/download_progress/Cargo.toml
index 18a49f66..f78df529 100644
--- a/examples/download_progress/Cargo.toml
+++ b/examples/download_progress/Cargo.toml
@@ -10,6 +10,6 @@ iced.workspace = true
iced.features = ["tokio"]
[dependencies.reqwest]
-version = "0.11"
+version = "0.12"
default-features = false
features = ["rustls-tls"]
diff --git a/examples/editor/src/main.rs b/examples/editor/src/main.rs
index bed9d94a..ce3c478d 100644
--- a/examples/editor/src/main.rs
+++ b/examples/editor/src/main.rs
@@ -13,12 +13,11 @@ use std::sync::Arc;
pub fn main() -> iced::Result {
iced::application("Editor - Iced", Editor::update, Editor::view)
- .load(Editor::load)
.subscription(Editor::subscription)
.theme(Editor::theme)
.font(include_bytes!("../fonts/icons.ttf").as_slice())
.default_font(Font::MONOSPACE)
- .run()
+ .run_with(Editor::new)
}
struct Editor {
@@ -41,20 +40,22 @@ enum Message {
}
impl Editor {
- fn new() -> Self {
- Self {
- file: None,
- content: text_editor::Content::new(),
- theme: highlighter::Theme::SolarizedDark,
- is_loading: true,
- is_dirty: false,
- }
- }
-
- fn load() -> Task<Message> {
- Task::perform(
- load_file(format!("{}/src/main.rs", env!("CARGO_MANIFEST_DIR"))),
- Message::FileOpened,
+ fn new() -> (Self, Task<Message>) {
+ (
+ Self {
+ file: None,
+ content: text_editor::Content::new(),
+ theme: highlighter::Theme::SolarizedDark,
+ is_loading: true,
+ is_dirty: false,
+ },
+ Task::perform(
+ load_file(format!(
+ "{}/src/main.rs",
+ env!("CARGO_MANIFEST_DIR")
+ )),
+ Message::FileOpened,
+ ),
)
}
@@ -214,12 +215,6 @@ impl Editor {
}
}
-impl Default for Editor {
- fn default() -> Self {
- Self::new()
- }
-}
-
#[derive(Debug, Clone)]
pub enum Error {
DialogClosed,
diff --git a/examples/multi_window/src/main.rs b/examples/multi_window/src/main.rs
index 98e753ab..460ca3b5 100644
--- a/examples/multi_window/src/main.rs
+++ b/examples/multi_window/src/main.rs
@@ -9,16 +9,12 @@ use std::collections::BTreeMap;
fn main() -> iced::Result {
iced::daemon(Example::title, Example::update, Example::view)
- .load(|| {
- window::open(window::Settings::default()).map(Message::WindowOpened)
- })
.subscription(Example::subscription)
.theme(Example::theme)
.scale_factor(Example::scale_factor)
- .run()
+ .run_with(Example::new)
}
-#[derive(Default)]
struct Example {
windows: BTreeMap<window::Id, Window>,
}
@@ -43,6 +39,16 @@ enum Message {
}
impl Example {
+ fn new() -> (Self, Task<Message>) {
+ (
+ Self {
+ windows: BTreeMap::new(),
+ },
+ window::open(window::Settings::default())
+ .map(Message::WindowOpened),
+ )
+ }
+
fn title(&self, window: window::Id) -> String {
self.windows
.get(&window)
diff --git a/examples/pokedex/Cargo.toml b/examples/pokedex/Cargo.toml
index bf7e1e35..1a6d5445 100644
--- a/examples/pokedex/Cargo.toml
+++ b/examples/pokedex/Cargo.toml
@@ -16,7 +16,7 @@ version = "1.0"
features = ["derive"]
[dependencies.reqwest]
-version = "0.11"
+version = "0.12"
default-features = false
features = ["json", "rustls-tls"]
diff --git a/examples/pokedex/src/main.rs b/examples/pokedex/src/main.rs
index b22ffe7f..7414ae54 100644
--- a/examples/pokedex/src/main.rs
+++ b/examples/pokedex/src/main.rs
@@ -4,17 +4,13 @@ use iced::{Alignment, Element, Length, Task};
pub fn main() -> iced::Result {
iced::application(Pokedex::title, Pokedex::update, Pokedex::view)
- .load(Pokedex::search)
- .run()
+ .run_with(Pokedex::new)
}
-#[derive(Debug, Default)]
+#[derive(Debug)]
enum Pokedex {
- #[default]
Loading,
- Loaded {
- pokemon: Pokemon,
- },
+ Loaded { pokemon: Pokemon },
Errored,
}
@@ -25,6 +21,10 @@ enum Message {
}
impl Pokedex {
+ fn new() -> (Self, Task<Message>) {
+ (Self::Loading, Self::search())
+ }
+
fn search() -> Task<Message> {
Task::perform(Pokemon::search(), Message::PokemonFound)
}
diff --git a/examples/todos/src/main.rs b/examples/todos/src/main.rs
index 6ed50d31..b34f71ce 100644
--- a/examples/todos/src/main.rs
+++ b/examples/todos/src/main.rs
@@ -18,16 +18,14 @@ pub fn main() -> iced::Result {
tracing_subscriber::fmt::init();
iced::application(Todos::title, Todos::update, Todos::view)
- .load(Todos::load)
.subscription(Todos::subscription)
.font(include_bytes!("../fonts/icons.ttf").as_slice())
.window_size((500.0, 800.0))
- .run()
+ .run_with(Todos::new)
}
-#[derive(Default, Debug)]
+#[derive(Debug)]
enum Todos {
- #[default]
Loading,
Loaded(State),
}
@@ -54,8 +52,11 @@ enum Message {
}
impl Todos {
- fn load() -> Command<Message> {
- Command::perform(SavedState::load(), Message::Loaded)
+ fn new() -> (Self, Command<Message>) {
+ (
+ Self::Loading,
+ Command::perform(SavedState::load(), Message::Loaded),
+ )
}
fn title(&self) -> String {
diff --git a/examples/websocket/src/main.rs b/examples/websocket/src/main.rs
index 95a14fd9..d8246436 100644
--- a/examples/websocket/src/main.rs
+++ b/examples/websocket/src/main.rs
@@ -9,12 +9,10 @@ use once_cell::sync::Lazy;
pub fn main() -> iced::Result {
iced::application("WebSocket - Iced", WebSocket::update, WebSocket::view)
- .load(WebSocket::load)
.subscription(WebSocket::subscription)
- .run()
+ .run_with(WebSocket::new)
}
-#[derive(Default)]
struct WebSocket {
messages: Vec<echo::Message>,
new_message: String,
@@ -30,11 +28,18 @@ enum Message {
}
impl WebSocket {
- fn load() -> Task<Message> {
- Task::batch([
- Task::perform(echo::server::run(), |_| Message::Server),
- widget::focus_next(),
- ])
+ fn new() -> (Self, Task<Message>) {
+ (
+ Self {
+ messages: Vec::new(),
+ new_message: String::new(),
+ state: State::Disconnected,
+ },
+ Task::batch([
+ Task::perform(echo::server::run(), |_| Message::Server),
+ widget::focus_next(),
+ ]),
+ )
}
fn update(&mut self, message: Message) -> Task<Message> {
@@ -140,10 +145,4 @@ enum State {
Connected(echo::Connection),
}
-impl Default for State {
- fn default() -> Self {
- Self::Disconnected
- }
-}
-
static MESSAGE_LOG: Lazy<scrollable::Id> = Lazy::new(scrollable::Id::unique);