Basic (buggy) Tree handling

This commit is contained in:
michael starke
2013-02-15 02:51:01 +01:00
parent d8e28b75c1
commit 8ab272179e
9 changed files with 43 additions and 9 deletions

View File

@@ -7,13 +7,17 @@
//
#import "MPOutlineDataSource.h"
#import "MPDatabaseController.h"
#import "MPDatabaseDocument.h"
#import "KdbLib.h"
@implementation MPOutlineDataSource
- (NSInteger)outlineView:(NSOutlineView *)outlineView numberOfChildrenOfItem:(id)item {
if(!item) {
MPDatabaseController *dbController = [MPDatabaseController defaultController];
return [[dbController.database.root groups] count];
}
if( [item isKindOfClass:[KdbGroup class]]) {
KdbGroup *group = item;
return [[group groups] count];
@@ -21,6 +25,10 @@
return 0;
}
- (id)outlineView:(NSOutlineView *)outlineView child:(NSInteger)index ofItem:(id)item {
if(!item) {
MPDatabaseController *dbController = [MPDatabaseController defaultController];
return dbController.database.root;
}
if( [item isKindOfClass:[KdbGroup class]]) {
KdbGroup *group = item;
if( [[group groups] count] > index ) {
@@ -30,6 +38,9 @@
return nil;
}
- (BOOL)outlineView:(NSOutlineView *)outlineView isItemExpandable:(id)item {
if(!item) {
return true;
}
return [item isKindOfClass:[KdbGroup class]];
}