Struct prototty_common::MenuInstance
[−]
[src]
pub struct MenuInstance<T: Copy> { /* fields omitted */ }
An instance of a menu, with a selected entry.
When a MenuInstance
is rendered, the
currently-selected entry is rendered using
the Menu
's selected_info
.
Methods
impl<T: Copy> MenuInstance<T>
[src]
pub fn new(menu: Menu<T>) -> Option<Self>
[src]
Create a new MenuInstance
with the first entry selected.
Returns None
if the Menu
has 0 elements.
pub fn with_index(menu: Menu<T>, index: usize) -> Option<Self>
[src]
Create a new MenuInstance
with the given index selected.
Returns None
if index >= menu.entries.len()
.
[src]
Returns a reference to the internal menu
[src]
Consumes the instance, returning its menu
pub fn index(&self) -> usize
[src]
Returns the current index
pub fn set_index(&mut self, index: usize)
[src]
Sets the index, if the specified index < menu.entries.len()
pub fn up(&mut self)
[src]
Select the entry above the current selection, unless the first entry is currently selected.
pub fn down(&mut self)
[src]
Select the entry below the current selection, unless the last entry is currently selected.
pub fn selected(&self) -> T
[src]
Returns a copy of the currently selected entry's value.
pub fn tick<I>(&mut self, inputs: I) -> Option<MenuOutput<T>> where
I: IntoIterator<Item = Input>,
[src]
I: IntoIterator<Item = Input>,
Feed input into the menu instance, possibly changing the selected entry, cancelling the menu, attempting to exit the program, or finalising the selection.
Trait Implementations
impl<T: Debug + Copy> Debug for MenuInstance<T>
[src]
fn fmt(&self, __arg_0: &mut Formatter) -> Result
[src]
Formats the value using the given formatter. Read more
impl<T: Clone + Copy> Clone for MenuInstance<T>
[src]
fn clone(&self) -> MenuInstance<T>
[src]
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more
impl<T: Copy> View<MenuInstance<T>> for DefaultMenuInstanceView
[src]
fn view<G: ViewGrid>(
&mut self,
value: &MenuInstance<T>,
offset: Coord,
depth: i32,
grid: &mut G
)
[src]
&mut self,
value: &MenuInstance<T>,
offset: Coord,
depth: i32,
grid: &mut G
)
Update the cells in grid
to describe how a type should be rendered.
impl<T: Copy> ViewSize<MenuInstance<T>> for DefaultMenuInstanceView
[src]
fn size(&mut self, data: &MenuInstance<T>) -> Size
[src]
Returns the size in cells of the rectangle containing a ui element. This allows for the implementation of decorator ui components that render a border around some inner element. Read more
Auto Trait Implementations
impl<T> Send for MenuInstance<T> where
T: Send,
T: Send,
impl<T> Sync for MenuInstance<T> where
T: Sync,
T: Sync,