Menu

Struct Menu 

Source
pub struct Menu<MK: MenuKind> { /* private fields */ }
Available on crate feature ui only.
Expand description

Generic menu (top-level or submenu).

Implementations§

Source§

impl<MK: MenuKind> Menu<MK>

Source

pub fn new() -> Result<Self>

Source

pub fn new_from_items<I>(items: I) -> Result<Self>
where I: IntoIterator<Item = MK::MenuItem>,

Source

pub fn as_handle(&self) -> &MenuHandle

Source

pub fn insert_menu_item( &mut self, item: MK::MenuItem, index: Option<u32>, ) -> Result<()>

Inserts a menu item before the item with the given index.

If no index is given, it will be inserted after the last item.

§Panics

Will panic if the given index is greater than the current amount of items.

Source

pub fn insert_menu_items<I>(&mut self, items: I) -> Result<()>
where I: IntoIterator<Item = MK::MenuItem>,

Source

pub fn modify_menu_item_by_index( &mut self, index: u32, modify_fn: impl FnOnce(&mut MK::MenuItem) -> Result<()>, ) -> Result<()>

Modifies a menu item at the given index using the given closure.

§Panics

Will panic if the given index is out of bounds.

Source

pub fn remove_menu_item(&mut self, index: u32) -> Result<()>

Removes a menu item.

§Panics

Will panic if the given index is out of bounds.

Source§

impl Menu<SubMenuKind>

Source

pub fn modify_text_menu_items_by_id( &mut self, id: u32, modify_fn: impl FnMut(&mut TextMenuItem) -> Result<()>, ) -> Result<()>

Modifies all text menu items with the given ID using the given closure.

Will do nothing if no item with a matching ID is found.

Source

pub fn show_menu(&self, window: WindowHandle, coords: Point) -> Result<()>

Shows the popup menu at the given coordinates.

The coordinates can for example be retrieved from the window message handler, see crate::ui::messaging::ListenerMessageVariant::NotificationIconContextSelect

The given window needs to be the foreground window for the menu to show (use WindowHandle::set_as_foreground).

Trait Implementations§

Source§

impl<MK: Debug + MenuKind> Debug for Menu<MK>
where MK::MenuItem: Debug,

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<MK: MenuKind> Drop for Menu<MK>

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more

Auto Trait Implementations§

§

impl<MK> Freeze for Menu<MK>

§

impl<MK> RefUnwindSafe for Menu<MK>
where <MK as MenuKindPrivate>::MenuItem: RefUnwindSafe,

§

impl<MK> !Send for Menu<MK>

§

impl<MK> !Sync for Menu<MK>

§

impl<MK> Unpin for Menu<MK>
where <MK as MenuKindPrivate>::MenuItem: Unpin,

§

impl<MK> UnwindSafe for Menu<MK>
where <MK as MenuKindPrivate>::MenuItem: UnwindSafe,

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> 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<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, 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<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V