/* 
 * RZTabStop - support object for the RZBrowserCell that represents
 * 	a L/R justified or proportional tab-stop
 *
 * You may freely copy, distribute and reuse the code in this example.
 * This code is provided AS IS without warranty of any kind, expressed 
 * or implied, as to its fitness for any particular use.
 *
 * Copyright 1995 Ralph Zazula (rzazula@next.com).  All Rights Reserved.
 *
 */

#import "RZTabStop.h"

@implementation RZTabStop

- init
{
	return [self notImplemented:_cmd];
}

- initFixed:(float)pos
{
	return [self initPosition:pos fixed:YES min:0.0 max:0.0];
}

- initProportional:(float)pos min:(float)mn max:(float)mx
{
	return [self initPosition:pos fixed:NO min:mn max:mx];
}

- initPosition:(float)pos fixed:(BOOL)fix min:(float)mn max:(float)mx
{
	if(self = [super init]) {
		position = pos;
		fixed = fix;
		min = mn;
		max = mx;
	}
	return self;
}

- (float)position			{ return position; }
- (float)min				{ return min; }
- (float)max				{ return max; }
- (BOOL)fixed				{ return fixed; }

- write:(NXTypedStream *)ts
{
	[super write:ts];
	NXWriteTypes(ts, "fffc", &position, &min, &max, &fixed);
	return self;
}

- read:(NXTypedStream *)ts
{
	[super read:ts];
	NXReadTypes(ts, "fffc", &position, &min, &max, &fixed);
	return self;
}

@end
