This is ToolAndInspectorProtocols.h in view mode; [Download] [Up]
// ToolAndInspectorProtocols.h // By Charles G. Fleming and Judy D. Halchin, 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; - 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 // 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.