use core::ffi::*;
use core::ptr::NonNull;
use objc2::__framework_prelude::*;
use objc2_foundation::*;
use crate::*;
extern_class!(
#[unsafe(super(NSCell, NSObject))]
#[derive(Debug, PartialEq, Eq, Hash)]
#[cfg(feature = "NSCell")]
pub struct NSActionCell;
);
#[cfg(all(feature = "NSAccessibilityProtocols", feature = "NSCell"))]
extern_conformance!(
unsafe impl NSAccessibility for NSActionCell {}
);
#[cfg(all(feature = "NSAccessibilityProtocols", feature = "NSCell"))]
extern_conformance!(
unsafe impl NSAccessibilityElementProtocol for NSActionCell {}
);
#[cfg(feature = "NSCell")]
extern_conformance!(
unsafe impl NSCoding for NSActionCell {}
);
#[cfg(feature = "NSCell")]
extern_conformance!(
unsafe impl NSCopying for NSActionCell {}
);
#[cfg(feature = "NSCell")]
unsafe impl CopyingHelper for NSActionCell {
type Result = Self;
}
#[cfg(feature = "NSCell")]
extern_conformance!(
unsafe impl NSObjectProtocol for NSActionCell {}
);
#[cfg(all(feature = "NSCell", feature = "NSUserInterfaceItemIdentification"))]
extern_conformance!(
unsafe impl NSUserInterfaceItemIdentification for NSActionCell {}
);
#[cfg(feature = "NSCell")]
impl NSActionCell {
extern_methods!(
#[unsafe(method(target))]
#[unsafe(method_family = none)]
pub fn target(&self) -> Option<Retained<AnyObject>>;
#[unsafe(method(setTarget:))]
#[unsafe(method_family = none)]
pub unsafe fn setTarget(&self, target: Option<&AnyObject>);
#[unsafe(method(action))]
#[unsafe(method_family = none)]
pub fn action(&self) -> Option<Sel>;
#[unsafe(method(setAction:))]
#[unsafe(method_family = none)]
pub unsafe fn setAction(&self, action: Option<Sel>);
#[unsafe(method(tag))]
#[unsafe(method_family = none)]
pub fn tag(&self) -> NSInteger;
#[unsafe(method(setTag:))]
#[unsafe(method_family = none)]
pub fn setTag(&self, tag: NSInteger);
);
}
#[cfg(feature = "NSCell")]
impl NSActionCell {
extern_methods!(
#[unsafe(method(init))]
#[unsafe(method_family = init)]
pub fn init(this: Allocated<Self>) -> Retained<Self>;
#[unsafe(method(initTextCell:))]
#[unsafe(method_family = init)]
pub fn initTextCell(this: Allocated<Self>, string: &NSString) -> Retained<Self>;
#[cfg(feature = "NSImage")]
#[unsafe(method(initImageCell:))]
#[unsafe(method_family = init)]
pub fn initImageCell(this: Allocated<Self>, image: Option<&NSImage>) -> Retained<Self>;
#[unsafe(method(initWithCoder:))]
#[unsafe(method_family = init)]
pub unsafe fn initWithCoder(this: Allocated<Self>, coder: &NSCoder) -> Retained<Self>;
);
}
#[cfg(feature = "NSCell")]
impl NSActionCell {
extern_methods!(
#[unsafe(method(new))]
#[unsafe(method_family = new)]
pub fn new(mtm: MainThreadMarker) -> Retained<Self>;
);
}