quakeforge/ruamoko/gui/Group.r
Bill Currie 75ec6bf244 Clean out some unnecessary types from the progs engine and clean up the mess.
This is a nasty commit, sorry, but 99% of the commit is interdependent.
2011-01-10 12:25:31 +09:00

59 lines
1,012 B
R

#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) moveTo: (integer)x y:(integer)y
{
[self setBasePos: x y:y];
}
- (void) setBasePos: (integer) x y: (integer) 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