use objc2::__framework_prelude::*;
use objc2_foundation::*;
use crate::*;
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
#[cfg(all(feature = "UICommand", feature = "UIMenuElement"))]
pub struct UIKeyCommand;
#[cfg(all(feature = "UICommand", feature = "UIMenuElement"))]
unsafe impl ClassType for UIKeyCommand {
#[inherits(UIMenuElement, NSObject)]
type Super = UICommand;
type Mutability = MainThreadOnly;
}
);
#[cfg(all(feature = "UICommand", feature = "UIMenuElement"))]
unsafe impl NSCoding for UIKeyCommand {}
#[cfg(all(feature = "UICommand", feature = "UIMenuElement"))]
unsafe impl NSCopying for UIKeyCommand {}
#[cfg(all(feature = "UICommand", feature = "UIMenuElement"))]
unsafe impl NSObjectProtocol for UIKeyCommand {}
#[cfg(all(feature = "UICommand", feature = "UIMenuElement"))]
unsafe impl NSSecureCoding for UIKeyCommand {}
#[cfg(all(
feature = "UICommand",
feature = "UIMenuElement",
feature = "UIMenuLeaf"
))]
unsafe impl UIMenuLeaf for UIKeyCommand {}
extern_methods!(
#[cfg(all(feature = "UICommand", feature = "UIMenuElement"))]
unsafe impl UIKeyCommand {
#[method_id(@__retain_semantics Init init)]
pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
#[method_id(@__retain_semantics Init initWithCoder:)]
pub unsafe fn initWithCoder(
this: Allocated<Self>,
coder: &NSCoder,
) -> Option<Retained<Self>>;
#[method_id(@__retain_semantics Other title)]
pub unsafe fn title(&self) -> Retained<NSString>;
#[method(setTitle:)]
pub unsafe fn setTitle(&self, title: &NSString);
#[cfg(feature = "UIImage")]
#[method_id(@__retain_semantics Other image)]
pub unsafe fn image(&self) -> Option<Retained<UIImage>>;
#[cfg(feature = "UIImage")]
#[method(setImage:)]
pub unsafe fn setImage(&self, image: Option<&UIImage>);
#[method_id(@__retain_semantics Other discoverabilityTitle)]
pub unsafe fn discoverabilityTitle(&self) -> Option<Retained<NSString>>;
#[method(setDiscoverabilityTitle:)]
pub unsafe fn setDiscoverabilityTitle(&self, discoverability_title: Option<&NSString>);
#[method(action)]
pub unsafe fn action(&self) -> Option<Sel>;
#[method_id(@__retain_semantics Other input)]
pub unsafe fn input(&self) -> Option<Retained<NSString>>;
#[method(modifierFlags)]
pub unsafe fn modifierFlags(&self) -> UIKeyModifierFlags;
#[method_id(@__retain_semantics Other propertyList)]
pub unsafe fn propertyList(&self) -> Option<Retained<AnyObject>>;
#[method(attributes)]
pub unsafe fn attributes(&self) -> UIMenuElementAttributes;
#[method(setAttributes:)]
pub unsafe fn setAttributes(&self, attributes: UIMenuElementAttributes);
#[method(state)]
pub unsafe fn state(&self) -> UIMenuElementState;
#[method(setState:)]
pub unsafe fn setState(&self, state: UIMenuElementState);
#[method_id(@__retain_semantics Other alternates)]
pub unsafe fn alternates(&self) -> Retained<NSArray<UICommandAlternate>>;
#[method(wantsPriorityOverSystemBehavior)]
pub unsafe fn wantsPriorityOverSystemBehavior(&self) -> bool;
#[method(setWantsPriorityOverSystemBehavior:)]
pub unsafe fn setWantsPriorityOverSystemBehavior(
&self,
wants_priority_over_system_behavior: bool,
);
#[method(allowsAutomaticLocalization)]
pub unsafe fn allowsAutomaticLocalization(&self) -> bool;
#[method(setAllowsAutomaticLocalization:)]
pub unsafe fn setAllowsAutomaticLocalization(&self, allows_automatic_localization: bool);
#[method(allowsAutomaticMirroring)]
pub unsafe fn allowsAutomaticMirroring(&self) -> bool;
#[method(setAllowsAutomaticMirroring:)]
pub unsafe fn setAllowsAutomaticMirroring(&self, allows_automatic_mirroring: bool);
#[cfg(feature = "UIImage")]
#[method_id(@__retain_semantics Other commandWithTitle:image:action:input:modifierFlags:propertyList:)]
pub unsafe fn commandWithTitle_image_action_input_modifierFlags_propertyList(
title: &NSString,
image: Option<&UIImage>,
action: Sel,
input: &NSString,
modifier_flags: UIKeyModifierFlags,
property_list: Option<&AnyObject>,
mtm: MainThreadMarker,
) -> Retained<Self>;
#[cfg(feature = "UIImage")]
#[method_id(@__retain_semantics Other commandWithTitle:image:action:input:modifierFlags:propertyList:alternates:)]
pub unsafe fn commandWithTitle_image_action_input_modifierFlags_propertyList_alternates(
title: &NSString,
image: Option<&UIImage>,
action: Sel,
input: &NSString,
modifier_flags: UIKeyModifierFlags,
property_list: Option<&AnyObject>,
alternates: &NSArray<UICommandAlternate>,
mtm: MainThreadMarker,
) -> Retained<Self>;
#[method_id(@__retain_semantics Other keyCommandWithInput:modifierFlags:action:)]
pub unsafe fn keyCommandWithInput_modifierFlags_action(
input: &NSString,
modifier_flags: UIKeyModifierFlags,
action: Sel,
mtm: MainThreadMarker,
) -> Retained<Self>;
#[deprecated]
#[method_id(@__retain_semantics Other keyCommandWithInput:modifierFlags:action:discoverabilityTitle:)]
pub unsafe fn keyCommandWithInput_modifierFlags_action_discoverabilityTitle(
input: &NSString,
modifier_flags: UIKeyModifierFlags,
action: Sel,
discoverability_title: &NSString,
mtm: MainThreadMarker,
) -> Retained<Self>;
#[cfg(feature = "UIImage")]
#[method_id(@__retain_semantics Other commandWithTitle:image:action:propertyList:)]
pub unsafe fn commandWithTitle_image_action_propertyList(
title: &NSString,
image: Option<&UIImage>,
action: Sel,
property_list: Option<&AnyObject>,
mtm: MainThreadMarker,
) -> Retained<Self>;
#[cfg(feature = "UIImage")]
#[method_id(@__retain_semantics Other commandWithTitle:image:action:propertyList:alternates:)]
pub unsafe fn commandWithTitle_image_action_propertyList_alternates(
title: &NSString,
image: Option<&UIImage>,
action: Sel,
property_list: Option<&AnyObject>,
alternates: &NSArray<UICommandAlternate>,
mtm: MainThreadMarker,
) -> Retained<Self>;
}
);
extern_methods!(
#[cfg(all(feature = "UICommand", feature = "UIMenuElement"))]
unsafe impl UIKeyCommand {
#[method_id(@__retain_semantics New new)]
pub unsafe fn new(mtm: MainThreadMarker) -> Retained<Self>;
}
);