cursive/examples/src/bin/theme.rs

38 lines
1.0 KiB
Rust
Raw Normal View History

use cursive::views::{Dialog, TextView};
fn main() {
let mut siv = cursive::default();
2019-09-09 21:45:07 +00:00
#[cfg(feature = "toml")]
{
// You can load a theme from a file at runtime for fast development.
siv.load_theme_file("assets/style.toml").unwrap();
2019-09-09 21:45:07 +00:00
// Or you can directly load it from a string for easy deployment.
siv.load_toml(include_str!("../assets/style.toml")).unwrap();
siv.add_layer(
Dialog::around(TextView::new(
"This application uses a \
custom theme!",
))
.title("Themed dialog")
.button("Quit", |s| s.quit()),
);
}
#[cfg(not(feature = "toml"))]
{
siv.add_layer(
Dialog::around(TextView::new(
"Run this example again with the `toml` feature!\n\n\
cargo run --example theme --features toml",
))
.title("Themed dialog - missing `toml` feature")
.button("Quit", |s| s.quit()),
);
}
siv.run();
}