summaryrefslogtreecommitdiffstats
path: root/examples/counter
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón <hector@hecrj.dev>2024-03-16 17:09:00 +0100
committerLibravatar GitHub <noreply@github.com>2024-03-16 17:09:00 +0100
commit503a48e89977437bf8b7bf485f416a15a2e83ed0 (patch)
tree30306bbaee7a31090ace9d7725d46c2c0027fe6b /examples/counter
parent0524e9b4571d264018656418f02a1f9e27e268d7 (diff)
parentcfc0383bbfff083786840e3f1fd499e5991fa629 (diff)
downloadiced-503a48e89977437bf8b7bf485f416a15a2e83ed0.tar.gz
iced-503a48e89977437bf8b7bf485f416a15a2e83ed0.tar.bz2
iced-503a48e89977437bf8b7bf485f416a15a2e83ed0.zip
Merge pull request #2331 from iced-rs/program-api
`Program` API
Diffstat (limited to 'examples/counter')
-rw-r--r--examples/counter/src/main.rs36
1 files changed, 13 insertions, 23 deletions
diff --git a/examples/counter/src/main.rs b/examples/counter/src/main.rs
index 13dcbf86..0dd7a976 100644
--- a/examples/counter/src/main.rs
+++ b/examples/counter/src/main.rs
@@ -1,50 +1,40 @@
-use iced::widget::{button, column, text};
-use iced::{Alignment, Element, Sandbox, Settings};
+use iced::widget::{button, column, text, Column};
+use iced::Alignment;
pub fn main() -> iced::Result {
- Counter::run(Settings::default())
+ iced::run("A cool counter", Counter::update, Counter::view)
}
+#[derive(Default)]
struct Counter {
- value: i32,
+ value: i64,
}
#[derive(Debug, Clone, Copy)]
enum Message {
- IncrementPressed,
- DecrementPressed,
+ Increment,
+ Decrement,
}
-impl Sandbox for Counter {
- type Message = Message;
-
- fn new() -> Self {
- Self { value: 0 }
- }
-
- fn title(&self) -> String {
- String::from("Counter - Iced")
- }
-
+impl Counter {
fn update(&mut self, message: Message) {
match message {
- Message::IncrementPressed => {
+ Message::Increment => {
self.value += 1;
}
- Message::DecrementPressed => {
+ Message::Decrement => {
self.value -= 1;
}
}
}
- fn view(&self) -> Element<Message> {
+ fn view(&self) -> Column<Message> {
column![
- button("Increment").on_press(Message::IncrementPressed),
+ button("Increment").on_press(Message::Increment),
text(self.value).size(50),
- button("Decrement").on_press(Message::DecrementPressed)
+ button("Decrement").on_press(Message::Decrement)
]
.padding(20)
.align_items(Alignment::Center)
- .into()
}
}