use crate::common::*;
use crate::AppKit::*;
use crate::CoreData::*;
use crate::Foundation::*;
extern_enum!(
#[underlying(c_int)]
pub enum {
NSOutlineViewDropOnItemIndex = -1,
}
);
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct NSOutlineView;
unsafe impl ClassType for NSOutlineView {
#[inherits(NSControl, NSView, NSResponder, NSObject)]
type Super = NSTableView;
}
);
extern_methods!(
unsafe impl NSOutlineView {
#[method_id(@__retain_semantics Other delegate)]
pub unsafe fn delegate(&self) -> Option<Id<NSOutlineViewDelegate, Shared>>;
#[method(setDelegate:)]
pub unsafe fn setDelegate(&self, delegate: Option<&NSOutlineViewDelegate>);
#[method_id(@__retain_semantics Other dataSource)]
pub unsafe fn dataSource(&self) -> Option<Id<NSOutlineViewDataSource, Shared>>;
#[method(setDataSource:)]
pub unsafe fn setDataSource(&self, dataSource: Option<&NSOutlineViewDataSource>);
#[method_id(@__retain_semantics Other outlineTableColumn)]
pub unsafe fn outlineTableColumn(&self) -> Option<Id<NSTableColumn, Shared>>;
#[method(setOutlineTableColumn:)]
pub unsafe fn setOutlineTableColumn(&self, outlineTableColumn: Option<&NSTableColumn>);
#[method(isExpandable:)]
pub unsafe fn isExpandable(&self, item: Option<&Object>) -> bool;
#[method(numberOfChildrenOfItem:)]
pub unsafe fn numberOfChildrenOfItem(&self, item: Option<&Object>) -> NSInteger;
#[method_id(@__retain_semantics Other child:ofItem:)]
pub unsafe fn child_ofItem(
&self,
index: NSInteger,
item: Option<&Object>,
) -> Option<Id<Object, Shared>>;
#[method(expandItem:expandChildren:)]
pub unsafe fn expandItem_expandChildren(&self, item: Option<&Object>, expandChildren: bool);
#[method(expandItem:)]
pub unsafe fn expandItem(&self, item: Option<&Object>);
#[method(collapseItem:collapseChildren:)]
pub unsafe fn collapseItem_collapseChildren(
&self,
item: Option<&Object>,
collapseChildren: bool,
);
#[method(collapseItem:)]
pub unsafe fn collapseItem(&self, item: Option<&Object>);
#[method(reloadItem:reloadChildren:)]
pub unsafe fn reloadItem_reloadChildren(&self, item: Option<&Object>, reloadChildren: bool);
#[method(reloadItem:)]
pub unsafe fn reloadItem(&self, item: Option<&Object>);
#[method_id(@__retain_semantics Other parentForItem:)]
pub unsafe fn parentForItem(&self, item: Option<&Object>) -> Option<Id<Object, Shared>>;
#[method(childIndexForItem:)]
pub unsafe fn childIndexForItem(&self, item: &Object) -> NSInteger;
#[method_id(@__retain_semantics Other itemAtRow:)]
pub unsafe fn itemAtRow(&self, row: NSInteger) -> Option<Id<Object, Shared>>;
#[method(rowForItem:)]
pub unsafe fn rowForItem(&self, item: Option<&Object>) -> NSInteger;
#[method(levelForItem:)]
pub unsafe fn levelForItem(&self, item: Option<&Object>) -> NSInteger;
#[method(levelForRow:)]
pub unsafe fn levelForRow(&self, row: NSInteger) -> NSInteger;
#[method(isItemExpanded:)]
pub unsafe fn isItemExpanded(&self, item: Option<&Object>) -> bool;
#[method(indentationPerLevel)]
pub unsafe fn indentationPerLevel(&self) -> CGFloat;
#[method(setIndentationPerLevel:)]
pub unsafe fn setIndentationPerLevel(&self, indentationPerLevel: CGFloat);
#[method(indentationMarkerFollowsCell)]
pub unsafe fn indentationMarkerFollowsCell(&self) -> bool;
#[method(setIndentationMarkerFollowsCell:)]
pub unsafe fn setIndentationMarkerFollowsCell(&self, indentationMarkerFollowsCell: bool);
#[method(autoresizesOutlineColumn)]
pub unsafe fn autoresizesOutlineColumn(&self) -> bool;
#[method(setAutoresizesOutlineColumn:)]
pub unsafe fn setAutoresizesOutlineColumn(&self, autoresizesOutlineColumn: bool);
#[method(frameOfOutlineCellAtRow:)]
pub unsafe fn frameOfOutlineCellAtRow(&self, row: NSInteger) -> NSRect;
#[method(setDropItem:dropChildIndex:)]
pub unsafe fn setDropItem_dropChildIndex(&self, item: Option<&Object>, index: NSInteger);
#[method(shouldCollapseAutoExpandedItemsForDeposited:)]
pub unsafe fn shouldCollapseAutoExpandedItemsForDeposited(&self, deposited: bool) -> bool;
#[method(autosaveExpandedItems)]
pub unsafe fn autosaveExpandedItems(&self) -> bool;
#[method(setAutosaveExpandedItems:)]
pub unsafe fn setAutosaveExpandedItems(&self, autosaveExpandedItems: bool);
#[method(insertItemsAtIndexes:inParent:withAnimation:)]
pub unsafe fn insertItemsAtIndexes_inParent_withAnimation(
&self,
indexes: &NSIndexSet,
parent: Option<&Object>,
animationOptions: NSTableViewAnimationOptions,
);
#[method(removeItemsAtIndexes:inParent:withAnimation:)]
pub unsafe fn removeItemsAtIndexes_inParent_withAnimation(
&self,
indexes: &NSIndexSet,
parent: Option<&Object>,
animationOptions: NSTableViewAnimationOptions,
);
#[method(moveItemAtIndex:inParent:toIndex:inParent:)]
pub unsafe fn moveItemAtIndex_inParent_toIndex_inParent(
&self,
fromIndex: NSInteger,
oldParent: Option<&Object>,
toIndex: NSInteger,
newParent: Option<&Object>,
);
#[method(insertRowsAtIndexes:withAnimation:)]
pub unsafe fn insertRowsAtIndexes_withAnimation(
&self,
indexes: &NSIndexSet,
animationOptions: NSTableViewAnimationOptions,
);
#[method(removeRowsAtIndexes:withAnimation:)]
pub unsafe fn removeRowsAtIndexes_withAnimation(
&self,
indexes: &NSIndexSet,
animationOptions: NSTableViewAnimationOptions,
);
#[method(moveRowAtIndex:toIndex:)]
pub unsafe fn moveRowAtIndex_toIndex(&self, oldIndex: NSInteger, newIndex: NSInteger);
#[method(userInterfaceLayoutDirection)]
pub unsafe fn userInterfaceLayoutDirection(&self) -> NSUserInterfaceLayoutDirection;
#[method(setUserInterfaceLayoutDirection:)]
pub unsafe fn setUserInterfaceLayoutDirection(
&self,
userInterfaceLayoutDirection: NSUserInterfaceLayoutDirection,
);
#[method(stronglyReferencesItems)]
pub unsafe fn stronglyReferencesItems(&self) -> bool;
#[method(setStronglyReferencesItems:)]
pub unsafe fn setStronglyReferencesItems(&self, stronglyReferencesItems: bool);
}
);
extern_protocol!(
pub struct NSOutlineViewDataSource;
unsafe impl ProtocolType for NSOutlineViewDataSource {
#[optional]
#[method(outlineView:numberOfChildrenOfItem:)]
pub unsafe fn outlineView_numberOfChildrenOfItem(
&self,
outlineView: &NSOutlineView,
item: Option<&Object>,
) -> NSInteger;
#[optional]
#[method_id(@__retain_semantics Other outlineView:child:ofItem:)]
pub unsafe fn outlineView_child_ofItem(
&self,
outlineView: &NSOutlineView,
index: NSInteger,
item: Option<&Object>,
) -> Id<Object, Shared>;
#[optional]
#[method(outlineView:isItemExpandable:)]
pub unsafe fn outlineView_isItemExpandable(
&self,
outlineView: &NSOutlineView,
item: &Object,
) -> bool;
#[optional]
#[method_id(@__retain_semantics Other outlineView:objectValueForTableColumn:byItem:)]
pub unsafe fn outlineView_objectValueForTableColumn_byItem(
&self,
outlineView: &NSOutlineView,
tableColumn: Option<&NSTableColumn>,
item: Option<&Object>,
) -> Option<Id<Object, Shared>>;
#[optional]
#[method(outlineView:setObjectValue:forTableColumn:byItem:)]
pub unsafe fn outlineView_setObjectValue_forTableColumn_byItem(
&self,
outlineView: &NSOutlineView,
object: Option<&Object>,
tableColumn: Option<&NSTableColumn>,
item: Option<&Object>,
);
#[optional]
#[method_id(@__retain_semantics Other outlineView:itemForPersistentObject:)]
pub unsafe fn outlineView_itemForPersistentObject(
&self,
outlineView: &NSOutlineView,
object: &Object,
) -> Option<Id<Object, Shared>>;
#[optional]
#[method_id(@__retain_semantics Other outlineView:persistentObjectForItem:)]
pub unsafe fn outlineView_persistentObjectForItem(
&self,
outlineView: &NSOutlineView,
item: Option<&Object>,
) -> Option<Id<Object, Shared>>;
#[optional]
#[method(outlineView:sortDescriptorsDidChange:)]
pub unsafe fn outlineView_sortDescriptorsDidChange(
&self,
outlineView: &NSOutlineView,
oldDescriptors: &NSArray<NSSortDescriptor>,
);
#[optional]
#[method_id(@__retain_semantics Other outlineView:pasteboardWriterForItem:)]
pub unsafe fn outlineView_pasteboardWriterForItem(
&self,
outlineView: &NSOutlineView,
item: &Object,
) -> Option<Id<NSPasteboardWriting, Shared>>;
#[optional]
#[method(outlineView:draggingSession:willBeginAtPoint:forItems:)]
pub unsafe fn outlineView_draggingSession_willBeginAtPoint_forItems(
&self,
outlineView: &NSOutlineView,
session: &NSDraggingSession,
screenPoint: NSPoint,
draggedItems: &NSArray,
);
#[optional]
#[method(outlineView:draggingSession:endedAtPoint:operation:)]
pub unsafe fn outlineView_draggingSession_endedAtPoint_operation(
&self,
outlineView: &NSOutlineView,
session: &NSDraggingSession,
screenPoint: NSPoint,
operation: NSDragOperation,
);
#[optional]
#[method(outlineView:writeItems:toPasteboard:)]
pub unsafe fn outlineView_writeItems_toPasteboard(
&self,
outlineView: &NSOutlineView,
items: &NSArray,
pasteboard: &NSPasteboard,
) -> bool;
#[optional]
#[method(outlineView:updateDraggingItemsForDrag:)]
pub unsafe fn outlineView_updateDraggingItemsForDrag(
&self,
outlineView: &NSOutlineView,
draggingInfo: &NSDraggingInfo,
);
#[optional]
#[method(outlineView:validateDrop:proposedItem:proposedChildIndex:)]
pub unsafe fn outlineView_validateDrop_proposedItem_proposedChildIndex(
&self,
outlineView: &NSOutlineView,
info: &NSDraggingInfo,
item: Option<&Object>,
index: NSInteger,
) -> NSDragOperation;
#[optional]
#[method(outlineView:acceptDrop:item:childIndex:)]
pub unsafe fn outlineView_acceptDrop_item_childIndex(
&self,
outlineView: &NSOutlineView,
info: &NSDraggingInfo,
item: Option<&Object>,
index: NSInteger,
) -> bool;
#[optional]
#[method_id(@__retain_semantics Other outlineView:namesOfPromisedFilesDroppedAtDestination:forDraggedItems:)]
pub unsafe fn outlineView_namesOfPromisedFilesDroppedAtDestination_forDraggedItems(
&self,
outlineView: &NSOutlineView,
dropDestination: &NSURL,
items: &NSArray,
) -> Id<NSArray<NSString>, Shared>;
}
);
extern_protocol!(
pub struct NSOutlineViewDelegate;
unsafe impl ProtocolType for NSOutlineViewDelegate {
#[optional]
#[method_id(@__retain_semantics Other outlineView:viewForTableColumn:item:)]
pub unsafe fn outlineView_viewForTableColumn_item(
&self,
outlineView: &NSOutlineView,
tableColumn: Option<&NSTableColumn>,
item: &Object,
) -> Option<Id<NSView, Shared>>;
#[optional]
#[method_id(@__retain_semantics Other outlineView:rowViewForItem:)]
pub unsafe fn outlineView_rowViewForItem(
&self,
outlineView: &NSOutlineView,
item: &Object,
) -> Option<Id<NSTableRowView, Shared>>;
#[optional]
#[method(outlineView:didAddRowView:forRow:)]
pub unsafe fn outlineView_didAddRowView_forRow(
&self,
outlineView: &NSOutlineView,
rowView: &NSTableRowView,
row: NSInteger,
);
#[optional]
#[method(outlineView:didRemoveRowView:forRow:)]
pub unsafe fn outlineView_didRemoveRowView_forRow(
&self,
outlineView: &NSOutlineView,
rowView: &NSTableRowView,
row: NSInteger,
);
#[optional]
#[method(outlineView:willDisplayCell:forTableColumn:item:)]
pub unsafe fn outlineView_willDisplayCell_forTableColumn_item(
&self,
outlineView: &NSOutlineView,
cell: &Object,
tableColumn: Option<&NSTableColumn>,
item: &Object,
);
#[optional]
#[method(outlineView:shouldEditTableColumn:item:)]
pub unsafe fn outlineView_shouldEditTableColumn_item(
&self,
outlineView: &NSOutlineView,
tableColumn: Option<&NSTableColumn>,
item: &Object,
) -> bool;
#[optional]
#[method(selectionShouldChangeInOutlineView:)]
pub unsafe fn selectionShouldChangeInOutlineView(
&self,
outlineView: &NSOutlineView,
) -> bool;
#[optional]
#[method(outlineView:shouldSelectItem:)]
pub unsafe fn outlineView_shouldSelectItem(
&self,
outlineView: &NSOutlineView,
item: &Object,
) -> bool;
#[optional]
#[method_id(@__retain_semantics Other outlineView:selectionIndexesForProposedSelection:)]
pub unsafe fn outlineView_selectionIndexesForProposedSelection(
&self,
outlineView: &NSOutlineView,
proposedSelectionIndexes: &NSIndexSet,
) -> Id<NSIndexSet, Shared>;
#[optional]
#[method(outlineView:shouldSelectTableColumn:)]
pub unsafe fn outlineView_shouldSelectTableColumn(
&self,
outlineView: &NSOutlineView,
tableColumn: Option<&NSTableColumn>,
) -> bool;
#[optional]
#[method(outlineView:mouseDownInHeaderOfTableColumn:)]
pub unsafe fn outlineView_mouseDownInHeaderOfTableColumn(
&self,
outlineView: &NSOutlineView,
tableColumn: &NSTableColumn,
);
#[optional]
#[method(outlineView:didClickTableColumn:)]
pub unsafe fn outlineView_didClickTableColumn(
&self,
outlineView: &NSOutlineView,
tableColumn: &NSTableColumn,
);
#[optional]
#[method(outlineView:didDragTableColumn:)]
pub unsafe fn outlineView_didDragTableColumn(
&self,
outlineView: &NSOutlineView,
tableColumn: &NSTableColumn,
);
#[optional]
#[method_id(@__retain_semantics Other outlineView:toolTipForCell:rect:tableColumn:item:mouseLocation:)]
pub unsafe fn outlineView_toolTipForCell_rect_tableColumn_item_mouseLocation(
&self,
outlineView: &NSOutlineView,
cell: &NSCell,
rect: NSRectPointer,
tableColumn: Option<&NSTableColumn>,
item: &Object,
mouseLocation: NSPoint,
) -> Id<NSString, Shared>;
#[optional]
#[method(outlineView:heightOfRowByItem:)]
pub unsafe fn outlineView_heightOfRowByItem(
&self,
outlineView: &NSOutlineView,
item: &Object,
) -> CGFloat;
#[optional]
#[method_id(@__retain_semantics Other outlineView:tintConfigurationForItem:)]
pub unsafe fn outlineView_tintConfigurationForItem(
&self,
outlineView: &NSOutlineView,
item: &Object,
) -> Option<Id<NSTintConfiguration, Shared>>;
#[optional]
#[method_id(@__retain_semantics Other outlineView:typeSelectStringForTableColumn:item:)]
pub unsafe fn outlineView_typeSelectStringForTableColumn_item(
&self,
outlineView: &NSOutlineView,
tableColumn: Option<&NSTableColumn>,
item: &Object,
) -> Option<Id<NSString, Shared>>;
#[optional]
#[method_id(@__retain_semantics Other outlineView:nextTypeSelectMatchFromItem:toItem:forString:)]
pub unsafe fn outlineView_nextTypeSelectMatchFromItem_toItem_forString(
&self,
outlineView: &NSOutlineView,
startItem: &Object,
endItem: &Object,
searchString: &NSString,
) -> Option<Id<Object, Shared>>;
#[optional]
#[method(outlineView:shouldTypeSelectForEvent:withCurrentSearchString:)]
pub unsafe fn outlineView_shouldTypeSelectForEvent_withCurrentSearchString(
&self,
outlineView: &NSOutlineView,
event: &NSEvent,
searchString: Option<&NSString>,
) -> bool;
#[optional]
#[method(outlineView:shouldShowCellExpansionForTableColumn:item:)]
pub unsafe fn outlineView_shouldShowCellExpansionForTableColumn_item(
&self,
outlineView: &NSOutlineView,
tableColumn: Option<&NSTableColumn>,
item: &Object,
) -> bool;
#[optional]
#[method(outlineView:shouldTrackCell:forTableColumn:item:)]
pub unsafe fn outlineView_shouldTrackCell_forTableColumn_item(
&self,
outlineView: &NSOutlineView,
cell: &NSCell,
tableColumn: Option<&NSTableColumn>,
item: &Object,
) -> bool;
#[optional]
#[method_id(@__retain_semantics Other outlineView:dataCellForTableColumn:item:)]
pub unsafe fn outlineView_dataCellForTableColumn_item(
&self,
outlineView: &NSOutlineView,
tableColumn: Option<&NSTableColumn>,
item: &Object,
) -> Option<Id<NSCell, Shared>>;
#[optional]
#[method(outlineView:isGroupItem:)]
pub unsafe fn outlineView_isGroupItem(
&self,
outlineView: &NSOutlineView,
item: &Object,
) -> bool;
#[optional]
#[method(outlineView:shouldExpandItem:)]
pub unsafe fn outlineView_shouldExpandItem(
&self,
outlineView: &NSOutlineView,
item: &Object,
) -> bool;
#[optional]
#[method(outlineView:shouldCollapseItem:)]
pub unsafe fn outlineView_shouldCollapseItem(
&self,
outlineView: &NSOutlineView,
item: &Object,
) -> bool;
#[optional]
#[method(outlineView:willDisplayOutlineCell:forTableColumn:item:)]
pub unsafe fn outlineView_willDisplayOutlineCell_forTableColumn_item(
&self,
outlineView: &NSOutlineView,
cell: &Object,
tableColumn: Option<&NSTableColumn>,
item: &Object,
);
#[optional]
#[method(outlineView:sizeToFitWidthOfColumn:)]
pub unsafe fn outlineView_sizeToFitWidthOfColumn(
&self,
outlineView: &NSOutlineView,
column: NSInteger,
) -> CGFloat;
#[optional]
#[method(outlineView:shouldReorderColumn:toColumn:)]
pub unsafe fn outlineView_shouldReorderColumn_toColumn(
&self,
outlineView: &NSOutlineView,
columnIndex: NSInteger,
newColumnIndex: NSInteger,
) -> bool;
#[optional]
#[method(outlineView:shouldShowOutlineCellForItem:)]
pub unsafe fn outlineView_shouldShowOutlineCellForItem(
&self,
outlineView: &NSOutlineView,
item: &Object,
) -> bool;
#[optional]
#[method(outlineViewSelectionDidChange:)]
pub unsafe fn outlineViewSelectionDidChange(&self, notification: &NSNotification);
#[optional]
#[method(outlineViewColumnDidMove:)]
pub unsafe fn outlineViewColumnDidMove(&self, notification: &NSNotification);
#[optional]
#[method(outlineViewColumnDidResize:)]
pub unsafe fn outlineViewColumnDidResize(&self, notification: &NSNotification);
#[optional]
#[method(outlineViewSelectionIsChanging:)]
pub unsafe fn outlineViewSelectionIsChanging(&self, notification: &NSNotification);
#[optional]
#[method(outlineViewItemWillExpand:)]
pub unsafe fn outlineViewItemWillExpand(&self, notification: &NSNotification);
#[optional]
#[method(outlineViewItemDidExpand:)]
pub unsafe fn outlineViewItemDidExpand(&self, notification: &NSNotification);
#[optional]
#[method(outlineViewItemWillCollapse:)]
pub unsafe fn outlineViewItemWillCollapse(&self, notification: &NSNotification);
#[optional]
#[method(outlineViewItemDidCollapse:)]
pub unsafe fn outlineViewItemDidCollapse(&self, notification: &NSNotification);
}
);
extern_static!(NSOutlineViewDisclosureButtonKey: &'static NSUserInterfaceItemIdentifier);
extern_static!(NSOutlineViewShowHideButtonKey: &'static NSUserInterfaceItemIdentifier);
extern_static!(NSOutlineViewSelectionDidChangeNotification: &'static NSNotificationName);
extern_static!(NSOutlineViewColumnDidMoveNotification: &'static NSNotificationName);
extern_static!(NSOutlineViewColumnDidResizeNotification: &'static NSNotificationName);
extern_static!(NSOutlineViewSelectionIsChangingNotification: &'static NSNotificationName);
extern_static!(NSOutlineViewItemWillExpandNotification: &'static NSNotificationName);
extern_static!(NSOutlineViewItemDidExpandNotification: &'static NSNotificationName);
extern_static!(NSOutlineViewItemWillCollapseNotification: &'static NSNotificationName);
extern_static!(NSOutlineViewItemDidCollapseNotification: &'static NSNotificationName);
extern_methods!(
unsafe impl NSOutlineView {
#[method_id(@__retain_semantics Init initWithFrame:)]
pub unsafe fn initWithFrame(
this: Option<Allocated<Self>>,
frameRect: NSRect,
) -> Id<Self, Shared>;
}
);