quakeforge/ruamoko/gui/Group.r

55 lines
927 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) 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