| Crates.io | flemish |
| lib.rs | flemish |
| version | 0.7.0 |
| created_at | 2021-08-10 23:12:49.470357+00 |
| updated_at | 2025-09-22 09:27:21.201591+00 |
| description | An Elmish architecture for fltk-rs |
| homepage | |
| repository | https://github.com/fltk-rs/flemish |
| max_upload_size | |
| id | 434498 |
| size | 220,724 |
An elmish architecture for fltk-rs, inspired by Iced.
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()
}
}