extern crate iui;
use iui::prelude::*;
use iui::controls::{Label, Button, VerticalBox, Group};
fn main() {
let ui = UI::init().expect("Couldn't initialize UI library");
let mut win = Window::new(&ui, "Test App", 200, 200, WindowType::NoMenubar);
let mut vbox = VerticalBox::new(&ui);
vbox.set_padded(&ui, true);
let mut group_vbox = VerticalBox::new(&ui);
let mut group = Group::new(&ui, "Group");
let mut button = Button::new(&ui, "Button");
button.on_clicked(&ui, {
let ui = ui.clone();
move |btn| {
btn.set_text(&ui, "Clicked!");
}
});
let mut quit_button = Button::new(&ui, "Quit");
quit_button.on_clicked(&ui, {
let ui = ui.clone();
move |_| {
ui.quit();
}
});
let mut label_text = String::new();
label_text.push_str("There is a ton of text in this label.\n");
label_text.push_str("Pretty much every unicode character is supported.\n");
label_text.push_str("π η¨ζ·ηι’ μ¬μ©μ μΈν°νμ΄μ€");
let label = Label::new(&ui, &label_text);
vbox.append(&ui, label, LayoutStrategy::Stretchy);
group_vbox.append(&ui, button, LayoutStrategy::Compact);
group_vbox.append(&ui, quit_button, LayoutStrategy::Compact);
group.set_child(&ui, group_vbox);
vbox.append(&ui, group, LayoutStrategy::Compact);
win.set_child(&ui, vbox);
win.show(&ui);
ui.main();
}