pub struct MenuState<I> {
pub intro: Option<String>,
pub items: Vec<MenuItem<I>>,
pub selection: usize,
pub scroll: usize,
}Fields§
§intro: Option<String>§items: Vec<MenuItem<I>>§selection: usize§scroll: usizeImplementations§
Source§impl<I: Md + Clone> MenuState<I>
impl<I: Md + Clone> MenuState<I>
pub fn set_intro<S: Into<String>>(&mut self, intro: S)
pub fn add_item(&mut self, action: I, key: Option<KeyCombination>)
pub fn clear_item_areas(&mut self)
pub fn select(&mut self, selection: usize)
Sourcepub fn on_key(&mut self, key: KeyCombination) -> (Option<I>, bool)
pub fn on_key(&mut self, key: KeyCombination) -> (Option<I>, bool)
Handle a key event (not triggering the actions on their keys, only apply the menu mechanics).
Return an optional action and a bool telling whether the event was consumed by the menu.
pub fn item_idx_at(&self, x: u16, y: u16) -> Option<usize>
Sourcepub fn on_mouse_event(
&mut self,
mouse_event: MouseEvent,
double_click: bool,
) -> Option<I>
pub fn on_mouse_event( &mut self, mouse_event: MouseEvent, double_click: bool, ) -> Option<I>
handle a mouse event, returning the triggered action if any (on double click only)
Trait Implementations§
Auto Trait Implementations§
impl<I> Freeze for MenuState<I>
impl<I> RefUnwindSafe for MenuState<I>where
I: RefUnwindSafe,
impl<I> Send for MenuState<I>where
I: Send,
impl<I> Sync for MenuState<I>where
I: Sync,
impl<I> Unpin for MenuState<I>where
I: Unpin,
impl<I> UnwindSafe for MenuState<I>where
I: UnwindSafe,
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