ftp.nice.ch/pub/next/science/mathematics/workbench/Histogram.s.tar.gz#/Histogram/ToolAndInspectorProtocols.h

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

// Workbench tool protocol.
@protocol WBTool
- evaluate:sender;
- (char **)requiredConnectors;
- inspector;
- setInputText:text;
- setOutputText:text;
- setOutputViewBox:box;
@end

// Workbench tool inspector protocol.
@protocol WBToolInspector
- (char *)inspectorTitle;
- window;
- revert:sender;
- ok:sender;
@end

@interface OutputViewBox:Box
{
    id	defaultView;
}
- initFrame:(const NXRect *)frameRect;
- insertView:view;
@end

#define OK						0
#define NOTHINGSELECTED			1
#define NOSUCHCOLUMN			2
#define WRONGTYPEOFSELECTION	3
#define TOOMANYCATEGORIES		4
#define UNKNOWNERROR			99

#define DOUBLEDATA		0
#define FLOATDATA		1
#define INTDATA			2
#define STRINGDATA		3

@interface ImprovConnector:Object
{
	char *sheet, *model;
}

- init;

////////////////////////  retrieving data from a given column
- (int)doubleData:(double **)data fromColumn:(char *)columnName 
												dataCount:(int *)numRows;
- (int)floatData:(float **)data fromColumn:(char *)columnName 
												dataCount:(int *)numRows;
- (int)intData:(int **)data fromColumn:(char *)columnName 
												dataCount:(int *)numRows;
- (int)stringData:(char ***)data fromColumn:(char *)columnName 
												dataCount:(int *)numRows;
												
////////////////////////  retrieving data from the selected columns
- (int)doubleData:(double ***)data fromSelectedColumnsCount:(int *)numColumns
								byRows:(BOOL)byRows dataCount:(int *)numRows;													
- (int)floatData:(float ***)data fromSelectedColumnsCount:(int *)numColumns
								byRows:(BOOL)byRows dataCount:(int *)numRows;													
- (int)intData:(int ***)data fromSelectedColumnsCount:(int *)numColumns
								byRows:(BOOL)byRows dataCount:(int *)numRows;													
- (int)stringData:(char ****)data fromSelectedColumnsCount:(int *)numColumns
								byRows:(BOOL)byRows dataCount:(int *)numRows;													


- (int)addColumn:(char *)newColumn afterColumn:(char *)existingColumn;
- (int)fillColumn:(char *)columnName withData:(double *)data 
												dataCount:(int)dataCount;


- (int)dataType:(int)dataType double:(double **)doubleData 
				float:(float **)floatData
				int:(int **)intData 
				string:(char ***)stringData
				fromColumn:(char *)columnName 
				dataCount:(int *)numRows;
- (int)dataType:(int)dataType double:(double ***)doubleData 
				float:(float ***)floatData
				int:(int ***)intData 
				string:(char ****)stringData
				fromSelectedColumnsCount:(int *)numColumns
				byRows:(BOOL)byRows dataCount:(int *)numRows;													
				
- getNames:(char ***)names fromList:(char *)list count:(int *)numNames;
- getRows:(char ***)rowList rowCount:(int *)numRows 
									forColumnCategory:(char *)columnCategory;
- freeData:(void *)data count:(int)count;
- freeStringData:(void *)data counts:(int)count1 :(int)count2;

@end

// MathConnector definitions.
int MLReturnValue;
enum resultTypes {ERROR, INTEGER, REAL, INTEGERLIST, REALLIST, STRING,
		REALMATRIX, DEFINITION, GRAPHICS};
union returnValue
{
	int intVal;
	double	doubleVal;
	char *	stringVal;
};	

typedef struct MLink *MLINK;

@interface MathConnector:Object
{
	MLINK linkPointer;
}

- init;
- (MLINK)initMathConnectionOnHost:(char *)host linkMode:(char *)mode
		linkName:(char *)name linkProtocol:(char *)protocol;
- (MLINK)link;
- (BOOL)evaluateExpression:(char *)string resultType:(int)type
		result:(void**)result;
- (BOOL)evaluateMatrixExpression:(char *)string resultType:(int)type
		result:(void**)result rows:(int *)rows cols:(int *)cols;
@end

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