Skip to main content

UIMenuBuilder

Trait UIMenuBuilder 

Source
pub unsafe trait UIMenuBuilder: MainThreadOnly {
Show 24 methods // Provided methods fn system(&self) -> Retained<UIMenuSystem> where Self: Sized + Message { ... } fn menuForIdentifier( &self, identifier: &UIMenuIdentifier, ) -> Option<Retained<UIMenu>> where Self: Sized + Message { ... } fn actionForIdentifier( &self, identifier: &UIActionIdentifier, ) -> Option<Retained<UIAction>> where Self: Sized + Message { ... } unsafe fn commandForAction_propertyList( &self, action: Sel, property_list: Option<&AnyObject>, ) -> Option<Retained<UICommand>> where Self: Sized + Message { ... } fn replaceMenuForIdentifier_withMenu( &self, replaced_identifier: &UIMenuIdentifier, replacement_menu: &UIMenu, ) where Self: Sized + Message { ... } unsafe fn replaceChildrenOfMenuForIdentifier_fromChildrenBlock( &self, parent_identifier: &UIMenuIdentifier, children_block: &DynBlock<dyn Fn(NonNull<NSArray<UIMenuElement>>) -> NonNull<NSArray<UIMenuElement>> + '_>, ) where Self: Sized + Message { ... } fn replaceMenuForIdentifier_withElements( &self, replaced_identifier: &UIMenuIdentifier, replacement_elements: &NSArray<UIMenuElement>, ) where Self: Sized + Message { ... } fn replaceActionForIdentifier_withElements( &self, replaced_identifier: &UIActionIdentifier, replacement_elements: &NSArray<UIMenuElement>, ) where Self: Sized + Message { ... } unsafe fn replaceCommandForAction_propertyList_withElements( &self, replaced_action: Sel, replaced_property_list: Option<&AnyObject>, replacement_elements: &NSArray<UIMenuElement>, ) where Self: Sized + Message { ... } fn insertSiblingMenu_beforeMenuForIdentifier( &self, sibling_menu: &UIMenu, sibling_identifier: &UIMenuIdentifier, ) where Self: Sized + Message { ... } fn insertElements_beforeMenuForIdentifier( &self, inserted_elements: &NSArray<UIMenuElement>, sibling_identifier: &UIMenuIdentifier, ) where Self: Sized + Message { ... } fn insertElements_afterMenuForIdentifier( &self, inserted_elements: &NSArray<UIMenuElement>, sibling_identifier: &UIMenuIdentifier, ) where Self: Sized + Message { ... } fn insertSiblingMenu_afterMenuForIdentifier( &self, sibling_menu: &UIMenu, sibling_identifier: &UIMenuIdentifier, ) where Self: Sized + Message { ... } fn insertChildMenu_atStartOfMenuForIdentifier( &self, child_menu: &UIMenu, parent_identifier: &UIMenuIdentifier, ) where Self: Sized + Message { ... } fn insertElements_beforeActionForIdentifier( &self, inserted_elements: &NSArray<UIMenuElement>, sibling_identifier: &UIActionIdentifier, ) where Self: Sized + Message { ... } fn insertElements_afterActionForIdentifier( &self, inserted_elements: &NSArray<UIMenuElement>, sibling_identifier: &UIActionIdentifier, ) where Self: Sized + Message { ... } unsafe fn insertElements_beforeCommandForAction_propertyList( &self, inserted_elements: &NSArray<UIMenuElement>, sibling_action: Sel, sibling_property_list: Option<&AnyObject>, ) where Self: Sized + Message { ... } unsafe fn insertElements_afterCommandForAction_propertyList( &self, inserted_elements: &NSArray<UIMenuElement>, sibling_action: Sel, sibling_property_list: Option<&AnyObject>, ) where Self: Sized + Message { ... } fn insertElements_atStartOfMenuForIdentifier( &self, child_elements: &NSArray<UIMenuElement>, parent_identifier: &UIMenuIdentifier, ) where Self: Sized + Message { ... } fn insertChildMenu_atEndOfMenuForIdentifier( &self, child_menu: &UIMenu, parent_identifier: &UIMenuIdentifier, ) where Self: Sized + Message { ... } fn insertElements_atEndOfMenuForIdentifier( &self, child_elements: &NSArray<UIMenuElement>, parent_identifier: &UIMenuIdentifier, ) where Self: Sized + Message { ... } fn removeMenuForIdentifier(&self, removed_identifier: &UIMenuIdentifier) where Self: Sized + Message { ... } fn removeActionForIdentifier(&self, removed_identifier: &UIActionIdentifier) where Self: Sized + Message { ... } unsafe fn removeCommandForAction_propertyList( &self, removed_action: Sel, removed_property_list: Option<&AnyObject>, ) where Self: Sized + Message { ... }
}
Available on crate feature UIMenuBuilder only.
Expand description

Encapsulates access and mutation for a menu hierarchy.

See also Apple’s documentation

Provided Methods§

Source

fn system(&self) -> Retained<UIMenuSystem>
where Self: Sized + Message,

Available on crate feature UIMenuSystem only.

Which system we are building for.

Source

fn menuForIdentifier( &self, identifier: &UIMenuIdentifier, ) -> Option<Retained<UIMenu>>
where Self: Sized + Message,

Available on crate features UIMenu and UIMenuElement only.

Fetch the identified menu.

Parameter identifier: The identifier of the menu to fetch.

Returns: The menu with the given identifier, or nil if no such menu.

Source

fn actionForIdentifier( &self, identifier: &UIActionIdentifier, ) -> Option<Retained<UIAction>>
where Self: Sized + Message,

Available on crate features UIAction and UIMenuElement only.

Fetch the identified action.

Parameter identifier: The identifier of the action to fetch.

Returns: The action with the given identifier, or nil if no such action.

Source

unsafe fn commandForAction_propertyList( &self, action: Sel, property_list: Option<&AnyObject>, ) -> Option<Retained<UICommand>>
where Self: Sized + Message,

Available on crate features UICommand and UIMenuElement only.

Fetch the identified command.

Parameter action: The action of the command to fetch.

Parameter propertyList: Property list object to distinguish commands, if needed.

Returns: The command with the given action and property list, or nil if no such command.

§Safety
  • action must be a valid selector.
  • property_list should be of the correct type.
Source

fn replaceMenuForIdentifier_withMenu( &self, replaced_identifier: &UIMenuIdentifier, replacement_menu: &UIMenu, )
where Self: Sized + Message,

Available on crate features UIMenu and UIMenuElement only.

Replace an identified menu with a menu.

Parameter replacedIdentifier: The identifier of the menu to be replaced.

Parameter replacementGroup: The replacement menu.

Source

unsafe fn replaceChildrenOfMenuForIdentifier_fromChildrenBlock( &self, parent_identifier: &UIMenuIdentifier, children_block: &DynBlock<dyn Fn(NonNull<NSArray<UIMenuElement>>) -> NonNull<NSArray<UIMenuElement>> + '_>, )
where Self: Sized + Message,

Available on crate features block2 and UIMenu and UIMenuElement only.

Replace the children of an identified parent menu.

Parameter parentIdentifier: The identifier of the parent menu.

Parameter childrenBlock: A block that returns the new children, given the old children.

§Safety

children_block block’s return must be a valid pointer.

Source

fn replaceMenuForIdentifier_withElements( &self, replaced_identifier: &UIMenuIdentifier, replacement_elements: &NSArray<UIMenuElement>, )
where Self: Sized + Message,

Available on crate features UIMenu and UIMenuElement only.

Replace an identified menu with menu elements.

Parameter replacedIdentifier: The identifier of the menu to be replaced.

Parameter replacementElements: The replacement elements.

Source

fn replaceActionForIdentifier_withElements( &self, replaced_identifier: &UIActionIdentifier, replacement_elements: &NSArray<UIMenuElement>, )
where Self: Sized + Message,

Available on crate features UIAction and UIMenuElement only.

Replace an identified action with menu elements.

Parameter replacedIdentifier: The identifier of the action to be replaced.

Parameter replacementElements: The replacement elements.

Source

unsafe fn replaceCommandForAction_propertyList_withElements( &self, replaced_action: Sel, replaced_property_list: Option<&AnyObject>, replacement_elements: &NSArray<UIMenuElement>, )
where Self: Sized + Message,

Available on crate feature UIMenuElement only.

Replace an identified command with menu elements.

Parameter replacedAction: The action of the command to be replaced.

Parameter replacedPropertyList: Property list object to distinguish commands, if needed.

Parameter replacementElements: The replacement elements.

§Safety
  • replaced_action must be a valid selector.
  • replaced_property_list should be of the correct type.
Source

fn insertSiblingMenu_beforeMenuForIdentifier( &self, sibling_menu: &UIMenu, sibling_identifier: &UIMenuIdentifier, )
where Self: Sized + Message,

Available on crate features UIMenu and UIMenuElement only.

Insert a sibling menu before an identified sibling menu.

Parameter siblingGroup: The sibling menu to insert.

Parameter siblingIdentifier: The identifier of the sibling menu to insert before.

Source

fn insertElements_beforeMenuForIdentifier( &self, inserted_elements: &NSArray<UIMenuElement>, sibling_identifier: &UIMenuIdentifier, )
where Self: Sized + Message,

Available on crate features UIMenu and UIMenuElement only.

Insert elements before an identified menu.

Parameter insertedElements: The elements to insert.

Parameter siblingIdentifier: The identifier of the menu to insert elements before.

Source

fn insertElements_afterMenuForIdentifier( &self, inserted_elements: &NSArray<UIMenuElement>, sibling_identifier: &UIMenuIdentifier, )
where Self: Sized + Message,

Available on crate features UIMenu and UIMenuElement only.

Insert elements after an identified menu.

Parameter insertedElements: The elements to insert.

Parameter siblingIdentifier: The identifier of the menu to insert elements after.

Source

fn insertSiblingMenu_afterMenuForIdentifier( &self, sibling_menu: &UIMenu, sibling_identifier: &UIMenuIdentifier, )
where Self: Sized + Message,

Available on crate features UIMenu and UIMenuElement only.

Insert a sibling menu after an identified sibling menu.

Parameter siblingGroup: The sibling menu to insert.

Parameter siblingIdentifier: The identifier of the sibling menu to insert after.

Source

fn insertChildMenu_atStartOfMenuForIdentifier( &self, child_menu: &UIMenu, parent_identifier: &UIMenuIdentifier, )
where Self: Sized + Message,

Available on crate features UIMenu and UIMenuElement only.

Insert a child menu at the start of an identified parent menu.

Parameter childGroup: The child menu to insert.

Parameter parentIdentifier: The identifier of the parent menu to insert at the start of.

Source

fn insertElements_beforeActionForIdentifier( &self, inserted_elements: &NSArray<UIMenuElement>, sibling_identifier: &UIActionIdentifier, )
where Self: Sized + Message,

Available on crate features UIAction and UIMenuElement only.

Insert elements before an identified action.

Parameter insertedElements: The elements to insert.

Parameter siblingIdentifier: The identifier of the action to insert elements before.

Source

fn insertElements_afterActionForIdentifier( &self, inserted_elements: &NSArray<UIMenuElement>, sibling_identifier: &UIActionIdentifier, )
where Self: Sized + Message,

Available on crate features UIAction and UIMenuElement only.

Insert elements after an identified action.

Parameter insertedElements: The elements to insert.

Parameter siblingIdentifier: The identifier of the action to insert elements after.

Source

unsafe fn insertElements_beforeCommandForAction_propertyList( &self, inserted_elements: &NSArray<UIMenuElement>, sibling_action: Sel, sibling_property_list: Option<&AnyObject>, )
where Self: Sized + Message,

Available on crate feature UIMenuElement only.

Insert elements before an identified command.

Parameter insertedElements: The elements to insert.

Parameter siblingAction: The action of the command to insert elements before.

Parameter siblingPropertyList: Property list object to distinguish commands, if needed.

§Safety
  • sibling_action must be a valid selector.
  • sibling_property_list should be of the correct type.
Source

unsafe fn insertElements_afterCommandForAction_propertyList( &self, inserted_elements: &NSArray<UIMenuElement>, sibling_action: Sel, sibling_property_list: Option<&AnyObject>, )
where Self: Sized + Message,

Available on crate feature UIMenuElement only.

Insert elements after an identified command.

Parameter insertedElements: The elements to insert.

Parameter siblingAction: The action of the command to insert elements after.

Parameter siblingPropertyList: Property list object to distinguish commands, if needed.

§Safety
  • sibling_action must be a valid selector.
  • sibling_property_list should be of the correct type.
Source

fn insertElements_atStartOfMenuForIdentifier( &self, child_elements: &NSArray<UIMenuElement>, parent_identifier: &UIMenuIdentifier, )
where Self: Sized + Message,

Available on crate features UIMenu and UIMenuElement only.

Insert elements at the start of an identified parent menu.

Parameter childElements: The child elements to insert.

Parameter parentIdentifier: The identifier of the parent menu to insert elements at the start of.

Source

fn insertChildMenu_atEndOfMenuForIdentifier( &self, child_menu: &UIMenu, parent_identifier: &UIMenuIdentifier, )
where Self: Sized + Message,

Available on crate features UIMenu and UIMenuElement only.

Insert a child menu at the end of an identified parent menu.

Parameter childGroup: The child menu to insert.

Parameter parentIdentifier: The identifier of the parent menu to insert at the end of.

Source

fn insertElements_atEndOfMenuForIdentifier( &self, child_elements: &NSArray<UIMenuElement>, parent_identifier: &UIMenuIdentifier, )
where Self: Sized + Message,

Available on crate features UIMenu and UIMenuElement only.

Insert elements at the end of an identified parent menu.

Parameter childElements: The child elements to insert.

Parameter parentIdentifier: The identifier of the parent menu to insert elements at the end of.

Source

fn removeMenuForIdentifier(&self, removed_identifier: &UIMenuIdentifier)
where Self: Sized + Message,

Available on crate feature UIMenu only.

Remove an identified menu.

Parameter removedIdentifier: The menu to remove.

Source

fn removeActionForIdentifier(&self, removed_identifier: &UIActionIdentifier)
where Self: Sized + Message,

Available on crate feature UIAction only.

Remove an identified action.

Parameter removedIdentifier: The identifier of the action to remove.

Source

unsafe fn removeCommandForAction_propertyList( &self, removed_action: Sel, removed_property_list: Option<&AnyObject>, )
where Self: Sized + Message,

Remove an identified command.

Parameter removedAction: The action of the command to remove.

Parameter removedPropertyList: Property list object to distinguish commands, if needed.

§Safety
  • removed_action must be a valid selector.
  • removed_property_list should be of the correct type.

Trait Implementations§

Source§

impl<T> ImplementedBy<T> for dyn UIMenuBuilder
where T: ?Sized + Message + UIMenuBuilder,

Source§

impl ProtocolType for dyn UIMenuBuilder

Source§

const NAME: &'static str = "UIMenuBuilder"

The name of the Objective-C protocol that this type represents. Read more
Source§

fn protocol() -> Option<&'static AnyProtocol>

Get a reference to the Objective-C protocol object that this type represents. Read more

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl<T> UIMenuBuilder for ProtocolObject<T>
where T: ?Sized + UIMenuBuilder,

Implementors§