#include <gui/Group.h>
#include <gui/Point.h>
#include <Array.h>

@implementation Group

- (id) init
{
	self = [super init];
	views = [[Array alloc] init];
	return self;
}

- (void) dealloc
{
	[views release];
	[super dealloc];
}

- (View *) addView: (View *)aView
{
	[views addObject:aView];
	return aView;
}

- (id) addViews: (Array *)viewlist
{
	while ([viewlist count]) {
		[self addView: [viewlist objectAtIndex: 0]];
		[viewlist removeObjectAtIndex: 0];
	}
	return self;
}

- (void) setBasePos: (int) x y: (int) y
{
	[super setBasePos: x y:y];
	local SEL sel = @selector (setBasePosFromView:);
	[views makeObjectsPerformSelector:sel withObject:self];
}

- (void) setBasePosFromView: (View *) view
{
	[super setBasePosFromView:view];
	local SEL sel = @selector (setBasePosFromView:);
	[views makeObjectsPerformSelector:sel withObject:self];
}

- (void) draw
{
	[views makeObjectsPerformSelector:@selector (draw)];
}

@end