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 UIMenu and UIMenuElement and block2 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 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
Source§

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

Implementations on Foreign Types§

Source§

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

Implementors§