This is imxPublicAPI.h in view mode; [Download] [Up]
/* * L o t u s I m p r o v * * Filename: imxPublicAPI.h * Created: Oct 16, 1990 * Author: Curt Gridley * Description: public Improv API interface * * Copyright (c) Lotus Development Corporation 1990, 1991 */ #if !defined(IMXPUBLICAPI_H) #define IMXPUBLICAPI_H // // Status codes returned by most API calls. // #define IMX_ERRORS_PER_SUBSYS (1024) #define IMX_ERR_BASE (6 * IMX_ERRORS_PER_SUBSYS) typedef enum imxerrorcode_enum { imxerr_OK = 0, imxerr_UNKNOWN = -(IMX_ERR_BASE + IMX_ERRORS_PER_SUBSYS - 1), imxerr_MSG_ERROR, imxerr_CMD_NYI, imxerr_INVALID_CMD, imxerr_DISABLED_CMD, imxerr_MODEL_NOT_FOUND, imxerr_SHEET_NOT_FOUND, imxerr_VIEW_NOT_FOUND, imxerr_CELL_NOT_FOUND, imxerr_ITEM_NOT_FOUND, imxerr_RANGE_NOT_FOUND, imxerr_CATEGORY_NOT_FOUND, imxerr_FORMULA_NOT_FOUND, imxerr_PRESENTATION_NOT_FOUND, imxerr_FILE_NOT_FOUND, imxerr_NO_SELECTION, imxerr_SELECTION_TYPE, imxerr_SELECTION_MODIFIER, imxerr_MULTIPLE_SELECTION, imxerr_CELL_TYPE, imxerr_BAD_ARG, imxerr_BAD_RANGE, imxerr_BAD_AXIS, imxerr_BAD_REDUCTION, imxerr_BAD_FORMAT_MODE, imxerr_BAD_ALIGNMENT, imxerr_BAD_LINESTYLE, imxerr_BAD_FONT, imxerr_BAD_FORMAT, imxerr_BAD_COLOR, imxerr_BAD_FILENAME, imxerr_BAD_FILLTYPE, imxerr_BAD_PASTEMETHOD, imxerr_BAD_WDWTYPE, imxerr_NO_SUMMARY, imxerr_ZONE_FULL, imxerr_OS_WORLD, imxerr_DATA_WORLD, imxerr_FORMULA_WORLD, imxerr_IMPORT_EXPORT_WORLD, imxerr_HELP_WORLD, imxerr_LAST_ERROR_CODE // This should always be last entry } imxErrorCode; // Values accepted for the type argument of GetCellValue and SetCellValue // calls. typedef enum imxcelltype_enum { cval_NUMBER = 0, cval_TEXT, cval_EMPTY, cval_NA, cval_ERR, cval_LAST_ENTRY // must be last enum element } imxCellType; // Values accepted for the zone argument of SetCategoryZone typedef enum imxdpzone_enum { zone_row = 0, zone_column, zone_page, zone_LAST_ENTRY // must be last enum element } imxDPZone; // Values accepted for the position argument of AddItem. typedef enum imxposition_enum { ipos_BEFORE = 0, ipos_AFTER, ipos_LAST_ENTRY // must be last enum element } imxPosition; // Values returned for the arg of GetFormulaStatus. typedef enum imxfmstat_enum { fmstat_OKAY, // cells computed normally fmstat_SHAPE, // LHS doesn't match RHS fmstat_ERROR, // compilation problems fmstat_OVERLAP, // LHS overlaps with another formula fmstat_UNKNOWN, // hasn't been compiled yet fmstat_COMMENT, // white space and comments only fmstat_EMPTY, // no formula text fmstat_LAST_ENTRY // must be last enum element } imxFMState; // Summary types accepted for the SummarizeGroup call. typedef enum imxgrpsummary_enum { grpsum_TOTAL = 0, // Total of summarized items grpsum_AVERAGE, // Average grpsum_MIN, // Minimum grpsum_MAX, // Maximum grpsum_DEVIATION, // Standard deviation grpsum_COUNT, // Count grpsum_CUSTOM, // Custom (no formula generated) grpsum_LAST_ENTRY // must be last enum element } imxGrpSummary; // Selection types returned and accepted by Selection related calls. typedef enum imxseltype_enum { imxsel_EMPTY = 0, imxsel_CELL, imxsel_ITEM, imxsel_LABELSONLY, imxsel_RANGE, imxsel_CATEGORY, imxsel_FORMULA, imxsel_VIEW, imxsel_PRESENTATION, imxsel_SHEET, imxsel_LAST_ENTRY // must be last enum element } imxSelType; // Model states returned (used as bit masks) typedef enum imxmodelstate_enum { modstat_NONE=0, modstat_DIRTY=1, modstat_BACKUP=2 } imxModelState; // Formatting enums. typedef enum imxcolor_enum { color_DEFAULT, color_NONE, color_BLACK, color_DKGRAY, color_LTGRAY, color_WHITE, color_LAST_ENTRY // must be last enum element } imxColor; typedef enum imxalign_enum { align_DEFAULT, align_NONE, align_SMART, align_LEFT, align_CENTERED, align_RIGHT, align_LAST_ENTRY // must be last enum element } imxAlign; typedef enum imxlinestyle_enum { linestyle_DEFAULT, linestyle_NONE, linestyle_NOLINE, linestyle_SOLID, linestyle_DOTTED, linestyle_DASHED, linestyle_DOUBLE, linestyle_LONGDOT, linestyle_LONGDASH, linestyle_LAST_ENTRY // must be last enum element } imxLineStyle; typedef enum imxlinewidth_enum { linewidth_DEFAULT, linewidth_NONE, linewidth_THINNEST, linewidth_THIN, linewidth_MEDIUM, linewidth_THICK, linewidth_LAST_ENTRY // must be last enum element } imxLineWidth; typedef enum imxfmtmode_enum { fmtmode_DEFAULT, fmtmode_NUMBER, fmtmode_CUSTOMNUMBER, fmtmode_DATE, fmtmode_LAST_ENTRY // must be last enum element } imxFormatMode; typedef enum fmtflags_enum { fmtflag_NONE=0, fmtflag_CURRENCY=1, fmtflag_COMMAS=2, fmtflag_PARENTHESES=4, fmtflag_EXPONENT=8, fmtflag_PERCENT=16, fmtflag_GENERAL=32 } imxFormatFlags; typedef enum fontflags_enum { fontflag_DEFAULT=1, fontflag_NAME=2, fontflag_SIZE=4 } imxFontFlags; typedef enum pastemethod_enum { pastemethod_REPLACE, pastemethod_ADD, pastemethod_SUBTRACT, pastemethod_EMPTY_ONLY, pastemethod_LAST_ENTRY // must be last enum element } imxPasteMethod; typedef enum filltype_enum { filltype_LINEAR, filltype_GEOMETRIC, filltype_DAYS, filltype_WEEKS, filltype_MONTHS, filltype_YEARS, filltype_LAST_ENTRY // must be last enum element } imxFillType; typedef enum wdwtype_enum { wdwtype_INFOPANEL, wdwtype_MBROWSER, wdwtype_DATAFILLPANEL, wdwtype_FONTPANEL, wdwtype_FORMATPANEL, wdwtype_VIEWINSPECTOR, wdwtype_LAST_ENTRY // must be last enum element } imxWindowType; typedef enum imxcmdcode_enum { imxcmd_NONE = 0, imxcmd_NEWMODEL = 1, imxcmd_NEWSHEET = 2, imxcmd_NEWVIEW = 3, imxcmd_CUT = 4, imxcmd_COPY = 5, imxcmd_COPYASGRAPH = 6, imxcmd_PASTE = 7, imxcmd_DELETE = 8, imxcmd_ADD = 9, imxcmd_SELALL = 10, imxcmd_SELITEMS = 11, imxcmd_SELCELLS = 12, imxcmd_HIDEITEMS = 13, imxcmd_UNHIDEITEMS = 14, imxcmd_SHOWALL = 15, imxcmd_SWAPBORDER = 16, imxcmd_GROUPITEMS = 17, imxcmd_UNGROUPITEMS = 18, imxcmd_EXPANDGROUP = 19, imxcmd_COLLAPSEGROUP = 20, imxcmd_SHOWHELP = 21, imxcmd_CLOSEMODEL = 22, imxcmd_REVERTMODEL =23, imxcmd_CHECKFORMULA = 24, imxcmd_NEWGRAPH = 25, imxcmd_ADDGRAPH = 26, imxcmd_REPLACEGRAPH = 27, imxcmd_ADDSERIES = 28, imxcmd_MARK = 29, imxcmd_ADDPAGEBREAK = 30, imxcmd_CLEARPAGEBREAK = 31, imxcmd_RECALC = 32, imxcmd_QUITAPP = 33, imxcmd_HIDEAPP = 34, imxcmd_UNHIDEAPP = 35, imxcmd_LASTCMD } imxCmdCode; // Used as bit masks typedef enum imxsort_enum { imxsort_ALLUPNOCASE = 0, imxsort_DOWN1 = 1, imxsort_CASE1 = 2, imxsort_DOWN2 = 4, imxsort_CASE2 = 8, imxsort_DOWN3 = 16, imxsort_CASE3 = 32 } imxSortFlags; // Used as bit masks typedef enum imxgridopts_enum { imxgrid_CELLGRID = 1, imxgrid_ITEMGRID = 2, imxgrid_ROWLINES = 4, imxgrid_COLUMNLINES = 8, imxgrid_PAGELINES = 16, imxgrid_ROWDIVIDER = 32, imxgrid_COLUMNDIVIDER = 64 } imxGridOptions; // Used as bit masks typedef enum imxlayopts_enum { imxlay_ITEMMARKERS = 1, imxlay_GROUPMARKERS = 2, imxlay_PAGEBREAKS = 4, imxlay_SHOWROWS = 8, imxlay_SHOWCOLUMNS = 16, imxlay_SHOWPAGES = 32, imxlay_OUTLINE = 64 } imxLayoutOptions; // Used as bit masks typedef enum imxfmopts_enum { imxfm_AUTORECALC = 1, imxfm_AUTOCHECK = 2, imxfm_SHOWERRORS = 4 } imxFormulaOptions; // Used as bit masks typedef enum imxprefs_enum { imxpref_NONE = 0, imxpref_SHOWALLFILES = 1, imxpref_RETAINBACKUPS = 2, imxpref_AUTOFORMATCELLS = 4, imxpref_SHOWWARNINGS = 8, imxpref_GLOBALSTYLES = 16, imxpref_AUTOLAUNCHPB = 32 } imxPrefFlags; typedef enum imxgrafs_enum { imxgraf_LINEGRAPH = 0, imxgraf_BARGRAPH = 1, imxgraf_SCATTERGRAPH = 2, imxgraf_PIEGRAPH = 3, imxgraf_AREAGRAPH = 4, imxgraf_STOCKGRAPH = 5, imxgraf_3DBARGRAPH = 7 } imxGraphType; typedef enum imxorder_enum { imxorder_BYROWS, imxorder_BYCOLS, imxorder_SMART } imxDataOrder; // // Indentifies a single cell via indices and category names // for a particular category ordering derived from a view // #define MAXDPZONES 3 #define MAXCATSPERDPZONE 4 #define MAXCATS (MAXDPZONES*MAXCATSPERDPZONE) typedef struct imxvcell_struct { char * category[MAXDPZONES][MAXCATSPERDPZONE]; short index[MAXDPZONES][MAXCATSPERDPZONE]; } imxVCell; // // Methods to save and update (recalc and redisplay) a particular model. // imxErrorCode imxOpenModel(char *modelName); imxErrorCode imxSaveModel(char *modelName, char *fileName); imxErrorCode imxUpdateModel(char *modelName); imxErrorCode imxGetModelInfo(char **fileName, imxModelState *modelStatus, char *modelName); imxErrorCode imxGetVersion(char **revision); // // Miscellaneous functions to manage the S/L link. // imxErrorCode imxGetErrorText(char **etext, imxErrorCode ecode); imxErrorCode imxActivateApp(int force); // // Methods to query and set the current selection for a particular // view/sheet/model. These commands are useful in combination with // imxCmdExec(). imxGetSelRangeInfo() can be used to find out // the indices within a category of the selection endpoint items, along // with the category layout of a particular DP selection. // This info is useful for doing iteration over items/cells. // GetLabelList() returns a list of row/column/page labels for the // current DP selection. This info is necessary to create an iterator // for a CELL selection that is capable of stepping over hidden items. // imxErrorCode imxGetSelection(char **primName, imxSelType *seltype, char **viewName, char **sheetName, char **modelName); imxErrorCode imxSetSelection(char *primName, imxSelType seltype, char *viewName, char *sheetName, char *modelName); imxErrorCode imxGetSelRangeInfo(imxVCell **corner1, imxVCell **corner2); // // Routines for manipulating Cell data // imxErrorCode imxGetCellValue(char *cellName, imxCellType *cellType, double *cellNVal, char **cellSVal, char *sheetName, char *modelName); imxErrorCode imxGetFormattedCellValue(char *cellName, imxCellType *cellType, char **formattedValue, char* viewName, char *sheetName, char *modelName); imxErrorCode imxSetCellValue(char *cellName, imxCellType cellType, double cellNVal, char *cellSVal, char *sheetName, char *modelName); imxErrorCode imxSetFormattedCellValue(char *cellVal, char *cellName, char *sheetName, char *modelName); imxErrorCode imxDataFill(imxFillType method, imxDPZone order, char *start, char *step, char *end); imxErrorCode imxPasteSpecial(imxPasteMethod method, int values, int styles, int transpose); // // Worksheet structure related commands // imxErrorCode imxAddItems(char *itemNames, int count, imxPosition position); imxErrorCode imxSummarizeGroup(imxGrpSummary redux); imxErrorCode imxGetSummaryItem(char **sumItemName, char *groupName, char *sheetName, char *modelName); imxErrorCode imxGetSelLabelList(char **labelNames, imxDPZone dimzone); imxErrorCode imxSortItemsByName(imxSortFlags sortFlags); imxErrorCode imxSortItemsByKeys(char *keyItem1, char *keyItem2, char *keyItem3, imxSortFlags sortFlags); imxErrorCode imxSetCategoryPosition(imxDPZone dimzone, int dimpos); imxErrorCode imxGetLevelSize(char *itemName, int *size); imxErrorCode imxSetLevelSize(char *itemName, int size); imxErrorCode imxGetItemSize(int *size); imxErrorCode imxSetItemSize(int size); imxErrorCode imxGetGridOptions(imxGridOptions *optionFlags, int *categoryPosition); imxErrorCode imxSetGridOptions(imxGridOptions optionFlags, int categoryPosition); imxErrorCode imxGetLayoutOptions(imxLayoutOptions *optionFlags); imxErrorCode imxSetLayoutOptions(imxLayoutOptions optionFlags); // // Simple menu related commands // imxErrorCode imxCmdEnabled(imxCmdCode cmdcode); imxErrorCode imxCmdExec(imxCmdCode cmdcode); imxErrorCode imxOpenPanel(imxWindowType panel); // // Formula related commands // imxErrorCode imxResolveOverlap(int flag, int fmNum, char *sheetName, char *modelName); imxErrorCode imxGetFormulaStatus(imxFMState *fmstatP, int fmNum, char *sheetName, char *modelName); imxErrorCode imxGetFormulaText(char **fmText, int fmNum, char *sheetName, char *modelName); imxErrorCode imxSetFormulaText(char *fmText, int fmNum, char *sheetName, char *modelName); imxErrorCode imxGetFormulasForCell(char **fmNumList, char *cellName, char *sheetName, char *modelName); imxErrorCode imxGetFormulaOptions(imxFormulaOptions *optionFlags, int *iterations); imxErrorCode imxSetFormulaOptions(imxFormulaOptions optionFlags, int iterations); // // Model Browser related commands // imxErrorCode imxGetViewNote(char **noteText, imxSelType seltype, char *primName, char *sheetName, char *modelName); imxErrorCode imxSetViewNote(char *noteText, imxSelType seltype, char *primName, char *sheetName, char *modelName); imxErrorCode imxOpenViews(char *primNames, imxSelType seltype, char *sheetName, char *modelName); imxErrorCode imxCopyViews(char *primNames, imxSelType seltype, char *sheetName, char *modelName); imxErrorCode imxDeleteViews(char *primNames, imxSelType seltype, char *sheetName, char *modelName); imxErrorCode imxRename(char *newName, imxSelType seltype, char *primName, char *sheetName, char *modelName); // // Query functions useful for various iterators. // Most of these functions return lists of names // as a single text string, with one name per line (i.e. the names are // separated by a newline character). // imxErrorCode imxGetModelList(char **modelNames); imxErrorCode imxGetSheetList(char **sheetNames, char *modelName); imxErrorCode imxGetViewList(char **viewNames, char *sheetName, char *modelName); imxErrorCode imxGetCategoryList(char **catNames, char *sheetName, char *modelName); imxErrorCode imxGetPresentationList(char **pNames, char *modelName); imxErrorCode imxGetItemInfo(char **parentName, char **child1, char **childN, char *itemName, char *sheetName, char *modelName); imxErrorCode imxGetItemRangeInfo(char **parentName, char **itemList, char *itemRange, char *sheetName, char *modelName); // // Format and Font related commands // imxErrorCode imxSetCellFormat(imxFormatMode mode, imxFormatFlags formatFlag, int decPlaces, char *metastring); imxErrorCode imxGetCellFormat(imxFormatMode *mode, imxFormatFlags *formatFlag, int *decimalPlaces, char **metastring); imxErrorCode imxSetDefaultCellFormat(imxFormatMode mode, imxFormatFlags formatFlag, int decPlaces, char *metastring); imxErrorCode imxGetDefaultCellFormat(imxFormatMode *mode, imxFormatFlags *formatFlag, int *decimalPlaces, char **metastring); imxErrorCode imxSetAlignment(imxAlign alignment); imxErrorCode imxGetAlignment(imxAlign *alignment); imxErrorCode imxSetDefaultAlignment(imxAlign alignment); imxErrorCode imxGetDefaultAlignment(imxAlign *alignment); imxErrorCode imxSetLineStyle(imxLineStyle style, imxLineWidth width, imxColor color); imxErrorCode imxGetLineStyle(imxLineStyle *style, imxLineWidth *width, imxColor *color); imxErrorCode imxSetDefaultLineStyle(imxLineStyle style, imxLineWidth width, imxColor color); imxErrorCode imxGetDefaultLineStyle(imxLineStyle *style, imxLineWidth *width, imxColor *color); imxErrorCode imxSetColor(imxColor foreground, imxColor background); imxErrorCode imxGetColor(imxColor *foreground, imxColor *background); imxErrorCode imxSetDefaultColor(imxColor foreground, imxColor background); imxErrorCode imxGetDefaultColor(imxColor *foreground, imxColor *background); imxErrorCode imxSetFont(imxFontFlags fontFlags, const char *fontname, float fontsize); imxErrorCode imxGetFont(imxFontFlags *fontFlags, const char **fontname, float *fontsize); imxErrorCode imxSetDefaultFont(imxFontFlags fontFlags, const char* fontname, float fontsize); imxErrorCode imxGetDefaultFont(imxFontFlags *fontFlags, const char **fontname, float *fontsize); int iimxSplitNames(char *itemNames, char ***pNameVecP); void iimxFreeNames(char **nameVecP); #endif // IMXPUBLICAPI_H
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.