2015-05-26 22:46:05 +00:00
|
|
|
extern crate cursive;
|
|
|
|
|
2016-07-21 04:25:14 +00:00
|
|
|
use cursive::prelude::*;
|
2015-05-26 22:46:05 +00:00
|
|
|
|
|
|
|
fn main() {
|
|
|
|
let mut siv = Cursive::new();
|
|
|
|
|
2015-05-26 23:11:22 +00:00
|
|
|
// Create a dialog with an edit text and a button.
|
2016-07-30 09:34:47 +00:00
|
|
|
siv.add_layer(Dialog::new(EditView::new()
|
|
|
|
.min_length(20)
|
|
|
|
.on_submit(|s, name| {
|
|
|
|
if name.is_empty() {
|
|
|
|
s.add_layer(Dialog::new(TextView::new("Please enter a name!"))
|
|
|
|
.dismiss_button("Ok"));
|
|
|
|
} else {
|
|
|
|
let content = format!("Hello {}!", name);
|
|
|
|
s.pop_layer();
|
|
|
|
s.add_layer(Dialog::new(TextView::new(&content))
|
|
|
|
.button("Quit", |s| s.quit()));
|
|
|
|
}
|
|
|
|
}))
|
2016-06-26 00:10:18 +00:00
|
|
|
.padding((1, 1, 1, 0))
|
2016-07-30 09:34:47 +00:00
|
|
|
.title("Enter your name"));
|
2015-05-26 22:46:05 +00:00
|
|
|
|
|
|
|
siv.run();
|
|
|
|
}
|