use objc2::__framework_prelude::*;
use objc2_foundation::*;
use crate::*;
#[repr(transparent)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct NSSplitViewItemBehavior(pub NSInteger);
impl NSSplitViewItemBehavior {
#[doc(alias = "NSSplitViewItemBehaviorDefault")]
pub const Default: Self = Self(0);
#[doc(alias = "NSSplitViewItemBehaviorSidebar")]
pub const Sidebar: Self = Self(1);
#[doc(alias = "NSSplitViewItemBehaviorContentList")]
pub const ContentList: Self = Self(2);
#[doc(alias = "NSSplitViewItemBehaviorInspector")]
pub const Inspector: Self = Self(3);
}
unsafe impl Encode for NSSplitViewItemBehavior {
const ENCODING: Encoding = NSInteger::ENCODING;
}
unsafe impl RefEncode for NSSplitViewItemBehavior {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[repr(transparent)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct NSSplitViewItemCollapseBehavior(pub NSInteger);
impl NSSplitViewItemCollapseBehavior {
#[doc(alias = "NSSplitViewItemCollapseBehaviorDefault")]
pub const Default: Self = Self(0);
#[doc(alias = "NSSplitViewItemCollapseBehaviorPreferResizingSplitViewWithFixedSiblings")]
pub const PreferResizingSplitViewWithFixedSiblings: Self = Self(1);
#[doc(alias = "NSSplitViewItemCollapseBehaviorPreferResizingSiblingsWithFixedSplitView")]
pub const PreferResizingSiblingsWithFixedSplitView: Self = Self(2);
#[doc(alias = "NSSplitViewItemCollapseBehaviorUseConstraints")]
pub const UseConstraints: Self = Self(3);
}
unsafe impl Encode for NSSplitViewItemCollapseBehavior {
const ENCODING: Encoding = NSInteger::ENCODING;
}
unsafe impl RefEncode for NSSplitViewItemCollapseBehavior {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
extern "C" {
pub static NSSplitViewItemUnspecifiedDimension: CGFloat;
}
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct NSSplitViewItem;
unsafe impl ClassType for NSSplitViewItem {
type Super = NSObject;
type Mutability = InteriorMutable;
}
);
#[cfg(feature = "NSAnimation")]
unsafe impl NSAnimatablePropertyContainer for NSSplitViewItem {}
unsafe impl NSCoding for NSSplitViewItem {}
unsafe impl NSObjectProtocol for NSSplitViewItem {}
extern_methods!(
unsafe impl NSSplitViewItem {
#[cfg(all(feature = "NSResponder", feature = "NSViewController"))]
#[method_id(@__retain_semantics Other splitViewItemWithViewController:)]
pub unsafe fn splitViewItemWithViewController(
view_controller: &NSViewController,
) -> Retained<Self>;
#[cfg(all(feature = "NSResponder", feature = "NSViewController"))]
#[method_id(@__retain_semantics Other sidebarWithViewController:)]
pub unsafe fn sidebarWithViewController(
view_controller: &NSViewController,
) -> Retained<Self>;
#[cfg(all(feature = "NSResponder", feature = "NSViewController"))]
#[method_id(@__retain_semantics Other contentListWithViewController:)]
pub unsafe fn contentListWithViewController(
view_controller: &NSViewController,
) -> Retained<Self>;
#[cfg(all(feature = "NSResponder", feature = "NSViewController"))]
#[method_id(@__retain_semantics Other inspectorWithViewController:)]
pub unsafe fn inspectorWithViewController(
view_controller: &NSViewController,
) -> Retained<Self>;
#[method(behavior)]
pub unsafe fn behavior(&self) -> NSSplitViewItemBehavior;
#[cfg(all(feature = "NSResponder", feature = "NSViewController"))]
#[method_id(@__retain_semantics Other viewController)]
pub unsafe fn viewController(&self, mtm: MainThreadMarker) -> Retained<NSViewController>;
#[cfg(all(feature = "NSResponder", feature = "NSViewController"))]
#[method(setViewController:)]
pub unsafe fn setViewController(&self, view_controller: &NSViewController);
#[method(isCollapsed)]
pub unsafe fn isCollapsed(&self) -> bool;
#[method(setCollapsed:)]
pub unsafe fn setCollapsed(&self, collapsed: bool);
#[method(canCollapse)]
pub unsafe fn canCollapse(&self) -> bool;
#[method(setCanCollapse:)]
pub unsafe fn setCanCollapse(&self, can_collapse: bool);
#[method(collapseBehavior)]
pub unsafe fn collapseBehavior(&self) -> NSSplitViewItemCollapseBehavior;
#[method(setCollapseBehavior:)]
pub unsafe fn setCollapseBehavior(
&self,
collapse_behavior: NSSplitViewItemCollapseBehavior,
);
#[method(minimumThickness)]
pub unsafe fn minimumThickness(&self) -> CGFloat;
#[method(setMinimumThickness:)]
pub unsafe fn setMinimumThickness(&self, minimum_thickness: CGFloat);
#[method(maximumThickness)]
pub unsafe fn maximumThickness(&self) -> CGFloat;
#[method(setMaximumThickness:)]
pub unsafe fn setMaximumThickness(&self, maximum_thickness: CGFloat);
#[method(preferredThicknessFraction)]
pub unsafe fn preferredThicknessFraction(&self) -> CGFloat;
#[method(setPreferredThicknessFraction:)]
pub unsafe fn setPreferredThicknessFraction(&self, preferred_thickness_fraction: CGFloat);
#[cfg(feature = "NSLayoutConstraint")]
#[method(holdingPriority)]
pub unsafe fn holdingPriority(&self) -> NSLayoutPriority;
#[cfg(feature = "NSLayoutConstraint")]
#[method(setHoldingPriority:)]
pub unsafe fn setHoldingPriority(&self, holding_priority: NSLayoutPriority);
#[method(automaticMaximumThickness)]
pub unsafe fn automaticMaximumThickness(&self) -> CGFloat;
#[method(setAutomaticMaximumThickness:)]
pub unsafe fn setAutomaticMaximumThickness(&self, automatic_maximum_thickness: CGFloat);
#[method(isSpringLoaded)]
pub unsafe fn isSpringLoaded(&self) -> bool;
#[method(setSpringLoaded:)]
pub unsafe fn setSpringLoaded(&self, spring_loaded: bool);
#[method(canCollapseFromWindowResize)]
pub unsafe fn canCollapseFromWindowResize(&self) -> bool;
#[method(setCanCollapseFromWindowResize:)]
pub unsafe fn setCanCollapseFromWindowResize(&self, can_collapse_from_window_resize: bool);
#[method(allowsFullHeightLayout)]
pub unsafe fn allowsFullHeightLayout(&self) -> bool;
#[method(setAllowsFullHeightLayout:)]
pub unsafe fn setAllowsFullHeightLayout(&self, allows_full_height_layout: bool);
#[cfg(feature = "NSWindow")]
#[method(titlebarSeparatorStyle)]
pub unsafe fn titlebarSeparatorStyle(&self) -> NSTitlebarSeparatorStyle;
#[cfg(feature = "NSWindow")]
#[method(setTitlebarSeparatorStyle:)]
pub unsafe fn setTitlebarSeparatorStyle(
&self,
titlebar_separator_style: NSTitlebarSeparatorStyle,
);
}
);
extern_methods!(
unsafe impl NSSplitViewItem {
#[method_id(@__retain_semantics Init init)]
pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
#[method_id(@__retain_semantics New new)]
pub unsafe fn new() -> Retained<Self>;
}
);