This is ToolAndInspectorProtocols.h in view mode; [Download] [Up]
// ToolAndInspectorProtocols.h
// By Charles G. Fleming, Educational Computing Services, Allegheny College.
// Copyright 1993, Allegheny College.
// You may freely copy, distribute and reuse this code.
// Allegheny College and the author disclaim any warranty of any kind,
// expressed or implied, as to its fitness for any particular use.
// Workbench tool protocol.
@protocol WBTool
- evaluate:sender;
- (char **)requiredConnectors;
- inspector;
- setInputText:text;
- setOutputText:text;
@end
// Workbench tool inspector protocol.
@protocol WBToolInspector
- (char *)inspectorTitle;
- window;
- revert:sender;
- ok:sender;
@end
// Improv Connector definitions.
// Return codes.
#define WB_OK 0
#define WB_NOTHINGSELECTED 1
#define WB_NOSUCHCOLUMN 2
#define WB_WRONGTYPEOFSELECTION 3
#define WB_TOOMANYCATEGORIES 4
#define WB_WRONGCELLTYPE 5
#define WB_NOTENOUGHCOLUMNS 6
#define WB_UNKNOWNERROR 99
// Data types.
#define WB_DOUBLEDATA 0
#define WB_FLOATDATA 1
#define WB_INTDATA 2
#define WB_STRINGDATA 3
// Handling of empty and non-numeric cells.
#define WB_ZERO 0
#define WB_SKIP 1
#define WB_ERROR 2
@interface ImprovConnector:Object
{
char *sheet, *model;
int emptyCellHandling, textCellHandling;
}
- init;
- setCellHandlingForEmpty:(int)handlingForEmpty text:(int)handlingForText;
- (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;
- (int)dataType:(int)dataType double:(double **)doubleData
float:(float **)floatData
int:(int **)intData
string:(char ***)stringData
fromColumn:(char *)columnName
dataCount:(int *)numRows;
- (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)dataType:(int)dataType double:(double ***)doubleData
float:(float ***)floatData
int:(int ***)intData
string:(char ****)stringData
fromSelectedColumnsCount:(int *)numColumns
byRows:(BOOL)byRows dataCount:(int *)numRows;
- (int)fillColumnsCount:(int)numColumns startingAt:(char *)columnName
withDoubleData:(double **)data
byRows:(BOOL)byRows dataCount:(int)numRows;
- (int)fillColumnsCount:(int)numColumns startingAt:(char *)columnName
withFloatData:(float **)data
byRows:(BOOL)byRows dataCount:(int)numRows;
- (int)fillColumnsCount:(int)numColumns startingAt:(char *)columnName
withIntData:(int **)data
byRows:(BOOL)byRows dataCount:(int)numRows;
- (int)fillColumnsCount:(int)numColumns startingAt:(char *)columnName
withStringData:(char ***)data
byRows:(BOOL)byRows dataCount:(int)numRows;
- (int)fillColumnsCount:(int)numColumns startingAt:(char *)columnName
withDataType:(int)dataType double:(double **)doubleData
float:(float **)floatData int:(int **)intData
string:(char ***)stringData
byRows:(BOOL)byRows dataCount:(int)numRows;
- (int)addColumns:(char **)newColumns count:(int)numColumns
afterColumn:(char *)existingColumn;
- (int)getSelectedColumnNames:(char ***)columnNames count:(int *)numColumns;
- (int)makeNewWorksheet:(char *)worksheetName numRows:(int)numRows
numCols:(int)numColumns rowNames:(char **)rowNames
colNames:(char **)columnNames;
- getNames:(char ***)names fromList:(char *)list count:(int *)numNames;
- (int)getRows:(char ***)rowList rowCount:(int *)numRows
forColumnCategory:(char *)columnCategory;
- (int)handleCell:(int)cellType forData:(int)dataType;
- deleteTrailingZeros:(char *)formattedNumber;
- 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.