Skip to content

Commit c193cbd

Browse files
committed
basic example GUI using iced
1 parent ed1663a commit c193cbd

2 files changed

Lines changed: 39 additions & 0 deletions

File tree

oscps-gui/Cargo.toml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
[package]
2+
name = "oscps-gui"
3+
version = "0.1.0"
4+
edition = "2021"
5+
6+
[dependencies]
7+
iced = "0.13.1"

oscps-gui/src/main.rs

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
#[derive(Default)]
2+
struct Counter {
3+
value: i8,
4+
}
5+
#[derive(Debug, Clone, Copy)]
6+
pub enum Message {
7+
Increment,
8+
Decrement,
9+
}
10+
use iced::widget::{button, row, text, Row};
11+
impl Counter {
12+
pub fn view(&self) -> Row<Message> {
13+
row![
14+
button("+").on_press(Message::Increment),
15+
text(self.value).size(50),
16+
button("-").on_press(Message::Decrement),
17+
]
18+
}
19+
pub fn update(&mut self, message: Message) {
20+
match message {
21+
Message::Increment => {
22+
self.value += 1;
23+
}
24+
Message::Decrement => {
25+
self.value -= 1;
26+
}
27+
}
28+
}
29+
}
30+
fn main() -> iced::Result {
31+
iced::run("A cool counter", Counter::update, Counter::view)
32+
}

0 commit comments

Comments
 (0)