ResKnife/Cocoa/Categories/NSOutlineView-SelectedItems.m

34 lines
906 B
Objective-C

#import "NSOutlineView-SelectedItems.h"
/* The methods in the following catagory were based upon those in OmniAppKit */
@implementation NSOutlineView (RKSelectedItemExtensions)
- (id)selectedItem
{
if ([self numberOfSelectedRows] != 1) return nil;
else return [self itemAtRow:[self selectedRow]];
}
- (NSArray *)selectedItems
{
NSMutableArray *items = [NSMutableArray array];
#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_3
NSIndexSet *indicies = [self selectedRowIndexes];
unsigned int rowIndex = [indicies firstIndex];
while (rowIndex != NSNotFound)
{
[items addObject:[self itemAtRow:rowIndex]];
rowIndex = [indicies indexGreaterThanIndex:rowIndex];
}
#else
NSNumber *row;
NSEnumerator *enumerator = [self selectedRowEnumerator];
while (row = [enumerator nextObject])
[items addObject:[self itemAtRow:[row intValue]]];
#endif
return items;
}
@end