ftp.nice.ch/pub/next/developer/resources/classes/misckit/MiscKit.1.10.0.s.gnutar.gz#/MiscKit/Temp/Old/MiscMatrix.h

This is MiscMatrix.h in view mode; [Download] [Up]

//
//	MiscMatrix.h -- a class to implement variable-sized matrices
//		Written by Mike Ferris Copyright (c) 1994 by Mike Ferris.
//		Modified from original MOKit "MOMatrix" class by Don Yacktman.
//				Version 1.0.  All rights reserved.
//
//		This notice may not be removed from this source code.
//
//	This object is included in the MiscKit by permission from the author
//	and its use is governed by the MiscKit license, found in the file
//	"LICENSE.rtf" in the MiscKit distribution.  Please refer to that file
//	for a list of all applicable permissions and restrictions.
//	

// MiscMatrix is a subclass of Matrix that allows independantly sizable
// rows and columns.  Each row can have a different height and each column
// can have a different width.

#import <appkit/appkit.h>

typedef struct _MiscColumnSize_ {
	NXCoord		x;
	NXCoord		width;
}  MiscColumnSize;
#define MISC_COLUMNSIZE_DESC		"{ff}"

typedef struct _MiscRowSize_ {
	NXCoord		y;
	NXCoord		height;
}  MiscRowSize;
#define MISC_ROWSIZE_DESC		"{ff}"


@interface MiscMatrix : Matrix
{
	Storage *columnSizes, *rowSizes;
	
}

+ initialize;

- initFrame:(const NXRect *)frm mode:(int)aMode prototype:cellId 
			numRows:(int)rowsHigh numCols:(int)colsWide;
- initFrame:(const NXRect *)frm mode:(int)aMode cellClass:factoryId 
			numRows:(int)rowsHigh numCols:(int)colsWide;

- copyFromZone:(NXZone *)zone;

- free;

- setWidth:(NXCoord)newWidth ofCol:(int)col;
- setHeight:(NXCoord)newHeight ofRow:(int)row;

- sizeToCells;
- sizeToFit;
- sizeRowsToFitCells;
- sizeTo:(NXCoord)width :(NXCoord)height;
  
- renewRows:(int)newRows cols:(int)newCols;

- addCol;
- addRow;
- insertColAt:(int)col;
- insertRowAt:(int)row;
- removeColAt:(int)col andFree:(BOOL)flag;
- removeRowAt:(int)row andFree:(BOOL)flag;

- drawSelf:(const NXRect *)rects :(int)rectCount;

- getCellFrame:(NXRect *)theRect at:(int)row :(int)col;
- getRow:(int *)row andCol:(int *)col forPoint:(const NXPoint *)aPoint;

- setIntercell:(const NXSize *)aSize;

- write:(NXTypedStream *)typedStream;
- read:(NXTypedStream *)typedStream;

@end

@interface Storage(MiscLastElementCategory)
	
- (void *)lastElement;

@end

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.