use objc2::__framework_prelude::*;
use objc2_foundation::*;
use crate::*;
#[repr(transparent)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct NSGridCellPlacement(pub NSInteger);
impl NSGridCellPlacement {
#[doc(alias = "NSGridCellPlacementInherited")]
pub const Inherited: Self = Self(0);
#[doc(alias = "NSGridCellPlacementNone")]
pub const None: Self = Self(1);
#[doc(alias = "NSGridCellPlacementLeading")]
pub const Leading: Self = Self(2);
#[doc(alias = "NSGridCellPlacementTop")]
pub const Top: Self = Self(NSGridCellPlacement::Leading.0);
#[doc(alias = "NSGridCellPlacementTrailing")]
pub const Trailing: Self = Self(3);
#[doc(alias = "NSGridCellPlacementBottom")]
pub const Bottom: Self = Self(NSGridCellPlacement::Trailing.0);
#[doc(alias = "NSGridCellPlacementCenter")]
pub const Center: Self = Self(4);
#[doc(alias = "NSGridCellPlacementFill")]
pub const Fill: Self = Self(5);
}
unsafe impl Encode for NSGridCellPlacement {
const ENCODING: Encoding = NSInteger::ENCODING;
}
unsafe impl RefEncode for NSGridCellPlacement {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[repr(transparent)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct NSGridRowAlignment(pub NSInteger);
impl NSGridRowAlignment {
#[doc(alias = "NSGridRowAlignmentInherited")]
pub const Inherited: Self = Self(0);
#[doc(alias = "NSGridRowAlignmentNone")]
pub const None: Self = Self(1);
#[doc(alias = "NSGridRowAlignmentFirstBaseline")]
pub const FirstBaseline: Self = Self(2);
#[doc(alias = "NSGridRowAlignmentLastBaseline")]
pub const LastBaseline: Self = Self(3);
}
unsafe impl Encode for NSGridRowAlignment {
const ENCODING: Encoding = NSInteger::ENCODING;
}
unsafe impl RefEncode for NSGridRowAlignment {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
extern "C" {
pub static NSGridViewSizeForContent: CGFloat;
}
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
#[cfg(all(feature = "NSResponder", feature = "NSView"))]
pub struct NSGridView;
#[cfg(all(feature = "NSResponder", feature = "NSView"))]
unsafe impl ClassType for NSGridView {
#[inherits(NSResponder, NSObject)]
type Super = NSView;
type Mutability = MainThreadOnly;
}
);
#[cfg(all(
feature = "NSAccessibilityProtocols",
feature = "NSResponder",
feature = "NSView"
))]
unsafe impl NSAccessibility for NSGridView {}
#[cfg(all(
feature = "NSAccessibilityProtocols",
feature = "NSResponder",
feature = "NSView"
))]
unsafe impl NSAccessibilityElementProtocol for NSGridView {}
#[cfg(all(feature = "NSAnimation", feature = "NSResponder", feature = "NSView"))]
unsafe impl NSAnimatablePropertyContainer for NSGridView {}
#[cfg(all(feature = "NSAppearance", feature = "NSResponder", feature = "NSView"))]
unsafe impl NSAppearanceCustomization for NSGridView {}
#[cfg(all(feature = "NSResponder", feature = "NSView"))]
unsafe impl NSCoding for NSGridView {}
#[cfg(all(feature = "NSDragging", feature = "NSResponder", feature = "NSView"))]
unsafe impl NSDraggingDestination for NSGridView {}
#[cfg(all(feature = "NSResponder", feature = "NSView"))]
unsafe impl NSObjectProtocol for NSGridView {}
#[cfg(all(
feature = "NSResponder",
feature = "NSUserInterfaceItemIdentification",
feature = "NSView"
))]
unsafe impl NSUserInterfaceItemIdentification for NSGridView {}
extern_methods!(
#[cfg(all(feature = "NSResponder", feature = "NSView"))]
unsafe impl NSGridView {
#[method_id(@__retain_semantics Init initWithFrame:)]
pub unsafe fn initWithFrame(this: Allocated<Self>, frame_rect: NSRect) -> Id<Self>;
#[method_id(@__retain_semantics Init initWithCoder:)]
pub unsafe fn initWithCoder(this: Allocated<Self>, coder: &NSCoder) -> Option<Id<Self>>;
#[method_id(@__retain_semantics Other gridViewWithNumberOfColumns:rows:)]
pub unsafe fn gridViewWithNumberOfColumns_rows(
column_count: NSInteger,
row_count: NSInteger,
mtm: MainThreadMarker,
) -> Id<Self>;
#[method_id(@__retain_semantics Other gridViewWithViews:)]
pub unsafe fn gridViewWithViews(
rows: &NSArray<NSArray<NSView>>,
mtm: MainThreadMarker,
) -> Id<Self>;
#[method(numberOfRows)]
pub unsafe fn numberOfRows(&self) -> NSInteger;
#[method(numberOfColumns)]
pub unsafe fn numberOfColumns(&self) -> NSInteger;
#[method_id(@__retain_semantics Other rowAtIndex:)]
pub unsafe fn rowAtIndex(&self, index: NSInteger) -> Id<NSGridRow>;
#[method(indexOfRow:)]
pub unsafe fn indexOfRow(&self, row: &NSGridRow) -> NSInteger;
#[method_id(@__retain_semantics Other columnAtIndex:)]
pub unsafe fn columnAtIndex(&self, index: NSInteger) -> Id<NSGridColumn>;
#[method(indexOfColumn:)]
pub unsafe fn indexOfColumn(&self, column: &NSGridColumn) -> NSInteger;
#[method_id(@__retain_semantics Other cellAtColumnIndex:rowIndex:)]
pub unsafe fn cellAtColumnIndex_rowIndex(
&self,
column_index: NSInteger,
row_index: NSInteger,
) -> Id<NSGridCell>;
#[method_id(@__retain_semantics Other cellForView:)]
pub unsafe fn cellForView(&self, view: &NSView) -> Option<Id<NSGridCell>>;
#[method_id(@__retain_semantics Other addRowWithViews:)]
pub unsafe fn addRowWithViews(&self, views: &NSArray<NSView>) -> Id<NSGridRow>;
#[method_id(@__retain_semantics Other insertRowAtIndex:withViews:)]
pub unsafe fn insertRowAtIndex_withViews(
&self,
index: NSInteger,
views: &NSArray<NSView>,
) -> Id<NSGridRow>;
#[method(moveRowAtIndex:toIndex:)]
pub unsafe fn moveRowAtIndex_toIndex(&self, from_index: NSInteger, to_index: NSInteger);
#[method(removeRowAtIndex:)]
pub unsafe fn removeRowAtIndex(&self, index: NSInteger);
#[method_id(@__retain_semantics Other addColumnWithViews:)]
pub unsafe fn addColumnWithViews(&self, views: &NSArray<NSView>) -> Id<NSGridColumn>;
#[method_id(@__retain_semantics Other insertColumnAtIndex:withViews:)]
pub unsafe fn insertColumnAtIndex_withViews(
&self,
index: NSInteger,
views: &NSArray<NSView>,
) -> Id<NSGridColumn>;
#[method(moveColumnAtIndex:toIndex:)]
pub unsafe fn moveColumnAtIndex_toIndex(&self, from_index: NSInteger, to_index: NSInteger);
#[method(removeColumnAtIndex:)]
pub unsafe fn removeColumnAtIndex(&self, index: NSInteger);
#[method(xPlacement)]
pub unsafe fn xPlacement(&self) -> NSGridCellPlacement;
#[method(setXPlacement:)]
pub unsafe fn setXPlacement(&self, x_placement: NSGridCellPlacement);
#[method(yPlacement)]
pub unsafe fn yPlacement(&self) -> NSGridCellPlacement;
#[method(setYPlacement:)]
pub unsafe fn setYPlacement(&self, y_placement: NSGridCellPlacement);
#[method(rowAlignment)]
pub unsafe fn rowAlignment(&self) -> NSGridRowAlignment;
#[method(setRowAlignment:)]
pub unsafe fn setRowAlignment(&self, row_alignment: NSGridRowAlignment);
#[method(rowSpacing)]
pub unsafe fn rowSpacing(&self) -> CGFloat;
#[method(setRowSpacing:)]
pub unsafe fn setRowSpacing(&self, row_spacing: CGFloat);
#[method(columnSpacing)]
pub unsafe fn columnSpacing(&self) -> CGFloat;
#[method(setColumnSpacing:)]
pub unsafe fn setColumnSpacing(&self, column_spacing: CGFloat);
#[method(mergeCellsInHorizontalRange:verticalRange:)]
pub unsafe fn mergeCellsInHorizontalRange_verticalRange(
&self,
h_range: NSRange,
v_range: NSRange,
);
}
);
extern_methods!(
#[cfg(all(feature = "NSResponder", feature = "NSView"))]
unsafe impl NSGridView {
#[method_id(@__retain_semantics Init init)]
pub unsafe fn init(this: Allocated<Self>) -> Id<Self>;
}
);
extern_methods!(
#[cfg(all(feature = "NSResponder", feature = "NSView"))]
unsafe impl NSGridView {
#[method_id(@__retain_semantics New new)]
pub unsafe fn new(mtm: MainThreadMarker) -> Id<Self>;
}
);
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct NSGridRow;
unsafe impl ClassType for NSGridRow {
type Super = NSObject;
type Mutability = MainThreadOnly;
}
);
unsafe impl NSCoding for NSGridRow {}
unsafe impl NSObjectProtocol for NSGridRow {}
extern_methods!(
unsafe impl NSGridRow {
#[cfg(all(feature = "NSResponder", feature = "NSView"))]
#[method_id(@__retain_semantics Other gridView)]
pub unsafe fn gridView(&self) -> Option<Id<NSGridView>>;
#[method(numberOfCells)]
pub unsafe fn numberOfCells(&self) -> NSInteger;
#[method_id(@__retain_semantics Other cellAtIndex:)]
pub unsafe fn cellAtIndex(&self, index: NSInteger) -> Id<NSGridCell>;
#[method(yPlacement)]
pub unsafe fn yPlacement(&self) -> NSGridCellPlacement;
#[method(setYPlacement:)]
pub unsafe fn setYPlacement(&self, y_placement: NSGridCellPlacement);
#[method(rowAlignment)]
pub unsafe fn rowAlignment(&self) -> NSGridRowAlignment;
#[method(setRowAlignment:)]
pub unsafe fn setRowAlignment(&self, row_alignment: NSGridRowAlignment);
#[method(height)]
pub unsafe fn height(&self) -> CGFloat;
#[method(setHeight:)]
pub unsafe fn setHeight(&self, height: CGFloat);
#[method(topPadding)]
pub unsafe fn topPadding(&self) -> CGFloat;
#[method(setTopPadding:)]
pub unsafe fn setTopPadding(&self, top_padding: CGFloat);
#[method(bottomPadding)]
pub unsafe fn bottomPadding(&self) -> CGFloat;
#[method(setBottomPadding:)]
pub unsafe fn setBottomPadding(&self, bottom_padding: CGFloat);
#[method(isHidden)]
pub unsafe fn isHidden(&self) -> bool;
#[method(setHidden:)]
pub unsafe fn setHidden(&self, hidden: bool);
#[method(mergeCellsInRange:)]
pub unsafe fn mergeCellsInRange(&self, range: NSRange);
}
);
extern_methods!(
unsafe impl NSGridRow {
#[method_id(@__retain_semantics Init init)]
pub unsafe fn init(this: Allocated<Self>) -> Id<Self>;
#[method_id(@__retain_semantics New new)]
pub unsafe fn new(mtm: MainThreadMarker) -> Id<Self>;
}
);
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct NSGridColumn;
unsafe impl ClassType for NSGridColumn {
type Super = NSObject;
type Mutability = MainThreadOnly;
}
);
unsafe impl NSCoding for NSGridColumn {}
unsafe impl NSObjectProtocol for NSGridColumn {}
extern_methods!(
unsafe impl NSGridColumn {
#[cfg(all(feature = "NSResponder", feature = "NSView"))]
#[method_id(@__retain_semantics Other gridView)]
pub unsafe fn gridView(&self) -> Option<Id<NSGridView>>;
#[method(numberOfCells)]
pub unsafe fn numberOfCells(&self) -> NSInteger;
#[method_id(@__retain_semantics Other cellAtIndex:)]
pub unsafe fn cellAtIndex(&self, index: NSInteger) -> Id<NSGridCell>;
#[method(xPlacement)]
pub unsafe fn xPlacement(&self) -> NSGridCellPlacement;
#[method(setXPlacement:)]
pub unsafe fn setXPlacement(&self, x_placement: NSGridCellPlacement);
#[method(width)]
pub unsafe fn width(&self) -> CGFloat;
#[method(setWidth:)]
pub unsafe fn setWidth(&self, width: CGFloat);
#[method(leadingPadding)]
pub unsafe fn leadingPadding(&self) -> CGFloat;
#[method(setLeadingPadding:)]
pub unsafe fn setLeadingPadding(&self, leading_padding: CGFloat);
#[method(trailingPadding)]
pub unsafe fn trailingPadding(&self) -> CGFloat;
#[method(setTrailingPadding:)]
pub unsafe fn setTrailingPadding(&self, trailing_padding: CGFloat);
#[method(isHidden)]
pub unsafe fn isHidden(&self) -> bool;
#[method(setHidden:)]
pub unsafe fn setHidden(&self, hidden: bool);
#[method(mergeCellsInRange:)]
pub unsafe fn mergeCellsInRange(&self, range: NSRange);
}
);
extern_methods!(
unsafe impl NSGridColumn {
#[method_id(@__retain_semantics Init init)]
pub unsafe fn init(this: Allocated<Self>) -> Id<Self>;
#[method_id(@__retain_semantics New new)]
pub unsafe fn new(mtm: MainThreadMarker) -> Id<Self>;
}
);
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct NSGridCell;
unsafe impl ClassType for NSGridCell {
type Super = NSObject;
type Mutability = MainThreadOnly;
}
);
unsafe impl NSCoding for NSGridCell {}
unsafe impl NSObjectProtocol for NSGridCell {}
extern_methods!(
unsafe impl NSGridCell {
#[cfg(all(feature = "NSResponder", feature = "NSView"))]
#[method_id(@__retain_semantics Other contentView)]
pub unsafe fn contentView(&self) -> Option<Id<NSView>>;
#[cfg(all(feature = "NSResponder", feature = "NSView"))]
#[method(setContentView:)]
pub unsafe fn setContentView(&self, content_view: Option<&NSView>);
#[cfg(all(feature = "NSResponder", feature = "NSView"))]
#[method_id(@__retain_semantics Other emptyContentView)]
pub unsafe fn emptyContentView(mtm: MainThreadMarker) -> Id<NSView>;
#[method_id(@__retain_semantics Other row)]
pub unsafe fn row(&self) -> Option<Id<NSGridRow>>;
#[method_id(@__retain_semantics Other column)]
pub unsafe fn column(&self) -> Option<Id<NSGridColumn>>;
#[method(xPlacement)]
pub unsafe fn xPlacement(&self) -> NSGridCellPlacement;
#[method(setXPlacement:)]
pub unsafe fn setXPlacement(&self, x_placement: NSGridCellPlacement);
#[method(yPlacement)]
pub unsafe fn yPlacement(&self) -> NSGridCellPlacement;
#[method(setYPlacement:)]
pub unsafe fn setYPlacement(&self, y_placement: NSGridCellPlacement);
#[method(rowAlignment)]
pub unsafe fn rowAlignment(&self) -> NSGridRowAlignment;
#[method(setRowAlignment:)]
pub unsafe fn setRowAlignment(&self, row_alignment: NSGridRowAlignment);
#[cfg(feature = "NSLayoutConstraint")]
#[method_id(@__retain_semantics Other customPlacementConstraints)]
pub unsafe fn customPlacementConstraints(&self) -> Id<NSArray<NSLayoutConstraint>>;
#[cfg(feature = "NSLayoutConstraint")]
#[method(setCustomPlacementConstraints:)]
pub unsafe fn setCustomPlacementConstraints(
&self,
custom_placement_constraints: &NSArray<NSLayoutConstraint>,
);
}
);
extern_methods!(
unsafe impl NSGridCell {
#[method_id(@__retain_semantics Init init)]
pub unsafe fn init(this: Allocated<Self>) -> Id<Self>;
#[method_id(@__retain_semantics New new)]
pub unsafe fn new(mtm: MainThreadMarker) -> Id<Self>;
}
);