use core::ffi::*;
use core::ptr::NonNull;
use objc2::__framework_prelude::*;
#[cfg(feature = "objc2-core-foundation")]
use objc2_core_foundation::*;
use objc2_foundation::*;
use crate::*;
extern_class!(
#[unsafe(super(NSView, NSResponder, NSObject))]
#[derive(Debug, PartialEq, Eq, Hash)]
#[cfg(all(feature = "NSResponder", feature = "NSView"))]
pub struct NSTableHeaderView;
);
#[cfg(all(
feature = "NSAccessibilityProtocols",
feature = "NSResponder",
feature = "NSView"
))]
extern_conformance!(
unsafe impl NSAccessibility for NSTableHeaderView {}
);
#[cfg(all(
feature = "NSAccessibilityProtocols",
feature = "NSResponder",
feature = "NSView"
))]
extern_conformance!(
unsafe impl NSAccessibilityElementProtocol for NSTableHeaderView {}
);
#[cfg(all(feature = "NSAnimation", feature = "NSResponder", feature = "NSView"))]
extern_conformance!(
unsafe impl NSAnimatablePropertyContainer for NSTableHeaderView {}
);
#[cfg(all(feature = "NSAppearance", feature = "NSResponder", feature = "NSView"))]
extern_conformance!(
unsafe impl NSAppearanceCustomization for NSTableHeaderView {}
);
#[cfg(all(feature = "NSResponder", feature = "NSView"))]
extern_conformance!(
unsafe impl NSCoding for NSTableHeaderView {}
);
#[cfg(all(feature = "NSDragging", feature = "NSResponder", feature = "NSView"))]
extern_conformance!(
unsafe impl NSDraggingDestination for NSTableHeaderView {}
);
#[cfg(all(feature = "NSResponder", feature = "NSView"))]
extern_conformance!(
unsafe impl NSObjectProtocol for NSTableHeaderView {}
);
#[cfg(all(
feature = "NSResponder",
feature = "NSUserInterfaceItemIdentification",
feature = "NSView"
))]
extern_conformance!(
unsafe impl NSUserInterfaceItemIdentification for NSTableHeaderView {}
);
#[cfg(all(feature = "NSResponder", feature = "NSView"))]
extern_conformance!(
unsafe impl NSViewToolTipOwner for NSTableHeaderView {}
);
#[cfg(all(feature = "NSResponder", feature = "NSView"))]
impl NSTableHeaderView {
extern_methods!(
#[cfg(all(feature = "NSControl", feature = "NSTableView"))]
#[unsafe(method(tableView))]
#[unsafe(method_family = none)]
pub fn tableView(&self) -> Option<Retained<NSTableView>>;
#[cfg(all(feature = "NSControl", feature = "NSTableView"))]
#[unsafe(method(setTableView:))]
#[unsafe(method_family = none)]
pub fn setTableView(&self, table_view: Option<&NSTableView>);
#[unsafe(method(draggedColumn))]
#[unsafe(method_family = none)]
pub fn draggedColumn(&self) -> NSInteger;
#[cfg(feature = "objc2-core-foundation")]
#[unsafe(method(draggedDistance))]
#[unsafe(method_family = none)]
pub fn draggedDistance(&self) -> CGFloat;
#[unsafe(method(resizedColumn))]
#[unsafe(method_family = none)]
pub fn resizedColumn(&self) -> NSInteger;
#[unsafe(method(headerRectOfColumn:))]
#[unsafe(method_family = none)]
pub fn headerRectOfColumn(&self, column: NSInteger) -> NSRect;
#[unsafe(method(columnAtPoint:))]
#[unsafe(method_family = none)]
pub fn columnAtPoint(&self, point: NSPoint) -> NSInteger;
);
}
#[cfg(all(feature = "NSResponder", feature = "NSView"))]
impl NSTableHeaderView {
extern_methods!(
#[unsafe(method(initWithFrame:))]
#[unsafe(method_family = init)]
pub fn initWithFrame(this: Allocated<Self>, frame_rect: NSRect) -> Retained<Self>;
#[unsafe(method(initWithCoder:))]
#[unsafe(method_family = init)]
pub unsafe fn initWithCoder(
this: Allocated<Self>,
coder: &NSCoder,
) -> Option<Retained<Self>>;
);
}
#[cfg(all(feature = "NSResponder", feature = "NSView"))]
impl NSTableHeaderView {
extern_methods!(
#[unsafe(method(init))]
#[unsafe(method_family = init)]
pub fn init(this: Allocated<Self>) -> Retained<Self>;
);
}
#[cfg(all(feature = "NSResponder", feature = "NSView"))]
impl NSTableHeaderView {
extern_methods!(
#[unsafe(method(new))]
#[unsafe(method_family = new)]
pub fn new(mtm: MainThreadMarker) -> Retained<Self>;
);
}