use crate::common::*;
use crate::AppKit::*;
use crate::CoreData::*;
use crate::Foundation::*;
extern_static!(NSSplitViewControllerAutomaticDimension: CGFloat);
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct NSSplitViewController;
unsafe impl ClassType for NSSplitViewController {
#[inherits(NSResponder, NSObject)]
type Super = NSViewController;
}
);
extern_methods!(
unsafe impl NSSplitViewController {
#[method_id(@__retain_semantics Other splitView)]
pub unsafe fn splitView(&self) -> Id<NSSplitView, Shared>;
#[method(setSplitView:)]
pub unsafe fn setSplitView(&self, splitView: &NSSplitView);
#[method_id(@__retain_semantics Other splitViewItems)]
pub unsafe fn splitViewItems(&self) -> Id<NSArray<NSSplitViewItem>, Shared>;
#[method(setSplitViewItems:)]
pub unsafe fn setSplitViewItems(&self, splitViewItems: &NSArray<NSSplitViewItem>);
#[method(addSplitViewItem:)]
pub unsafe fn addSplitViewItem(&self, splitViewItem: &NSSplitViewItem);
#[method(insertSplitViewItem:atIndex:)]
pub unsafe fn insertSplitViewItem_atIndex(
&self,
splitViewItem: &NSSplitViewItem,
index: NSInteger,
);
#[method(removeSplitViewItem:)]
pub unsafe fn removeSplitViewItem(&self, splitViewItem: &NSSplitViewItem);
#[method_id(@__retain_semantics Other splitViewItemForViewController:)]
pub unsafe fn splitViewItemForViewController(
&self,
viewController: &NSViewController,
) -> Option<Id<NSSplitViewItem, Shared>>;
#[method(minimumThicknessForInlineSidebars)]
pub unsafe fn minimumThicknessForInlineSidebars(&self) -> CGFloat;
#[method(setMinimumThicknessForInlineSidebars:)]
pub unsafe fn setMinimumThicknessForInlineSidebars(
&self,
minimumThicknessForInlineSidebars: CGFloat,
);
#[method(validateUserInterfaceItem:)]
pub unsafe fn validateUserInterfaceItem(&self, item: &NSValidatedUserInterfaceItem)
-> bool;
#[method(viewDidLoad)]
pub unsafe fn viewDidLoad(&self);
#[method(splitView:canCollapseSubview:)]
pub unsafe fn splitView_canCollapseSubview(
&self,
splitView: &NSSplitView,
subview: &NSView,
) -> bool;
#[method(splitView:shouldCollapseSubview:forDoubleClickOnDividerAtIndex:)]
pub unsafe fn splitView_shouldCollapseSubview_forDoubleClickOnDividerAtIndex(
&self,
splitView: &NSSplitView,
subview: &NSView,
dividerIndex: NSInteger,
) -> bool;
#[method(splitView:shouldHideDividerAtIndex:)]
pub unsafe fn splitView_shouldHideDividerAtIndex(
&self,
splitView: &NSSplitView,
dividerIndex: NSInteger,
) -> bool;
#[method(splitView:effectiveRect:forDrawnRect:ofDividerAtIndex:)]
pub unsafe fn splitView_effectiveRect_forDrawnRect_ofDividerAtIndex(
&self,
splitView: &NSSplitView,
proposedEffectiveRect: NSRect,
drawnRect: NSRect,
dividerIndex: NSInteger,
) -> NSRect;
#[method(splitView:additionalEffectiveRectOfDividerAtIndex:)]
pub unsafe fn splitView_additionalEffectiveRectOfDividerAtIndex(
&self,
splitView: &NSSplitView,
dividerIndex: NSInteger,
) -> NSRect;
}
);
extern_methods!(
unsafe impl NSSplitViewController {
#[method(toggleSidebar:)]
pub unsafe fn toggleSidebar(&self, sender: Option<&Object>);
}
);
extern_methods!(
unsafe impl NSSplitViewController {
#[method_id(@__retain_semantics Init initWithNibName:bundle:)]
pub unsafe fn initWithNibName_bundle(
this: Option<Allocated<Self>>,
nibNameOrNil: Option<&NSNibName>,
nibBundleOrNil: Option<&NSBundle>,
) -> Id<Self, Shared>;
}
);