pub struct MenuOption {
pub color_code: &'static str,
pub enabled: bool,
pub text: String,
}Expand description
Menu entry.
Fields§
§color_code: &'static strANSI color code.
enabled: boolTrue if selectable.
text: StringDisplay text.
Implementations§
Source§impl MenuOption
impl MenuOption
Sourcepub fn new(text: &str, enabled: bool, color_code: &'static str) -> Self
pub fn new(text: &str, enabled: bool, color_code: &'static str) -> Self
Create a menu option.
Examples found in repository?
examples/ui.rs (line 51)
39fn main() {
40 let mut text = String::new();
41 text.push_str("Example additional text line 1\n");
42 text.push_str("Example additional text line 2\n");
43
44 loop {
45 print!("\x1b[H\x1b[2J");
46 std::io::stdout().flush().unwrap();
47
48 ui_header(&SPLASH, &text);
49
50 let options = vec![
51 MenuOption::new("Foobar", true, constants::COLOR_RESET),
52 MenuOption::new("Example", true, constants::COLOR_GREEN_B),
53 MenuOption::new("Disabled", false, constants::COLOR_RESET),
54 MenuOption::new("Exit", true, constants::COLOR_RESET),
55 ];
56
57 if let Some(choice) = selection_menu(&options) {
58 menu_handler(options[choice].clone());
59 }
60 }
61}Trait Implementations§
Source§impl Clone for MenuOption
impl Clone for MenuOption
Source§fn clone(&self) -> MenuOption
fn clone(&self) -> MenuOption
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for MenuOption
impl RefUnwindSafe for MenuOption
impl Send for MenuOption
impl Sync for MenuOption
impl Unpin for MenuOption
impl UnsafeUnpin for MenuOption
impl UnwindSafe for MenuOption
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more