diff options
| author | Chris <chris@K-Laptop.k.com> | 2026-06-05 16:53:56 +0100 |
|---|---|---|
| committer | Chris <chris@K-Laptop.k.com> | 2026-06-05 16:53:56 +0100 |
| commit | b41c34a85d28717113254f192ddb2c60ae4a9ea7 (patch) | |
| tree | 1e8bd5a464988c43327654ac337dcf971840d1fe /src | |
Diffstat (limited to 'src')
| -rw-r--r-- | src/main.rs | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/src/main.rs b/src/main.rs new file mode 100644 index 0000000..296c444 --- /dev/null +++ b/src/main.rs @@ -0,0 +1,49 @@ +#[derive(Default)] +struct Counter { + value: i32, +} + + +#[derive(Debug, Clone, Copy)] +pub enum Message { + Increment, + Decrement, +} + +use iced::widget::{button, column, text, Column}; + +impl Counter { + pub fn view(&self) -> Column<'_, Message> { + // We use a column: a simple vertical layout + column![ + // The increment button. We tell it to produce an + // `Increment` message when pressed + button("+").on_press(Message::Increment), + + // We show the value of the counter here + text(self.value).size(50), + + // The decrement button. We tell it to produce a + // `Decrement` message when pressed + button("-").on_press(Message::Decrement), + ] + } +} +impl Counter { + // ... + + pub fn update(&mut self, message: Message) { + match message { + Message::Increment => { + self.value += 1; + } + Message::Decrement => { + self.value -= 1; + } + } + } +} + +fn main() -> iced::Result { + iced::run(Counter::update, Counter::view) +} |
