use crate::common::*;
use crate::AppKit::*;
use crate::CoreData::*;
use crate::Foundation::*;
ns_enum!(
#[underlying(NSInteger)]
pub enum NSCollectionViewDropOperation {
NSCollectionViewDropOn = 0,
NSCollectionViewDropBefore = 1,
}
);
ns_enum!(
#[underlying(NSInteger)]
pub enum NSCollectionViewItemHighlightState {
NSCollectionViewItemHighlightNone = 0,
NSCollectionViewItemHighlightForSelection = 1,
NSCollectionViewItemHighlightForDeselection = 2,
NSCollectionViewItemHighlightAsDropTarget = 3,
}
);
ns_options!(
#[underlying(NSUInteger)]
pub enum NSCollectionViewScrollPosition {
NSCollectionViewScrollPositionNone = 0,
NSCollectionViewScrollPositionTop = 1 << 0,
NSCollectionViewScrollPositionCenteredVertically = 1 << 1,
NSCollectionViewScrollPositionBottom = 1 << 2,
NSCollectionViewScrollPositionNearestHorizontalEdge = 1 << 9,
NSCollectionViewScrollPositionLeft = 1 << 3,
NSCollectionViewScrollPositionCenteredHorizontally = 1 << 4,
NSCollectionViewScrollPositionRight = 1 << 5,
NSCollectionViewScrollPositionLeadingEdge = 1 << 6,
NSCollectionViewScrollPositionTrailingEdge = 1 << 7,
NSCollectionViewScrollPositionNearestVerticalEdge = 1 << 8,
}
);
pub type NSCollectionViewSupplementaryElementKind = NSString;
extern_protocol!(
pub struct NSCollectionViewElement;
unsafe impl ProtocolType for NSCollectionViewElement {
#[optional]
#[method(prepareForReuse)]
pub unsafe fn prepareForReuse(&self);
#[optional]
#[method(applyLayoutAttributes:)]
pub unsafe fn applyLayoutAttributes(
&self,
layoutAttributes: &NSCollectionViewLayoutAttributes,
);
#[optional]
#[method(willTransitionFromLayout:toLayout:)]
pub unsafe fn willTransitionFromLayout_toLayout(
&self,
oldLayout: &NSCollectionViewLayout,
newLayout: &NSCollectionViewLayout,
);
#[optional]
#[method(didTransitionFromLayout:toLayout:)]
pub unsafe fn didTransitionFromLayout_toLayout(
&self,
oldLayout: &NSCollectionViewLayout,
newLayout: &NSCollectionViewLayout,
);
#[optional]
#[method_id(@__retain_semantics Other preferredLayoutAttributesFittingAttributes:)]
pub unsafe fn preferredLayoutAttributesFittingAttributes(
&self,
layoutAttributes: &NSCollectionViewLayoutAttributes,
) -> Id<NSCollectionViewLayoutAttributes, Shared>;
}
);
extern_protocol!(
pub struct NSCollectionViewSectionHeaderView;
unsafe impl ProtocolType for NSCollectionViewSectionHeaderView {
#[optional]
#[method_id(@__retain_semantics Other sectionCollapseButton)]
pub unsafe fn sectionCollapseButton(&self) -> Option<Id<NSButton, Shared>>;
#[optional]
#[method(setSectionCollapseButton:)]
pub unsafe fn setSectionCollapseButton(&self, sectionCollapseButton: Option<&NSButton>);
}
);
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct NSCollectionViewItem;
unsafe impl ClassType for NSCollectionViewItem {
#[inherits(NSResponder, NSObject)]
type Super = NSViewController;
}
);
extern_methods!(
unsafe impl NSCollectionViewItem {
#[method_id(@__retain_semantics Other collectionView)]
pub unsafe fn collectionView(&self) -> Option<Id<NSCollectionView, Shared>>;
#[method(isSelected)]
pub unsafe fn isSelected(&self) -> bool;
#[method(setSelected:)]
pub unsafe fn setSelected(&self, selected: bool);
#[method(highlightState)]
pub unsafe fn highlightState(&self) -> NSCollectionViewItemHighlightState;
#[method(setHighlightState:)]
pub unsafe fn setHighlightState(&self, highlightState: NSCollectionViewItemHighlightState);
#[method_id(@__retain_semantics Other imageView)]
pub unsafe fn imageView(&self) -> Option<Id<NSImageView, Shared>>;
#[method(setImageView:)]
pub unsafe fn setImageView(&self, imageView: Option<&NSImageView>);
#[method_id(@__retain_semantics Other textField)]
pub unsafe fn textField(&self) -> Option<Id<NSTextField, Shared>>;
#[method(setTextField:)]
pub unsafe fn setTextField(&self, textField: Option<&NSTextField>);
#[method_id(@__retain_semantics Other draggingImageComponents)]
pub unsafe fn draggingImageComponents(
&self,
) -> Id<NSArray<NSDraggingImageComponent>, Shared>;
}
);
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct NSCollectionView;
unsafe impl ClassType for NSCollectionView {
#[inherits(NSResponder, NSObject)]
type Super = NSView;
}
);
extern_methods!(
unsafe impl NSCollectionView {
#[method_id(@__retain_semantics Other dataSource)]
pub unsafe fn dataSource(&self) -> Option<Id<NSCollectionViewDataSource, Shared>>;
#[method(setDataSource:)]
pub unsafe fn setDataSource(&self, dataSource: Option<&NSCollectionViewDataSource>);
#[method_id(@__retain_semantics Other prefetchDataSource)]
pub unsafe fn prefetchDataSource(&self) -> Option<Id<NSCollectionViewPrefetching, Shared>>;
#[method(setPrefetchDataSource:)]
pub unsafe fn setPrefetchDataSource(
&self,
prefetchDataSource: Option<&NSCollectionViewPrefetching>,
);
#[method_id(@__retain_semantics Other content)]
pub unsafe fn content(&self) -> Id<NSArray<Object>, Shared>;
#[method(setContent:)]
pub unsafe fn setContent(&self, content: &NSArray<Object>);
#[method(reloadData)]
pub unsafe fn reloadData(&self);
#[method_id(@__retain_semantics Other delegate)]
pub unsafe fn delegate(&self) -> Option<Id<NSCollectionViewDelegate, Shared>>;
#[method(setDelegate:)]
pub unsafe fn setDelegate(&self, delegate: Option<&NSCollectionViewDelegate>);
#[method_id(@__retain_semantics Other backgroundView)]
pub unsafe fn backgroundView(&self) -> Option<Id<NSView, Shared>>;
#[method(setBackgroundView:)]
pub unsafe fn setBackgroundView(&self, backgroundView: Option<&NSView>);
#[method(backgroundViewScrollsWithContent)]
pub unsafe fn backgroundViewScrollsWithContent(&self) -> bool;
#[method(setBackgroundViewScrollsWithContent:)]
pub unsafe fn setBackgroundViewScrollsWithContent(
&self,
backgroundViewScrollsWithContent: bool,
);
#[method_id(@__retain_semantics Other collectionViewLayout)]
pub unsafe fn collectionViewLayout(&self) -> Option<Id<NSCollectionViewLayout, Shared>>;
#[method(setCollectionViewLayout:)]
pub unsafe fn setCollectionViewLayout(
&self,
collectionViewLayout: Option<&NSCollectionViewLayout>,
);
#[method_id(@__retain_semantics Other layoutAttributesForItemAtIndexPath:)]
pub unsafe fn layoutAttributesForItemAtIndexPath(
&self,
indexPath: &NSIndexPath,
) -> Option<Id<NSCollectionViewLayoutAttributes, Shared>>;
#[method_id(@__retain_semantics Other layoutAttributesForSupplementaryElementOfKind:atIndexPath:)]
pub unsafe fn layoutAttributesForSupplementaryElementOfKind_atIndexPath(
&self,
kind: &NSCollectionViewSupplementaryElementKind,
indexPath: &NSIndexPath,
) -> Option<Id<NSCollectionViewLayoutAttributes, Shared>>;
#[method(frameForItemAtIndex:)]
pub unsafe fn frameForItemAtIndex(&self, index: NSUInteger) -> NSRect;
#[method(frameForItemAtIndex:withNumberOfItems:)]
pub unsafe fn frameForItemAtIndex_withNumberOfItems(
&self,
index: NSUInteger,
numberOfItems: NSUInteger,
) -> NSRect;
#[method_id(@__retain_semantics Other backgroundColors)]
pub unsafe fn backgroundColors(&self) -> Id<NSArray<NSColor>, Shared>;
#[method(setBackgroundColors:)]
pub unsafe fn setBackgroundColors(&self, backgroundColors: Option<&NSArray<NSColor>>);
#[method(numberOfSections)]
pub unsafe fn numberOfSections(&self) -> NSInteger;
#[method(numberOfItemsInSection:)]
pub unsafe fn numberOfItemsInSection(&self, section: NSInteger) -> NSInteger;
#[method(isFirstResponder)]
pub unsafe fn isFirstResponder(&self) -> bool;
#[method(isSelectable)]
pub unsafe fn isSelectable(&self) -> bool;
#[method(setSelectable:)]
pub unsafe fn setSelectable(&self, selectable: bool);
#[method(allowsEmptySelection)]
pub unsafe fn allowsEmptySelection(&self) -> bool;
#[method(setAllowsEmptySelection:)]
pub unsafe fn setAllowsEmptySelection(&self, allowsEmptySelection: bool);
#[method(allowsMultipleSelection)]
pub unsafe fn allowsMultipleSelection(&self) -> bool;
#[method(setAllowsMultipleSelection:)]
pub unsafe fn setAllowsMultipleSelection(&self, allowsMultipleSelection: bool);
#[method_id(@__retain_semantics Other selectionIndexes)]
pub unsafe fn selectionIndexes(&self) -> Id<NSIndexSet, Shared>;
#[method(setSelectionIndexes:)]
pub unsafe fn setSelectionIndexes(&self, selectionIndexes: &NSIndexSet);
#[method_id(@__retain_semantics Other selectionIndexPaths)]
pub unsafe fn selectionIndexPaths(&self) -> Id<NSSet<NSIndexPath>, Shared>;
#[method(setSelectionIndexPaths:)]
pub unsafe fn setSelectionIndexPaths(&self, selectionIndexPaths: &NSSet<NSIndexPath>);
#[method(selectItemsAtIndexPaths:scrollPosition:)]
pub unsafe fn selectItemsAtIndexPaths_scrollPosition(
&self,
indexPaths: &NSSet<NSIndexPath>,
scrollPosition: NSCollectionViewScrollPosition,
);
#[method(deselectItemsAtIndexPaths:)]
pub unsafe fn deselectItemsAtIndexPaths(&self, indexPaths: &NSSet<NSIndexPath>);
#[method(selectAll:)]
pub unsafe fn selectAll(&self, sender: Option<&Object>);
#[method(deselectAll:)]
pub unsafe fn deselectAll(&self, sender: Option<&Object>);
#[method(registerClass:forItemWithIdentifier:)]
pub unsafe fn registerClass_forItemWithIdentifier(
&self,
itemClass: Option<&Class>,
identifier: &NSUserInterfaceItemIdentifier,
);
#[method(registerNib:forItemWithIdentifier:)]
pub unsafe fn registerNib_forItemWithIdentifier(
&self,
nib: Option<&NSNib>,
identifier: &NSUserInterfaceItemIdentifier,
);
#[method(registerClass:forSupplementaryViewOfKind:withIdentifier:)]
pub unsafe fn registerClass_forSupplementaryViewOfKind_withIdentifier(
&self,
viewClass: Option<&Class>,
kind: &NSCollectionViewSupplementaryElementKind,
identifier: &NSUserInterfaceItemIdentifier,
);
#[method(registerNib:forSupplementaryViewOfKind:withIdentifier:)]
pub unsafe fn registerNib_forSupplementaryViewOfKind_withIdentifier(
&self,
nib: Option<&NSNib>,
kind: &NSCollectionViewSupplementaryElementKind,
identifier: &NSUserInterfaceItemIdentifier,
);
#[method_id(@__retain_semantics Other makeItemWithIdentifier:forIndexPath:)]
pub unsafe fn makeItemWithIdentifier_forIndexPath(
&self,
identifier: &NSUserInterfaceItemIdentifier,
indexPath: &NSIndexPath,
) -> Id<NSCollectionViewItem, Shared>;
#[method_id(@__retain_semantics Other makeSupplementaryViewOfKind:withIdentifier:forIndexPath:)]
pub unsafe fn makeSupplementaryViewOfKind_withIdentifier_forIndexPath(
&self,
elementKind: &NSCollectionViewSupplementaryElementKind,
identifier: &NSUserInterfaceItemIdentifier,
indexPath: &NSIndexPath,
) -> Id<NSView, Shared>;
#[method_id(@__retain_semantics Other itemAtIndex:)]
pub unsafe fn itemAtIndex(
&self,
index: NSUInteger,
) -> Option<Id<NSCollectionViewItem, Shared>>;
#[method_id(@__retain_semantics Other itemAtIndexPath:)]
pub unsafe fn itemAtIndexPath(
&self,
indexPath: &NSIndexPath,
) -> Option<Id<NSCollectionViewItem, Shared>>;
#[method_id(@__retain_semantics Other visibleItems)]
pub unsafe fn visibleItems(&self) -> Id<NSArray<NSCollectionViewItem>, Shared>;
#[method_id(@__retain_semantics Other indexPathsForVisibleItems)]
pub unsafe fn indexPathsForVisibleItems(&self) -> Id<NSSet<NSIndexPath>, Shared>;
#[method_id(@__retain_semantics Other indexPathForItem:)]
pub unsafe fn indexPathForItem(
&self,
item: &NSCollectionViewItem,
) -> Option<Id<NSIndexPath, Shared>>;
#[method_id(@__retain_semantics Other indexPathForItemAtPoint:)]
pub unsafe fn indexPathForItemAtPoint(
&self,
point: NSPoint,
) -> Option<Id<NSIndexPath, Shared>>;
#[method_id(@__retain_semantics Other supplementaryViewForElementKind:atIndexPath:)]
pub unsafe fn supplementaryViewForElementKind_atIndexPath(
&self,
elementKind: &NSCollectionViewSupplementaryElementKind,
indexPath: &NSIndexPath,
) -> Option<Id<TodoProtocols, Shared>>;
#[method_id(@__retain_semantics Other visibleSupplementaryViewsOfKind:)]
pub unsafe fn visibleSupplementaryViewsOfKind(
&self,
elementKind: &NSCollectionViewSupplementaryElementKind,
) -> Id<NSArray<TodoProtocols>, Shared>;
#[method_id(@__retain_semantics Other indexPathsForVisibleSupplementaryElementsOfKind:)]
pub unsafe fn indexPathsForVisibleSupplementaryElementsOfKind(
&self,
elementKind: &NSCollectionViewSupplementaryElementKind,
) -> Id<NSSet<NSIndexPath>, Shared>;
#[method(insertSections:)]
pub unsafe fn insertSections(&self, sections: &NSIndexSet);
#[method(deleteSections:)]
pub unsafe fn deleteSections(&self, sections: &NSIndexSet);
#[method(reloadSections:)]
pub unsafe fn reloadSections(&self, sections: &NSIndexSet);
#[method(moveSection:toSection:)]
pub unsafe fn moveSection_toSection(&self, section: NSInteger, newSection: NSInteger);
#[method(insertItemsAtIndexPaths:)]
pub unsafe fn insertItemsAtIndexPaths(&self, indexPaths: &NSSet<NSIndexPath>);
#[method(deleteItemsAtIndexPaths:)]
pub unsafe fn deleteItemsAtIndexPaths(&self, indexPaths: &NSSet<NSIndexPath>);
#[method(reloadItemsAtIndexPaths:)]
pub unsafe fn reloadItemsAtIndexPaths(&self, indexPaths: &NSSet<NSIndexPath>);
#[method(moveItemAtIndexPath:toIndexPath:)]
pub unsafe fn moveItemAtIndexPath_toIndexPath(
&self,
indexPath: &NSIndexPath,
newIndexPath: &NSIndexPath,
);
#[method(performBatchUpdates:completionHandler:)]
pub unsafe fn performBatchUpdates_completionHandler(
&self,
updates: Option<&Block<(), ()>>,
completionHandler: Option<&Block<(Bool,), ()>>,
);
#[method(toggleSectionCollapse:)]
pub unsafe fn toggleSectionCollapse(&self, sender: &Object);
#[method(scrollToItemsAtIndexPaths:scrollPosition:)]
pub unsafe fn scrollToItemsAtIndexPaths_scrollPosition(
&self,
indexPaths: &NSSet<NSIndexPath>,
scrollPosition: NSCollectionViewScrollPosition,
);
#[method(setDraggingSourceOperationMask:forLocal:)]
pub unsafe fn setDraggingSourceOperationMask_forLocal(
&self,
dragOperationMask: NSDragOperation,
localDestination: bool,
);
#[method_id(@__retain_semantics Other draggingImageForItemsAtIndexPaths:withEvent:offset:)]
pub unsafe fn draggingImageForItemsAtIndexPaths_withEvent_offset(
&self,
indexPaths: &NSSet<NSIndexPath>,
event: &NSEvent,
dragImageOffset: NSPointPointer,
) -> Id<NSImage, Shared>;
#[method_id(@__retain_semantics Other draggingImageForItemsAtIndexes:withEvent:offset:)]
pub unsafe fn draggingImageForItemsAtIndexes_withEvent_offset(
&self,
indexes: &NSIndexSet,
event: &NSEvent,
dragImageOffset: NSPointPointer,
) -> Id<NSImage, Shared>;
}
);
extern_protocol!(
pub struct NSCollectionViewDataSource;
unsafe impl ProtocolType for NSCollectionViewDataSource {
#[method(collectionView:numberOfItemsInSection:)]
pub unsafe fn collectionView_numberOfItemsInSection(
&self,
collectionView: &NSCollectionView,
section: NSInteger,
) -> NSInteger;
#[method_id(@__retain_semantics Other collectionView:itemForRepresentedObjectAtIndexPath:)]
pub unsafe fn collectionView_itemForRepresentedObjectAtIndexPath(
&self,
collectionView: &NSCollectionView,
indexPath: &NSIndexPath,
) -> Id<NSCollectionViewItem, Shared>;
#[optional]
#[method(numberOfSectionsInCollectionView:)]
pub unsafe fn numberOfSectionsInCollectionView(
&self,
collectionView: &NSCollectionView,
) -> NSInteger;
#[optional]
#[method_id(@__retain_semantics Other collectionView:viewForSupplementaryElementOfKind:atIndexPath:)]
pub unsafe fn collectionView_viewForSupplementaryElementOfKind_atIndexPath(
&self,
collectionView: &NSCollectionView,
kind: &NSCollectionViewSupplementaryElementKind,
indexPath: &NSIndexPath,
) -> Id<NSView, Shared>;
}
);
extern_protocol!(
pub struct NSCollectionViewPrefetching;
unsafe impl ProtocolType for NSCollectionViewPrefetching {
#[method(collectionView:prefetchItemsAtIndexPaths:)]
pub unsafe fn collectionView_prefetchItemsAtIndexPaths(
&self,
collectionView: &NSCollectionView,
indexPaths: &NSArray<NSIndexPath>,
);
#[optional]
#[method(collectionView:cancelPrefetchingForItemsAtIndexPaths:)]
pub unsafe fn collectionView_cancelPrefetchingForItemsAtIndexPaths(
&self,
collectionView: &NSCollectionView,
indexPaths: &NSArray<NSIndexPath>,
);
}
);
extern_protocol!(
pub struct NSCollectionViewDelegate;
unsafe impl ProtocolType for NSCollectionViewDelegate {
#[optional]
#[method(collectionView:canDragItemsAtIndexPaths:withEvent:)]
pub unsafe fn collectionView_canDragItemsAtIndexPaths_withEvent(
&self,
collectionView: &NSCollectionView,
indexPaths: &NSSet<NSIndexPath>,
event: &NSEvent,
) -> bool;
#[optional]
#[method(collectionView:canDragItemsAtIndexes:withEvent:)]
pub unsafe fn collectionView_canDragItemsAtIndexes_withEvent(
&self,
collectionView: &NSCollectionView,
indexes: &NSIndexSet,
event: &NSEvent,
) -> bool;
#[optional]
#[method(collectionView:writeItemsAtIndexPaths:toPasteboard:)]
pub unsafe fn collectionView_writeItemsAtIndexPaths_toPasteboard(
&self,
collectionView: &NSCollectionView,
indexPaths: &NSSet<NSIndexPath>,
pasteboard: &NSPasteboard,
) -> bool;
#[optional]
#[method(collectionView:writeItemsAtIndexes:toPasteboard:)]
pub unsafe fn collectionView_writeItemsAtIndexes_toPasteboard(
&self,
collectionView: &NSCollectionView,
indexes: &NSIndexSet,
pasteboard: &NSPasteboard,
) -> bool;
#[optional]
#[method_id(@__retain_semantics Other collectionView:namesOfPromisedFilesDroppedAtDestination:forDraggedItemsAtIndexPaths:)]
pub unsafe fn collectionView_namesOfPromisedFilesDroppedAtDestination_forDraggedItemsAtIndexPaths(
&self,
collectionView: &NSCollectionView,
dropURL: &NSURL,
indexPaths: &NSSet<NSIndexPath>,
) -> Id<NSArray<NSString>, Shared>;
#[optional]
#[method_id(@__retain_semantics Other collectionView:namesOfPromisedFilesDroppedAtDestination:forDraggedItemsAtIndexes:)]
pub unsafe fn collectionView_namesOfPromisedFilesDroppedAtDestination_forDraggedItemsAtIndexes(
&self,
collectionView: &NSCollectionView,
dropURL: &NSURL,
indexes: &NSIndexSet,
) -> Id<NSArray<NSString>, Shared>;
#[optional]
#[method_id(@__retain_semantics Other collectionView:draggingImageForItemsAtIndexPaths:withEvent:offset:)]
pub unsafe fn collectionView_draggingImageForItemsAtIndexPaths_withEvent_offset(
&self,
collectionView: &NSCollectionView,
indexPaths: &NSSet<NSIndexPath>,
event: &NSEvent,
dragImageOffset: NSPointPointer,
) -> Id<NSImage, Shared>;
#[optional]
#[method_id(@__retain_semantics Other collectionView:draggingImageForItemsAtIndexes:withEvent:offset:)]
pub unsafe fn collectionView_draggingImageForItemsAtIndexes_withEvent_offset(
&self,
collectionView: &NSCollectionView,
indexes: &NSIndexSet,
event: &NSEvent,
dragImageOffset: NSPointPointer,
) -> Id<NSImage, Shared>;
#[optional]
#[method(collectionView:validateDrop:proposedIndexPath:dropOperation:)]
pub unsafe fn collectionView_validateDrop_proposedIndexPath_dropOperation(
&self,
collectionView: &NSCollectionView,
draggingInfo: &NSDraggingInfo,
proposedDropIndexPath: NonNull<NonNull<NSIndexPath>>,
proposedDropOperation: NonNull<NSCollectionViewDropOperation>,
) -> NSDragOperation;
#[optional]
#[method(collectionView:validateDrop:proposedIndex:dropOperation:)]
pub unsafe fn collectionView_validateDrop_proposedIndex_dropOperation(
&self,
collectionView: &NSCollectionView,
draggingInfo: &NSDraggingInfo,
proposedDropIndex: NonNull<NSInteger>,
proposedDropOperation: NonNull<NSCollectionViewDropOperation>,
) -> NSDragOperation;
#[optional]
#[method(collectionView:acceptDrop:indexPath:dropOperation:)]
pub unsafe fn collectionView_acceptDrop_indexPath_dropOperation(
&self,
collectionView: &NSCollectionView,
draggingInfo: &NSDraggingInfo,
indexPath: &NSIndexPath,
dropOperation: NSCollectionViewDropOperation,
) -> bool;
#[optional]
#[method(collectionView:acceptDrop:index:dropOperation:)]
pub unsafe fn collectionView_acceptDrop_index_dropOperation(
&self,
collectionView: &NSCollectionView,
draggingInfo: &NSDraggingInfo,
index: NSInteger,
dropOperation: NSCollectionViewDropOperation,
) -> bool;
#[optional]
#[method_id(@__retain_semantics Other collectionView:pasteboardWriterForItemAtIndexPath:)]
pub unsafe fn collectionView_pasteboardWriterForItemAtIndexPath(
&self,
collectionView: &NSCollectionView,
indexPath: &NSIndexPath,
) -> Option<Id<NSPasteboardWriting, Shared>>;
#[optional]
#[method_id(@__retain_semantics Other collectionView:pasteboardWriterForItemAtIndex:)]
pub unsafe fn collectionView_pasteboardWriterForItemAtIndex(
&self,
collectionView: &NSCollectionView,
index: NSUInteger,
) -> Option<Id<NSPasteboardWriting, Shared>>;
#[optional]
#[method(collectionView:draggingSession:willBeginAtPoint:forItemsAtIndexPaths:)]
pub unsafe fn collectionView_draggingSession_willBeginAtPoint_forItemsAtIndexPaths(
&self,
collectionView: &NSCollectionView,
session: &NSDraggingSession,
screenPoint: NSPoint,
indexPaths: &NSSet<NSIndexPath>,
);
#[optional]
#[method(collectionView:draggingSession:willBeginAtPoint:forItemsAtIndexes:)]
pub unsafe fn collectionView_draggingSession_willBeginAtPoint_forItemsAtIndexes(
&self,
collectionView: &NSCollectionView,
session: &NSDraggingSession,
screenPoint: NSPoint,
indexes: &NSIndexSet,
);
#[optional]
#[method(collectionView:draggingSession:endedAtPoint:dragOperation:)]
pub unsafe fn collectionView_draggingSession_endedAtPoint_dragOperation(
&self,
collectionView: &NSCollectionView,
session: &NSDraggingSession,
screenPoint: NSPoint,
operation: NSDragOperation,
);
#[optional]
#[method(collectionView:updateDraggingItemsForDrag:)]
pub unsafe fn collectionView_updateDraggingItemsForDrag(
&self,
collectionView: &NSCollectionView,
draggingInfo: &NSDraggingInfo,
);
#[optional]
#[method_id(@__retain_semantics Other collectionView:shouldChangeItemsAtIndexPaths:toHighlightState:)]
pub unsafe fn collectionView_shouldChangeItemsAtIndexPaths_toHighlightState(
&self,
collectionView: &NSCollectionView,
indexPaths: &NSSet<NSIndexPath>,
highlightState: NSCollectionViewItemHighlightState,
) -> Id<NSSet<NSIndexPath>, Shared>;
#[optional]
#[method(collectionView:didChangeItemsAtIndexPaths:toHighlightState:)]
pub unsafe fn collectionView_didChangeItemsAtIndexPaths_toHighlightState(
&self,
collectionView: &NSCollectionView,
indexPaths: &NSSet<NSIndexPath>,
highlightState: NSCollectionViewItemHighlightState,
);
#[optional]
#[method_id(@__retain_semantics Other collectionView:shouldSelectItemsAtIndexPaths:)]
pub unsafe fn collectionView_shouldSelectItemsAtIndexPaths(
&self,
collectionView: &NSCollectionView,
indexPaths: &NSSet<NSIndexPath>,
) -> Id<NSSet<NSIndexPath>, Shared>;
#[optional]
#[method_id(@__retain_semantics Other collectionView:shouldDeselectItemsAtIndexPaths:)]
pub unsafe fn collectionView_shouldDeselectItemsAtIndexPaths(
&self,
collectionView: &NSCollectionView,
indexPaths: &NSSet<NSIndexPath>,
) -> Id<NSSet<NSIndexPath>, Shared>;
#[optional]
#[method(collectionView:didSelectItemsAtIndexPaths:)]
pub unsafe fn collectionView_didSelectItemsAtIndexPaths(
&self,
collectionView: &NSCollectionView,
indexPaths: &NSSet<NSIndexPath>,
);
#[optional]
#[method(collectionView:didDeselectItemsAtIndexPaths:)]
pub unsafe fn collectionView_didDeselectItemsAtIndexPaths(
&self,
collectionView: &NSCollectionView,
indexPaths: &NSSet<NSIndexPath>,
);
#[optional]
#[method(collectionView:willDisplayItem:forRepresentedObjectAtIndexPath:)]
pub unsafe fn collectionView_willDisplayItem_forRepresentedObjectAtIndexPath(
&self,
collectionView: &NSCollectionView,
item: &NSCollectionViewItem,
indexPath: &NSIndexPath,
);
#[optional]
#[method(collectionView:willDisplaySupplementaryView:forElementKind:atIndexPath:)]
pub unsafe fn collectionView_willDisplaySupplementaryView_forElementKind_atIndexPath(
&self,
collectionView: &NSCollectionView,
view: &NSView,
elementKind: &NSCollectionViewSupplementaryElementKind,
indexPath: &NSIndexPath,
);
#[optional]
#[method(collectionView:didEndDisplayingItem:forRepresentedObjectAtIndexPath:)]
pub unsafe fn collectionView_didEndDisplayingItem_forRepresentedObjectAtIndexPath(
&self,
collectionView: &NSCollectionView,
item: &NSCollectionViewItem,
indexPath: &NSIndexPath,
);
#[optional]
#[method(collectionView:didEndDisplayingSupplementaryView:forElementOfKind:atIndexPath:)]
pub unsafe fn collectionView_didEndDisplayingSupplementaryView_forElementOfKind_atIndexPath(
&self,
collectionView: &NSCollectionView,
view: &NSView,
elementKind: &NSCollectionViewSupplementaryElementKind,
indexPath: &NSIndexPath,
);
#[optional]
#[method_id(@__retain_semantics Other collectionView:transitionLayoutForOldLayout:newLayout:)]
pub unsafe fn collectionView_transitionLayoutForOldLayout_newLayout(
&self,
collectionView: &NSCollectionView,
fromLayout: &NSCollectionViewLayout,
toLayout: &NSCollectionViewLayout,
) -> Id<NSCollectionViewTransitionLayout, Shared>;
}
);
extern_methods!(
unsafe impl NSIndexPath {
#[method_id(@__retain_semantics Other indexPathForItem:inSection:)]
pub unsafe fn indexPathForItem_inSection(
item: NSInteger,
section: NSInteger,
) -> Id<NSIndexPath, Shared>;
#[method(item)]
pub unsafe fn item(&self) -> NSInteger;
#[method(section)]
pub unsafe fn section(&self) -> NSInteger;
}
);
extern_methods!(
unsafe impl NSSet {
#[method_id(@__retain_semantics Other setWithCollectionViewIndexPath:)]
pub unsafe fn setWithCollectionViewIndexPath(indexPath: &NSIndexPath) -> Id<Self, Shared>;
#[method_id(@__retain_semantics Other setWithCollectionViewIndexPaths:)]
pub unsafe fn setWithCollectionViewIndexPaths(
indexPaths: &NSArray<NSIndexPath>,
) -> Id<Self, Shared>;
#[method(enumerateIndexPathsWithOptions:usingBlock:)]
pub unsafe fn enumerateIndexPathsWithOptions_usingBlock(
&self,
opts: NSEnumerationOptions,
block: &Block<(NonNull<NSIndexPath>, NonNull<Bool>), ()>,
);
}
);
extern_methods!(
unsafe impl NSCollectionView {
#[method_id(@__retain_semantics New newItemForRepresentedObject:)]
pub unsafe fn newItemForRepresentedObject(
&self,
object: &Object,
) -> Id<NSCollectionViewItem, Shared>;
#[method_id(@__retain_semantics Other itemPrototype)]
pub unsafe fn itemPrototype(&self) -> Option<Id<NSCollectionViewItem, Shared>>;
#[method(setItemPrototype:)]
pub unsafe fn setItemPrototype(&self, itemPrototype: Option<&NSCollectionViewItem>);
#[method(maxNumberOfRows)]
pub unsafe fn maxNumberOfRows(&self) -> NSUInteger;
#[method(setMaxNumberOfRows:)]
pub unsafe fn setMaxNumberOfRows(&self, maxNumberOfRows: NSUInteger);
#[method(maxNumberOfColumns)]
pub unsafe fn maxNumberOfColumns(&self) -> NSUInteger;
#[method(setMaxNumberOfColumns:)]
pub unsafe fn setMaxNumberOfColumns(&self, maxNumberOfColumns: NSUInteger);
#[method(minItemSize)]
pub unsafe fn minItemSize(&self) -> NSSize;
#[method(setMinItemSize:)]
pub unsafe fn setMinItemSize(&self, minItemSize: NSSize);
#[method(maxItemSize)]
pub unsafe fn maxItemSize(&self) -> NSSize;
#[method(setMaxItemSize:)]
pub unsafe fn setMaxItemSize(&self, maxItemSize: NSSize);
}
);
extern_methods!(
unsafe impl NSCollectionViewItem {
#[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>;
}
);
extern_methods!(
unsafe impl NSCollectionView {
#[method_id(@__retain_semantics Init initWithFrame:)]
pub unsafe fn initWithFrame(
this: Option<Allocated<Self>>,
frameRect: NSRect,
) -> Id<Self, Shared>;
}
);