feat: initial commit
This commit is contained in:
@@ -0,0 +1 @@
|
||||
/target
|
||||
Generated
+3964
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,7 @@
|
||||
[package]
|
||||
name = "rust-iced"
|
||||
version = "0.1.0"
|
||||
edition = "2024"
|
||||
|
||||
[dependencies]
|
||||
iced = "0.14.0"
|
||||
+38
@@ -0,0 +1,38 @@
|
||||
use iced::widget::{button, center, column, text};
|
||||
use iced::Alignment;
|
||||
|
||||
#[derive(Debug, Clone, Copy)]
|
||||
enum Message {
|
||||
Increment,
|
||||
Decrement,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Default)]
|
||||
struct Counter {
|
||||
value: i32,
|
||||
}
|
||||
|
||||
impl Counter {
|
||||
fn update(&mut self, message: Message) {
|
||||
match message {
|
||||
Message::Increment => self.value += 1,
|
||||
Message::Decrement => self.value -= 1,
|
||||
}
|
||||
}
|
||||
|
||||
fn view(&self) -> iced::widget::Container<'_, Message> {
|
||||
let increment = button(text("+").size(24)).on_press(Message::Increment);
|
||||
let decrement = button(text("-").size(24)).on_press(Message::Decrement);
|
||||
let counter = text(format!("Counter: {}", self.value)).size(24);
|
||||
|
||||
center(
|
||||
column![increment, counter, decrement]
|
||||
.spacing(10)
|
||||
.align_x(Alignment::Center),
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
fn main() -> iced::Result {
|
||||
iced::run(Counter::update, Counter::view)
|
||||
}
|
||||
Reference in New Issue
Block a user