19 releases
new 0.6.4 | Mar 22, 2025 |
---|---|
0.5.1 | May 12, 2024 |
0.4.1 | Jun 27, 2023 |
0.4.0 | Mar 31, 2023 |
0.2.0 | Oct 9, 2021 |
#639 in GUI
341 downloads per month
115KB
3.5K
SLoC
Flemish
An elmish architecture for fltk-rs, inspired by Iced.
Usage
Add flemish to your dependencies:
[dependencies]
flemish = "0.6"
A usage example:
use flemish::{theme::color_themes, widget::*, Settings};
pub fn main() {
flemish::application("counter", Counter::update, Counter::view)
.settings(Settings {
size: (300, 100),
resizable: true,
color_map: Some(color_themes::BLACK_THEME),
..Default::default()
})
.run();
}
#[derive(Default)]
struct Counter {
value: i32,
}
#[derive(Debug, Clone, Copy)]
enum Message {
Increment,
Decrement,
}
impl Counter {
fn update(&mut self, message: Message) {
match message {
Message::Increment => {
self.value += 1;
}
Message::Decrement => {
self.value -= 1;
}
}
}
fn view(&self) -> View<Message> {
Column::new(&[
Button::new("+", Message::Increment).view(),
Frame::new(&self.value.to_string()).view(),
Button::new("-", Message::Decrement).view(),
])
.view()
}
}
Dependencies
~17–24MB
~407K SLoC