summaryrefslogtreecommitdiffstats
path: root/examples
diff options
context:
space:
mode:
authorLibravatar Nick Senger <dev@nsenger.com>2023-01-10 16:12:51 -0800
committerLibravatar Nick Senger <dev@nsenger.com>2023-01-10 21:35:55 -0800
commit4066f89ce72d6dee4fdf3f0e1dcde93852029f81 (patch)
tree11b1d5b7c0b8f9d7fa5d297e138a1e88deb1d0c0 /examples
parent2e3a69be31aa07878b0139146cd113a787731393 (diff)
downloadiced-4066f89ce72d6dee4fdf3f0e1dcde93852029f81.tar.gz
iced-4066f89ce72d6dee4fdf3f0e1dcde93852029f81.tar.bz2
iced-4066f89ce72d6dee4fdf3f0e1dcde93852029f81.zip
cleanup `Lazy` examples
Diffstat (limited to 'examples')
-rw-r--r--examples/cached/Cargo.toml10
-rw-r--r--examples/cached/src/main.rs139
-rw-r--r--examples/lazy/src/main.rs2
3 files changed, 1 insertions, 150 deletions
diff --git a/examples/cached/Cargo.toml b/examples/cached/Cargo.toml
deleted file mode 100644
index 2c7edde2..00000000
--- a/examples/cached/Cargo.toml
+++ /dev/null
@@ -1,10 +0,0 @@
-[package]
-name = "cached"
-version = "0.1.0"
-authors = ["Nick Senger <dev@nsenger.com>"]
-edition = "2021"
-publish = false
-
-[dependencies]
-iced = { path = "../..", features = ["debug"] }
-iced_lazy = { path = "../../lazy" }
diff --git a/examples/cached/src/main.rs b/examples/cached/src/main.rs
deleted file mode 100644
index 8845b874..00000000
--- a/examples/cached/src/main.rs
+++ /dev/null
@@ -1,139 +0,0 @@
-use iced::theme;
-use iced::widget::{
- button, column, horizontal_space, row, scrollable, text, text_input,
-};
-use iced::{Element, Length, Sandbox, Settings};
-use iced_lazy::lazy;
-
-use std::collections::HashSet;
-
-pub fn main() -> iced::Result {
- App::run(Settings::default())
-}
-
-struct App {
- options: HashSet<String>,
- input: String,
- order: Order,
-}
-
-impl Default for App {
- fn default() -> Self {
- Self {
- options: ["Foo", "Bar", "Baz", "Qux", "Corge", "Waldo", "Fred"]
- .into_iter()
- .map(ToString::to_string)
- .collect(),
- input: Default::default(),
- order: Order::Ascending,
- }
- }
-}
-
-#[derive(Debug, Clone)]
-enum Message {
- InputChanged(String),
- ToggleOrder,
- DeleteOption(String),
- AddOption(String),
-}
-
-impl Sandbox for App {
- type Message = Message;
-
- fn new() -> Self {
- Self::default()
- }
-
- fn title(&self) -> String {
- String::from("Cached - Iced")
- }
-
- fn update(&mut self, message: Message) {
- match message {
- Message::InputChanged(input) => {
- self.input = input;
- }
- Message::ToggleOrder => {
- self.order = match self.order {
- Order::Ascending => Order::Descending,
- Order::Descending => Order::Ascending,
- }
- }
- Message::AddOption(option) => {
- self.options.insert(option);
- self.input.clear();
- }
- Message::DeleteOption(option) => {
- self.options.remove(&option);
- }
- }
- }
-
- fn view(&self) -> Element<Message> {
- let options = lazy((&self.order, self.options.len()), || {
- let mut options: Vec<_> = self.options.iter().collect();
-
- options.sort_by(|a, b| match self.order {
- Order::Ascending => a.to_lowercase().cmp(&b.to_lowercase()),
- Order::Descending => b.to_lowercase().cmp(&a.to_lowercase()),
- });
-
- column(
- options
- .into_iter()
- .map(|option| {
- row![
- text(option),
- horizontal_space(Length::Fill),
- button("Delete")
- .on_press(Message::DeleteOption(
- option.to_string(),
- ),)
- .style(theme::Button::Destructive)
- ]
- .into()
- })
- .collect(),
- )
- .spacing(10)
- });
-
- column![
- scrollable(options).height(Length::Fill),
- row![
- text_input(
- "Add a new option",
- &self.input,
- Message::InputChanged,
- )
- .on_submit(Message::AddOption(self.input.clone())),
- button(text(format!("Toggle Order ({})", self.order)))
- .on_press(Message::ToggleOrder)
- ]
- .spacing(10)
- ]
- .spacing(20)
- .padding(20)
- .into()
- }
-}
-
-#[derive(Debug, Hash)]
-enum Order {
- Ascending,
- Descending,
-}
-
-impl std::fmt::Display for Order {
- fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
- write!(
- f,
- "{}",
- match self {
- Self::Ascending => "Ascending",
- Self::Descending => "Descending",
- }
- )
- }
-}
diff --git a/examples/lazy/src/main.rs b/examples/lazy/src/main.rs
index 8845b874..4413262d 100644
--- a/examples/lazy/src/main.rs
+++ b/examples/lazy/src/main.rs
@@ -46,7 +46,7 @@ impl Sandbox for App {
}
fn title(&self) -> String {
- String::from("Cached - Iced")
+ String::from("Lazy - Iced")
}
fn update(&mut self, message: Message) {