use crate::common::*;
use crate::AppKit::*;
use crate::CoreData::*;
use crate::Foundation::*;
extern_static!(NSSplitViewControllerAutomaticDimension: CGFloat);
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
#[cfg(feature = "AppKit_NSSplitViewController")]
pub struct NSSplitViewController;
#[cfg(feature = "AppKit_NSSplitViewController")]
unsafe impl ClassType for NSSplitViewController {
#[inherits(NSResponder, NSObject)]
type Super = NSViewController;
type Mutability = MainThreadOnly;
}
);
#[cfg(feature = "AppKit_NSSplitViewController")]
unsafe impl NSCoding for NSSplitViewController {}
#[cfg(feature = "AppKit_NSSplitViewController")]
unsafe impl NSEditor for NSSplitViewController {}
#[cfg(feature = "AppKit_NSSplitViewController")]
unsafe impl NSObjectProtocol for NSSplitViewController {}
#[cfg(feature = "AppKit_NSSplitViewController")]
unsafe impl NSSeguePerforming for NSSplitViewController {}
#[cfg(feature = "AppKit_NSSplitViewController")]
unsafe impl NSSplitViewDelegate for NSSplitViewController {}
#[cfg(feature = "AppKit_NSSplitViewController")]
unsafe impl NSUserInterfaceItemIdentification for NSSplitViewController {}
#[cfg(feature = "AppKit_NSSplitViewController")]
unsafe impl NSUserInterfaceValidations for NSSplitViewController {}
extern_methods!(
#[cfg(feature = "AppKit_NSSplitViewController")]
unsafe impl NSSplitViewController {
#[cfg(feature = "AppKit_NSSplitView")]
#[method_id(@__retain_semantics Other splitView)]
pub unsafe fn splitView(&self) -> Id<NSSplitView>;
#[cfg(feature = "AppKit_NSSplitView")]
#[method(setSplitView:)]
pub unsafe fn setSplitView(&self, split_view: &NSSplitView);
#[cfg(all(feature = "AppKit_NSSplitViewItem", feature = "Foundation_NSArray"))]
#[method_id(@__retain_semantics Other splitViewItems)]
pub unsafe fn splitViewItems(&self) -> Id<NSArray<NSSplitViewItem>>;
#[cfg(all(feature = "AppKit_NSSplitViewItem", feature = "Foundation_NSArray"))]
#[method(setSplitViewItems:)]
pub unsafe fn setSplitViewItems(&self, split_view_items: &NSArray<NSSplitViewItem>);
#[cfg(feature = "AppKit_NSSplitViewItem")]
#[method(addSplitViewItem:)]
pub unsafe fn addSplitViewItem(&self, split_view_item: &NSSplitViewItem);
#[cfg(feature = "AppKit_NSSplitViewItem")]
#[method(insertSplitViewItem:atIndex:)]
pub unsafe fn insertSplitViewItem_atIndex(
&self,
split_view_item: &NSSplitViewItem,
index: NSInteger,
);
#[cfg(feature = "AppKit_NSSplitViewItem")]
#[method(removeSplitViewItem:)]
pub unsafe fn removeSplitViewItem(&self, split_view_item: &NSSplitViewItem);
#[cfg(feature = "AppKit_NSSplitViewItem")]
#[method_id(@__retain_semantics Other splitViewItemForViewController:)]
pub unsafe fn splitViewItemForViewController(
&self,
view_controller: &NSViewController,
) -> Option<Id<NSSplitViewItem>>;
#[method(minimumThicknessForInlineSidebars)]
pub unsafe fn minimumThicknessForInlineSidebars(&self) -> CGFloat;
#[method(setMinimumThicknessForInlineSidebars:)]
pub unsafe fn setMinimumThicknessForInlineSidebars(
&self,
minimum_thickness_for_inline_sidebars: CGFloat,
);
#[method(validateUserInterfaceItem:)]
pub unsafe fn validateUserInterfaceItem(
&self,
item: &ProtocolObject<dyn NSValidatedUserInterfaceItem>,
) -> bool;
#[method(viewDidLoad)]
pub unsafe fn viewDidLoad(&self);
#[cfg(all(feature = "AppKit_NSSplitView", feature = "AppKit_NSView"))]
#[method(splitView:canCollapseSubview:)]
pub unsafe fn splitView_canCollapseSubview(
&self,
split_view: &NSSplitView,
subview: &NSView,
) -> bool;
#[cfg(all(feature = "AppKit_NSSplitView", feature = "AppKit_NSView"))]
#[deprecated = "NSSplitView no longer supports collapsing sections via double-click. This delegate method is never called, and NSSplitViewController's implementation always returns NO."]
#[method(splitView:shouldCollapseSubview:forDoubleClickOnDividerAtIndex:)]
pub unsafe fn splitView_shouldCollapseSubview_forDoubleClickOnDividerAtIndex(
&self,
split_view: &NSSplitView,
subview: &NSView,
divider_index: NSInteger,
) -> bool;
#[cfg(feature = "AppKit_NSSplitView")]
#[method(splitView:shouldHideDividerAtIndex:)]
pub unsafe fn splitView_shouldHideDividerAtIndex(
&self,
split_view: &NSSplitView,
divider_index: NSInteger,
) -> bool;
#[cfg(feature = "AppKit_NSSplitView")]
#[method(splitView:effectiveRect:forDrawnRect:ofDividerAtIndex:)]
pub unsafe fn splitView_effectiveRect_forDrawnRect_ofDividerAtIndex(
&self,
split_view: &NSSplitView,
proposed_effective_rect: NSRect,
drawn_rect: NSRect,
divider_index: NSInteger,
) -> NSRect;
#[cfg(feature = "AppKit_NSSplitView")]
#[method(splitView:additionalEffectiveRectOfDividerAtIndex:)]
pub unsafe fn splitView_additionalEffectiveRectOfDividerAtIndex(
&self,
split_view: &NSSplitView,
divider_index: NSInteger,
) -> NSRect;
}
);
extern_methods!(
#[cfg(feature = "AppKit_NSSplitViewController")]
unsafe impl NSSplitViewController {
#[cfg(feature = "Foundation_NSBundle")]
#[method_id(@__retain_semantics Init initWithNibName:bundle:)]
pub unsafe fn initWithNibName_bundle(
this: Allocated<Self>,
nib_name_or_nil: Option<&NSNibName>,
nib_bundle_or_nil: Option<&NSBundle>,
) -> Id<Self>;
#[cfg(feature = "Foundation_NSCoder")]
#[method_id(@__retain_semantics Init initWithCoder:)]
pub unsafe fn initWithCoder(this: Allocated<Self>, coder: &NSCoder) -> Option<Id<Self>>;
}
);
extern_methods!(
#[cfg(feature = "AppKit_NSSplitViewController")]
unsafe impl NSSplitViewController {
#[method_id(@__retain_semantics Init init)]
pub unsafe fn init(this: Allocated<Self>) -> Id<Self>;
}
);
extern_methods!(
#[cfg(feature = "AppKit_NSSplitViewController")]
unsafe impl NSSplitViewController {
#[method_id(@__retain_semantics New new)]
pub unsafe fn new(mtm: MainThreadMarker) -> Id<Self>;
}
);
extern_methods!(
#[cfg(feature = "AppKit_NSSplitViewController")]
unsafe impl NSSplitViewController {
#[method(toggleSidebar:)]
pub unsafe fn toggleSidebar(&self, sender: Option<&AnyObject>);
#[method(toggleInspector:)]
pub unsafe fn toggleInspector(&self, sender: Option<&AnyObject>);
}
);