Menu

Struct Menu 

Source
pub struct Menu { /* private fields */ }
Available on (Windows or Linux or macOS) and neither iOS nor Android only.
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>,

Available on Linux and crate feature gtk only.

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>,

Available on Linux and crate feature gtk only.

Removes this menu from a gtk::Window

Source

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

Available on Linux and crate feature gtk only.

Hides this menu from a gtk::Window

Source

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

Available on Linux and crate feature gtk only.

Shows this menu on a gtk::Window

Source

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

Available on Linux and crate feature gtk only.

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>,

Available on Linux and crate feature gtk only.

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 duplicate 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>, ) -> bool

Available on Linux and crate feature gtk only.
Shows this menu as a context menu inside a gtk::Window Read more
Source§

fn gtk_context_menu(&self) -> Menu

Available on Linux and crate feature gtk only.
Get the underlying gtk menu reserved for context menus. Read more
Source§

fn as_menu(&self) -> Option<&Menu>

Cast this context menu to a Menu, and returns None if it wasn’t.
Source§

fn as_menu_unchecked(&self) -> &Menu

Casts this context menu to a Menu, and panics if it wasn’t.
Source§

fn as_submenu(&self) -> Option<&Submenu>

Cast this context menu to a Submenu, and returns None if it wasn’t.
Source§

fn as_submenu_unchecked(&self) -> &Menu

Casts this context menu to a Submenu, and panics if it wasn’t.
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, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> Downcast for T
where T: Any,

Source§

fn into_any(self: Box<T>) -> Box<dyn Any>

Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.
Source§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait.
Source§

fn as_any(&self) -> &(dyn Any + 'static)

Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s.
Source§

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> InitializeFromFunction<T> for T

Source§

fn initialize_from_function(f: fn() -> T) -> T

Create an instance of this type from an initialization function
Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> NoneValue for T
where T: Default,

Source§

type NoneType = T

Source§

fn null_value() -> T

The none-equivalent value.
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<Ret> SpawnIfAsync<(), Ret> for Ret

Source§

fn spawn(self) -> Ret

Spawn the value into the dioxus runtime if it is an async block
Source§

impl<T, O> SuperFrom<T> for O
where O: From<T>,

Source§

fn super_from(input: T) -> O

Convert from a type to another type.
Source§

impl<T, O, M> SuperInto<O, M> for T
where O: SuperFrom<T, M>,

Source§

fn super_into(self) -> O

Convert from a type to another type.
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.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> ErasedDestructor for T
where T: 'static,