/* PGroup.m	by Paul Kunz	March 1991
 * Category extending the Group class
 *
 * Copyright (C)  1992  The Board of Trustees of
 * The Leland Stanford Junior University.  All Rights Reserved.
 */
 
#import "PGroup.h"

const char PGroup_h_rcsid[] = PGROUP_H_ID;
const char PGroup_m_rcsid[] = "$Id: PGroup.m,v 1.7 1992/04/16 18:57:11 pfkeb Rel $";

#import <appkit/nextstd.h>
#import <objc/List.h>

#import "Plot.h"

@implementation Group(PGroup)

- addCutPlot:cutPlot;
{
    return [self makeGraphicsPerform:@selector(addCutPlot:) with:cutPlot];
}
- addHTupleToList:list
{
    [components makeObjectsPerform:@selector(addHTupleToList:) with:list];
    return self;
}

- addPlotToList:list
{
    [components makeObjectsPerform:@selector(addPlotToList:) with:list];
    return self;
}

- bindAxisW:(const void *) value
{
    return [self makeGraphicsPerform:@selector(bindAxisW:) with:value];
}
- bindAxisX:(const void *) value
{
    return [self makeGraphicsPerform:@selector(bindAxisX:) with:value];
}
- bindAxisXE:(const void *) value
{
    return [self makeGraphicsPerform:@selector(bindAxisXE:) with:value];
}
- bindAxisY:(const void *) value
{
    return [self makeGraphicsPerform:@selector(bindAxisY:) with:value];
}
- bindAxisYE:(const void *) value
{
    return [self makeGraphicsPerform:@selector(bindAxisYE:) with:value];
}
- bindCuts
{
    [components makeObjectsPerform:@selector(bindCuts)];
    [cache free];
    cache = nil;
    return self;
}
- bindReference
{
    [components makeObjectsPerform:@selector(bindReference)];
    [cache free];
    cache = nil;
    return self;
}
- NameAxisW:(const void *) value
{
    return [self makeGraphicsPerform:@selector(NameAxisW:) with:value];
}
- NameAxisX:(const void *) value
{
    return [self makeGraphicsPerform:@selector(NameAxisX:) with:value];
}
- NameAxisY:(const void *) value
{
    return [self makeGraphicsPerform:@selector(NameAxisY:) with:value];
}
- NameAxisYE:(const void *) value
{
    return [self makeGraphicsPerform:@selector(NameAxisYE:) with:value];
}
- replace:oldTuple with:newTuple
{
    unsigned int	i;
    
    i = [components count];
    while ( i-- ) {
        [[components objectAt:i] replace:oldTuple with:newTuple];
    }
    return self;
} 
- replaceTupleWith:(const void *) value
{
    return [self makeGraphicsPerform:@selector(replaceTupleWith:) with:value];
}
- setAutoScaleX:(const int *) value
{
    return [self makeGraphicsPerform:@selector(setAutoScaleX:) with:value];
}
- setAutoScaleY:(const int *) value
{
    return [self makeGraphicsPerform:@selector(setAutoScaleY:) with:value];
}
- setAxesFlag:(const void *) value
{
    return [self makeGraphicsPerform:@selector(setAxesFlag:) with:value];
}
- setColorType:(const void *) value
{
    return [self makeGraphicsPerform:@selector(setColorType:) with:value];
}
- setDispType:(const void *) value
{
    return [self makeGraphicsPerform:@selector(setDispType:) with:value];
}
- setDrawType:(const void *) value
{
    return [self makeGraphicsPerform:@selector(setDrawType:) with:value];
}
- setGraphicView:view
{
    return [self makeGraphicsPerform:@selector(setGraphicView:) with:view];
}
- setLogScaleX:(const void *) value
{
    return [self makeGraphicsPerform:@selector(setLogScaleX:) with:value];
}
- setLogScaleY:(const void *) value
{
    return [self makeGraphicsPerform:@selector(setLogScaleY:) with:value];
}
- setNumBinsForAxisX:(const void *) value
{
    return [self makeGraphicsPerform:@selector(setNumBinsForAxisX:)
				with:value];
}
- setNumBinsForAxisY:(const void *) value
{
    return [self makeGraphicsPerform:@selector(setNumBinsForAxisY:)
				with:value];
}
- setRangeForAxisX:(const void *) value
{
    return [self makeGraphicsPerform:@selector(setRangeForAxisX:) with:value];
}
- setRangeForAxisY:(const void *) value
{
    return [self makeGraphicsPerform:@selector(setRangeForAxisY:) with:value];
}
- setTitle:(const void *) value
{
    return [self makeGraphicsPerform:@selector(setTitle:) with:value];
}
- setTitlesFlag:(const void *) value
{
    return [self makeGraphicsPerform:@selector(setTitlesFlag:) with:value];
}
@end
