Struct MenuBuilder

Source
pub struct MenuBuilder<T, IT, LL, R, P, S, C>{ /* private fields */ }

Implementations§

Source§

impl<T, R, S, IT, P, C> MenuBuilder<T, IT, NoItems, R, P, S, C>

Source

pub const fn new(title: T, style: MenuStyle<S, IT, P, R, C>) -> Self

Creates a new menu builder with the given title and style.

Source§

impl<T, IT, R, P, S, C> MenuBuilder<T, IT, NoItems, R, P, S, C>

Source

pub fn add_section_title<T2: AsRef<str>>( self, title: T2, ) -> MenuBuilder<T, IT, Chain<MenuItem<T2, R, (), false>>, R, P, S, C>

Append a non-selectable menu item to the menu with the given title.

Source

pub fn add_item<T2: AsRef<str>, V: SelectValue>( self, title: T2, value: V, converter: fn(_: V) -> R, ) -> MenuBuilder<T, IT, Chain<MenuItem<T2, R, V, true>>, R, P, S, C>

Append an interactable menu item to the menu.

The menu item will initially have the given value. Upon interaction, the value will be updated according to the value type’s next method. The menu will use the callback passed in the third argument to convert the value to the global return type.

Source

pub fn add_menu_item<I: MenuListItem<R>>( self, item: I, ) -> MenuBuilder<T, IT, Chain<I>, R, P, S, C>

Append an arbitrary MenuListItem implementation to the menu.

Source

pub fn add_menu_items<I, IC>( self, items: IC, ) -> MenuBuilder<T, IT, Chain<MenuItems<IC, I, R>>, R, P, S, C>
where I: MenuListItem<R>, IC: AsRef<[I]> + AsMut<[I]>,

Append multiple arbitrary MenuListItem implementations to the menu.

Source§

impl<T, IT, CE, R, P, S, C> MenuBuilder<T, IT, CE, R, P, S, C>

Source

pub fn add_section_title<T2: AsRef<str>>( self, title: T2, ) -> MenuBuilder<T, IT, Link<MenuItem<T2, R, (), false>, CE>, R, P, S, C>

Append a non-selectable menu item to the menu with the given title.

Source

pub fn add_item<T2: AsRef<str>, V: SelectValue>( self, title: T2, value: V, converter: fn(_: V) -> R, ) -> MenuBuilder<T, IT, Link<MenuItem<T2, R, V, true>, CE>, R, P, S, C>

Append an interactable menu item to the menu.

The menu item will initially have the given value. Upon interaction, the value will be updated according to the value type’s next method. The menu will use the callback passed in the third argument to convert the value to the global return type.

Source

pub fn add_menu_item<I: MenuListItem<R>>( self, item: I, ) -> MenuBuilder<T, IT, Link<I, CE>, R, P, S, C>

Append an arbitrary MenuListItem implementation to the menu.

Source

pub fn add_menu_items<I, IC>( self, items: IC, ) -> MenuBuilder<T, IT, Link<MenuItems<IC, I, R>, CE>, R, P, S, C>
where I: MenuListItem<R>, IC: AsRef<[I]> + AsMut<[I]>,

Append multiple arbitrary MenuListItem implementations to the menu.

Source§

impl<T, IT, VG, R, P, S, C> MenuBuilder<T, IT, VG, R, P, S, C>

Source

pub fn build(self) -> Menu<T, IT, VG, R, P, S, C>

Builds the menu and initializes it to a default state.

Source

pub fn build_with_state( self, state: MenuState<IT::InputAdapter, P, S>, ) -> Menu<T, IT, VG, R, P, S, C>

Builds the menu, assigning to it the given state.

Auto Trait Implementations§

§

impl<T, IT, LL, R, P, S, C> Freeze for MenuBuilder<T, IT, LL, R, P, S, C>
where T: Freeze, LL: Freeze, C: Freeze, IT: Freeze, P: Freeze, S: Freeze,

§

impl<T, IT, LL, R, P, S, C> !RefUnwindSafe for MenuBuilder<T, IT, LL, R, P, S, C>

§

impl<T, IT, LL, R, P, S, C> Send for MenuBuilder<T, IT, LL, R, P, S, C>
where T: Send, LL: Send, C: Send, IT: Send, P: Send, S: Send, R: Send,

§

impl<T, IT, LL, R, P, S, C> Sync for MenuBuilder<T, IT, LL, R, P, S, C>
where T: Sync, LL: Sync, C: Sync, IT: Sync, P: Sync, S: Sync, R: Sync,

§

impl<T, IT, LL, R, P, S, C> Unpin for MenuBuilder<T, IT, LL, R, P, S, C>
where T: Unpin, LL: Unpin, C: Unpin, IT: Unpin, P: Unpin, S: Unpin, R: Unpin,

§

impl<T, IT, LL, R, P, S, C> !UnwindSafe for MenuBuilder<T, IT, LL, R, P, S, C>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Az for T

Source§

fn az<Dst>(self) -> Dst
where T: Cast<Dst>,

Casts the value.
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<Src, Dst> CastFrom<Src> for Dst
where Src: Cast<Dst>,

Source§

fn cast_from(src: Src) -> Dst

Casts the value.
Source§

impl<T> CheckedAs for T

Source§

fn checked_as<Dst>(self) -> Option<Dst>
where T: CheckedCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> CheckedCastFrom<Src> for Dst
where Src: CheckedCast<Dst>,

Source§

fn checked_cast_from(src: Src) -> Option<Dst>

Casts the value.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> OverflowingAs for T

Source§

fn overflowing_as<Dst>(self) -> (Dst, bool)
where T: OverflowingCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> OverflowingCastFrom<Src> for Dst
where Src: OverflowingCast<Dst>,

Source§

fn overflowing_cast_from(src: Src) -> (Dst, bool)

Casts the value.
Source§

impl<T> SaturatingAs for T

Source§

fn saturating_as<Dst>(self) -> Dst
where T: SaturatingCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> SaturatingCastFrom<Src> for Dst
where Src: SaturatingCast<Dst>,

Source§

fn saturating_cast_from(src: Src) -> Dst

Casts the value.
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> UnwrappedAs for T

Source§

fn unwrapped_as<Dst>(self) -> Dst
where T: UnwrappedCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> UnwrappedCastFrom<Src> for Dst
where Src: UnwrappedCast<Dst>,

Source§

fn unwrapped_cast_from(src: Src) -> Dst

Casts the value.
Source§

impl<T> WrappingAs for T

Source§

fn wrapping_as<Dst>(self) -> Dst
where T: WrappingCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> WrappingCastFrom<Src> for Dst
where Src: WrappingCast<Dst>,

Source§

fn wrapping_cast_from(src: Src) -> Dst

Casts the value.