flemish 0.7.0

An Elmish architecture for fltk-rs
Documentation
use flemish::{enums::Event, view::*, Settings, Subscription};

pub fn main() {
    flemish::application("timer", Timer::update, Timer::view)
        .settings(Settings {
            size: (300, 100),
            resizable: true,
            ..Default::default()
        })
        .subscription(Timer::subscription)
        .run();
}

#[derive(Default)]
struct Timer {
    value: i32,
}

#[derive(Debug, Clone, Copy)]
enum Message {
    Event(Event),
}

impl Timer {
    fn subscription(&self) -> Subscription<Message> {
        Subscription::events().map(Message::Event)
    }

    fn update(&mut self, message: Message) {
        match message {
            Message::Event(i) => {
                println!("{:?}", i);
                self.value += 1;
            }
        }
    }

    fn view(&self) -> View<Message> {
        Frame::new(&self.value.to_string()).view()
    }
}