cursive/examples/theme.rs

39 lines
1.0 KiB
Rust
Raw Permalink Normal View History

use cursive::views::{Dialog, TextView};
2018-07-26 04:43:04 +00:00
use cursive::Cursive;
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();
}