wesnoth/MacOSX/Wesnoth Scenario Editor/WNEventDataSource.m
2005-05-03 12:32:40 +00:00

68 lines
2.0 KiB
Objective-C

//
// WNEventDataSource.m
// Wesnoth Scenario Editor
//
// Created by Marcus Phillips on Tue May 25 2004.
// Copyright (c) 2004 __MyCompanyName__. All rights reserved.
//
#import "Wesnoth_Scenario_Editor_Prefix.h"
#import "WNEventDataSource.h"
@implementation WNEventDataSource
- (int)outlineView:(NSOutlineView *)outlineView numberOfChildrenOfItem:(WMLEvent *)item
{
if (item == nil)
{
fprintf(stderr, "Checking no events in scenario for outline view:%d\n", [[WNCampaign getActiveScenario] noEvents]);
return [[WNCampaign getActiveScenario] noEvents];
}
fprintf(stderr, "Checking no event children: %d\n", [item noEventChildren]);
return [item noEventChildren];
}
- (id)outlineView:(NSOutlineView *)outlineView child:(int)index ofItem:(WMLEvent *)item
{
if (item == nil)
{
// fprintf(stderr, "Getting child %d of main list = %d\n", index, [[WNCampaign getActiveScenario] getEventAtIndex:index]);
return [[WNCampaign getActiveScenario] getEventAtIndex:index];
}
// fprintf(stderr, "Getting child %d of object %d = \n", index, item,[item getEventChildAtIndex:index] );
return [item getEventChildAtIndex:index];
}
- (BOOL)outlineView:(NSOutlineView *)outlineView isItemExpandable:(WMLEvent *)item
{
return [item isEventATag];
}
- (id)outlineView:(NSOutlineView *)outlineView objectValueForTableColumn:(NSTableColumn *)tableColumn byItem:(WMLEvent *)item
{
NSString *identifier = [tableColumn identifier];
//return @"TEST";
if ([identifier isEqualTo:@"Name"])
{
return [item getEventName];
}
if ([identifier isEqualTo:@"Value"])
{
return [item getEventStringValue];
}
return @"Error Unknown identifier";
}
- (void)outlineView:(NSOutlineView *)outlineView setObjectValue:(id)object forTableColumn:(NSTableColumn *)tableColumn byItem:(id)item
{
NSString *identifier = [tableColumn identifier];
if ([identifier isEqualTo:@"Name"])
{
[item setEventName:object];
}else{
fprintf(stderr, "Error - trying to set outlineview item illegally\n");
}
}
@end