1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
///
/// Terminal-menu submenus explained.
///
fn main() {
use terminal_menu::{menu, label, button, scroll, back_button, submenu, run, mut_menu};
let menu = menu(vec![
label("submenus"),
// submenu:
// submenus are basically menus inside menus
submenu("sub", vec![
scroll("scr", vec!["Alice", "Bob", "Charlie"]),
// back button:
// back buttons return to the parent menu.
back_button("back")
]),
submenu("ret", vec![
// button:
// buttons exit all the menus
button("Alice"),
button("Bob"),
button("Charlie"),
]),
button("exit")
]);
run(&menu);
// name of the menu active before exiting
println!("{:?}", mut_menu(&menu).get_latest_menu_name());
// pull values
println!("{}", mut_menu(&menu).get_submenu("sub").selection_value("scr"));
}