NSOutlineViewAdditions.m   [plain text]


/* NSOutlineViewAdditions.m created by epeyton on Wed 14-Apr-1999 */

#import "NSOutlineViewAdditions.h"

@implementation NSOutlineView (NSOutlineViewAdditions)

- (id)parentItemOfItem:(id)item
{
    id retValue = nil;
    int level = [self levelForItem:item];
    int index = [self rowForItem:item];
    
    if (level == 0 && index <= 0) {
        retValue = nil;
    } else {
        int targetLevel = level - 1;
        int currentIndex;

        for (currentIndex = [self rowForItem:item]; currentIndex >= 0; currentIndex--) {
            if ([self levelForItem:[self itemAtRow:currentIndex]] == targetLevel) {
                return [self itemAtRow:currentIndex];
            }
        }
        
    }
    return retValue;
}

@end