Crate flemish[−][src]
Expand description
Flemish
An elmish architecture for fltk-rs.
Usage
Add flemish to your dependencies:
[dependencies]
flemish = "0.2"A usage example:
use flemish::{
color_themes, button::Button, frame::Frame, group::Flex, prelude::*, OnEvent, Sandbox, Settings,
};
pub fn main() {
Counter::new().run(Settings {
size: (300, 100),
resizable: true,
color_map: Some(color_themes::BLACK_THEME),
..Default::default()
})
}
#[derive(Default)]
struct Counter {
value: i32,
}
#[derive(Debug, Clone, Copy)]
enum Message {
IncrementPressed,
DecrementPressed,
}
impl Sandbox for Counter {
type Message = Message;
fn new() -> Self {
Self::default()
}
fn title(&self) -> String {
String::from("Counter - fltk-rs")
}
fn update(&mut self, message: Message) {
match message {
Message::IncrementPressed => {
self.value += 1;
}
Message::DecrementPressed => {
self.value -= 1;
}
}
}
fn view(&mut self) {
let col = Flex::default_fill().column();
let mut button1 = Button::default().with_label("Increment");
button1.on_event(Message::IncrementPressed);
Frame::default().with_label(&self.value.to_string());
let mut button2 = Button::default().with_label("Decrement");
button2.on_event(Message::DecrementPressed);
col.end();
}
}Modules
Application related methods and functions
Browser widgets
Button widgets
Dialog widgets
Drawing primitives
Fltk defined enums: Color, Font, CallbackTrigger etc
Basic fltk box/frame widget
Group widgets
Image types supported by fltk
Input widgets
Menu widgets
Miscellaneous widgets not fitting a certain group
Output widgets
All fltk widget traits and flt error types
Printing related functions
Widget surface to image functions
Table widgets
Text display widgets
Tree widgets
General utility functions
Valuator widgets
Basic empty widget
Window widgets
Macros
Defines a set of convenience functions for constructing and anchoring custom widgets. Usage: fltk::widget_extends!(CustomWidget, BaseWidget, member); It basically implements Deref and DerefMut on the custom widget, and adds the aforementioned methods.
Structs
Color map struct. (index, r, g, b)
A theme is just a Vec of colormaps
A widget scheme sets the style of drawing a widget without interfering with coloring
A widget theme is a scheme + a set of default colors
Enums
Lists supported schemes
Lists supported themes