summaryrefslogtreecommitdiffstats
path: root/examples/counter
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón <hector0193@gmail.com>2022-08-06 00:32:57 +0200
committerLibravatar GitHub <noreply@github.com>2022-08-06 00:32:57 +0200
commit1923dbf7f0769d55e5283f572fde0ce752e28b86 (patch)
tree7be9b36f941f6e13ddc8884f715c04555b1e77db /examples/counter
parent1b4f38c71f6e05e26599ee75ea9c91dde96e71ae (diff)
parentc23ed7e4a0a2b62a0d7cabe6e35d7323eac543d2 (diff)
downloadiced-1923dbf7f0769d55e5283f572fde0ce752e28b86.tar.gz
iced-1923dbf7f0769d55e5283f572fde0ce752e28b86.tar.bz2
iced-1923dbf7f0769d55e5283f572fde0ce752e28b86.zip
Merge pull request #1393 from iced-rs/deprecate-stateful-widgets
Replace stateful widgets with the new `iced_pure` API
Diffstat (limited to 'examples/counter')
-rw-r--r--examples/counter/src/main.rs32
1 files changed, 12 insertions, 20 deletions
diff --git a/examples/counter/src/main.rs b/examples/counter/src/main.rs
index e92f07f2..13dcbf86 100644
--- a/examples/counter/src/main.rs
+++ b/examples/counter/src/main.rs
@@ -1,15 +1,12 @@
-use iced::button::{self, Button};
-use iced::{Alignment, Column, Element, Sandbox, Settings, Text};
+use iced::widget::{button, column, text};
+use iced::{Alignment, Element, Sandbox, Settings};
pub fn main() -> iced::Result {
Counter::run(Settings::default())
}
-#[derive(Default)]
struct Counter {
value: i32,
- increment_button: button::State,
- decrement_button: button::State,
}
#[derive(Debug, Clone, Copy)]
@@ -22,7 +19,7 @@ impl Sandbox for Counter {
type Message = Message;
fn new() -> Self {
- Self::default()
+ Self { value: 0 }
}
fn title(&self) -> String {
@@ -40,19 +37,14 @@ impl Sandbox for Counter {
}
}
- fn view(&mut self) -> Element<Message> {
- Column::new()
- .padding(20)
- .align_items(Alignment::Center)
- .push(
- Button::new(&mut self.increment_button, Text::new("Increment"))
- .on_press(Message::IncrementPressed),
- )
- .push(Text::new(self.value.to_string()).size(50))
- .push(
- Button::new(&mut self.decrement_button, Text::new("Decrement"))
- .on_press(Message::DecrementPressed),
- )
- .into()
+ fn view(&self) -> Element<Message> {
+ column![
+ button("Increment").on_press(Message::IncrementPressed),
+ text(self.value).size(50),
+ button("Decrement").on_press(Message::DecrementPressed)
+ ]
+ .padding(20)
+ .align_items(Alignment::Center)
+ .into()
}
}