use cursive::{self, theme, views, With};
fn main() {
let mut cursive = cursive::default();
cursive.add_layer(
views::Dialog::text("Open a themed dialog?")
.button("Open", show_dialog)
.button("Quit", |s| s.quit()),
);
cursive.run();
}
fn show_dialog(s: &mut cursive::Cursive) {
let theme = s.current_theme().clone().with(|theme| {
theme.palette[theme::PaletteColor::View] =
theme::Color::Dark(theme::BaseColor::Black);
theme.palette[theme::PaletteColor::Primary] =
theme::Color::Light(theme::BaseColor::Green);
theme.palette[theme::PaletteColor::TitlePrimary] =
theme::Color::Light(theme::BaseColor::Green);
theme.palette[theme::PaletteColor::Highlight] =
theme::Color::Dark(theme::BaseColor::Green);
});
s.add_layer(views::ThemedView::new(
theme,
views::Layer::new(
views::Dialog::info("Colors!").title("Themed Dialog"),
),
));
}