tray_icon::menu

Struct Menu

Source
pub struct Menu { /* private fields */ }
Expand description

A root menu that can be added to a Window on Windows and Linux and used as the app global menu on macOS.

Implementations§

Source§

impl Menu

Source

pub fn new() -> Menu

Creates a new menu.

Source

pub fn with_id<I>(id: I) -> Menu
where I: Into<MenuId>,

Creates a new menu with the specified id.

Source

pub fn with_items(items: &[&dyn IsMenuItem]) -> Result<Menu, Error>

Creates a new menu with given items. It calls Menu::new and Menu::append_items internally.

Source

pub fn with_id_and_items<I>( id: I, items: &[&dyn IsMenuItem], ) -> Result<Menu, Error>
where I: Into<MenuId>,

Creates a new menu with the specified id and given items. It calls Menu::new and Menu::append_items internally.

Source

pub fn id(&self) -> &MenuId

Returns a unique identifier associated with this menu.

Source

pub fn append(&self, item: &dyn IsMenuItem) -> Result<(), Error>

Add a menu item to the end of this menu.

§Platform-spcific:
  • macOS: Only Submenu can be added to the menu
Source

pub fn append_items(&self, items: &[&dyn IsMenuItem]) -> Result<(), Error>

Add menu items to the end of this menu. It calls Menu::append in a loop internally.

§Platform-spcific:
  • macOS: Only Submenu can be added to the menu
Source

pub fn prepend(&self, item: &dyn IsMenuItem) -> Result<(), Error>

Add a menu item to the beginning of this menu.

§Platform-spcific:
  • macOS: Only Submenu can be added to the menu
Source

pub fn prepend_items(&self, items: &[&dyn IsMenuItem]) -> Result<(), Error>

Add menu items to the beginning of this menu. It calls Menu::insert_items with position of 0 internally.

§Platform-spcific:
  • macOS: Only Submenu can be added to the menu
Source

pub fn insert( &self, item: &dyn IsMenuItem, position: usize, ) -> Result<(), Error>

Insert a menu item at the specified postion in the menu.

§Platform-spcific:
  • macOS: Only Submenu can be added to the menu
Source

pub fn insert_items( &self, items: &[&dyn IsMenuItem], position: usize, ) -> Result<(), Error>

Insert menu items at the specified postion in the menu.

§Platform-spcific:
  • macOS: Only Submenu can be added to the menu
Source

pub fn remove(&self, item: &dyn IsMenuItem) -> Result<(), Error>

Remove a menu item from this menu.

Source

pub fn remove_at(&self, position: usize) -> Option<MenuItemKind>

Remove the menu item at the specified position from this menu and returns it.

Source

pub fn items(&self) -> Vec<MenuItemKind>

Returns a list of menu items that has been added to this menu.

Source

pub fn init_for_gtk_window<W, C>( &self, window: &W, container: Option<&C>, ) -> Result<(), Error>
where W: IsA<Window> + IsA<Container>, C: IsA<Container>,

Adds this menu to a gtk::Window

§Example:
let window = gtk::Window::builder().build();
let vbox = gtk::Box::new(gtk::Orientation::Vertical, 0);
let menu = muda::Menu::new();
// -- snip, add your menu items --
menu.init_for_gtk_window(&window, Some(&vbox));
// then proceed to add your widgets to the `vbox`
§Panics:

Panics if the gtk event loop hasn’t been initialized on the thread.

Source

pub fn remove_for_gtk_window<W>(&self, window: &W) -> Result<(), Error>
where W: IsA<Window>,

Removes this menu from a gtk::Window

Source

pub fn hide_for_gtk_window<W>(&self, window: &W) -> Result<(), Error>
where W: IsA<Window>,

Hides this menu from a gtk::Window

Source

pub fn show_for_gtk_window<W>(&self, window: &W) -> Result<(), Error>
where W: IsA<Window>,

Shows this menu on a gtk::Window

Source

pub fn is_visible_on_gtk_window<W>(&self, window: &W) -> bool
where W: IsA<Window>,

Returns whether this menu visible on a gtk::Window

Source

pub fn gtk_menubar_for_gtk_window<W>(self, window: &W) -> Option<MenuBar>
where W: IsA<Window>,

Returns the gtk::MenuBar that is associated with this window if it exists. This is useful to get information about the menubar for example its height.

Trait Implementations§

Source§

impl Clone for Menu

Source§

fn clone(&self) -> Menu

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl ContextMenu for Menu

Source§

fn show_context_menu_for_gtk_window( &self, window: &Window, position: Option<Position>, )

Shows this menu as a context menu inside a gtk::Window Read more
Source§

fn gtk_context_menu(&self) -> Menu

Get the underlying gtk menu reserved for context menus. Read more
Source§

impl Default for Menu

Source§

fn default() -> Menu

Returns the “default value” for a type. Read more

Auto Trait Implementations§

§

impl Freeze for Menu

§

impl !RefUnwindSafe for Menu

§

impl !Send for Menu

§

impl !Sync for Menu

§

impl Unpin for Menu

§

impl !UnwindSafe for Menu

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. 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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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.