#ifndef LIBXL_ISHEETT_H #define LIBXL_ISHEETT_H #include "setup.h" #include "enum.h" namespace libxl { template struct IFormatT; template struct IAutoFilterT; template struct ISheetT { virtual CellType XLAPIENTRY cellType(int row, int col) const = 0; virtual bool XLAPIENTRY isFormula(int row, int col) const = 0; virtual IFormatT* XLAPIENTRY cellFormat(int row, int col) const = 0; virtual void XLAPIENTRY setCellFormat(int row, int col, IFormatT* format) = 0; virtual const TCHAR* XLAPIENTRY readStr(int row, int col, IFormatT** format = 0) = 0; virtual bool XLAPIENTRY writeStr(int row, int col, const TCHAR* value, IFormatT* format = 0, CellType type = CELLTYPE_STRING) = 0; virtual double XLAPIENTRY readNum(int row, int col, IFormatT** format = 0) const = 0; virtual bool XLAPIENTRY writeNum(int row, int col, double value, IFormatT* format = 0) = 0; virtual bool XLAPIENTRY readBool(int row, int col, IFormatT** format = 0) const = 0; virtual bool XLAPIENTRY writeBool(int row, int col, bool value, IFormatT* format = 0, int errCode = ERRORTYPE_NOERROR) = 0; virtual bool XLAPIENTRY readBlank(int row, int col, IFormatT** format) const = 0; virtual bool XLAPIENTRY writeBlank(int row, int col, IFormatT* format) = 0; virtual const TCHAR* XLAPIENTRY readFormula(int row, int col, IFormatT** format = 0) = 0; virtual bool XLAPIENTRY writeFormula(int row, int col, const TCHAR* expr, IFormatT* format = 0) = 0; virtual bool XLAPIENTRY writeFormulaNum(int row, int col, const TCHAR* expr, double value, IFormatT* format = 0) = 0; virtual bool XLAPIENTRY writeFormulaStr(int row, int col, const TCHAR* expr, const TCHAR* value, IFormatT* format = 0) = 0; virtual bool XLAPIENTRY writeFormulaBool(int row, int col, const TCHAR* expr, bool value, IFormatT* format = 0) = 0; virtual const TCHAR* XLAPIENTRY readComment(int row, int col) const = 0; virtual void XLAPIENTRY writeComment(int row, int col, const TCHAR* value, const TCHAR* author = 0, int width = 129, int height = 75) = 0; virtual void XLAPIENTRY removeComment(int row, int col) = 0; virtual bool XLAPIENTRY isDate(int row, int col) const = 0; virtual ErrorType XLAPIENTRY readError(int row, int col) const = 0; virtual void XLAPIENTRY writeError(int row, int col, ErrorType error, IFormatT* format = 0) = 0; virtual double XLAPIENTRY colWidth(int col) const = 0; virtual double XLAPIENTRY rowHeight(int row) const = 0; virtual bool XLAPIENTRY setCol(int colFirst, int colLast, double width, IFormatT* format = 0, bool hidden = false) = 0; virtual bool XLAPIENTRY setRow(int row, double height, IFormatT* format = 0, bool hidden = false) = 0; virtual bool XLAPIENTRY rowHidden(int row) const = 0; virtual bool XLAPIENTRY setRowHidden(int row, bool hidden) = 0; virtual bool XLAPIENTRY colHidden(int col) const = 0; virtual bool XLAPIENTRY setColHidden(int col, bool hidden) = 0; virtual bool XLAPIENTRY getMerge(int row, int col, int* rowFirst, int* rowLast, int* colFirst, int* colLast) = 0; virtual bool XLAPIENTRY setMerge(int rowFirst, int rowLast, int colFirst, int colLast) = 0; virtual bool XLAPIENTRY delMerge(int row, int col) = 0; virtual int XLAPIENTRY mergeSize() const = 0; virtual bool XLAPIENTRY merge(int index, int* rowFirst, int* rowLast, int* colFirst, int* colLast) = 0; virtual bool XLAPIENTRY delMergeByIndex(int index) = 0; virtual int XLAPIENTRY pictureSize() const = 0; virtual int XLAPIENTRY getPicture(int index, int* rowTop = 0, int* colLeft = 0, int* rowBottom = 0, int* colRight = 0, int* width = 0, int* height = 0, int* offset_x = 0, int* offset_y = 0, const TCHAR** linkPath = 0) const = 0; virtual void XLAPIENTRY setPicture(int row, int col, int pictureId, double scale = 1.0, int offset_x = 0, int offset_y = 0, Position pos = POSITION_MOVE_AND_SIZE) = 0; virtual void XLAPIENTRY setPicture2(int row, int col, int pictureId, int width = -1, int height = -1, int offset_x = 0, int offset_y = 0, Position pos = POSITION_MOVE_AND_SIZE) = 0; virtual int XLAPIENTRY getHorPageBreak(int index) const = 0; virtual int XLAPIENTRY getHorPageBreakSize() const = 0; virtual int XLAPIENTRY getVerPageBreak(int index) const = 0; virtual int XLAPIENTRY getVerPageBreakSize() const = 0; virtual bool XLAPIENTRY setHorPageBreak(int row, bool pageBreak = true) = 0; virtual bool XLAPIENTRY setVerPageBreak(int col, bool pageBreak = true) = 0; virtual void XLAPIENTRY split(int row, int col) = 0; virtual bool XLAPIENTRY splitInfo(int* row, int* col) const = 0; virtual bool XLAPIENTRY groupRows(int rowFirst, int rowLast, bool collapsed = true) = 0; virtual bool XLAPIENTRY groupCols(int colFirst, int colLast, bool collapsed = true) = 0; virtual bool XLAPIENTRY groupSummaryBelow() const = 0; virtual void XLAPIENTRY setGroupSummaryBelow(bool below) = 0; virtual bool XLAPIENTRY groupSummaryRight() const = 0; virtual void XLAPIENTRY setGroupSummaryRight(bool right) = 0; virtual bool XLAPIENTRY clear(int rowFirst = 0, int rowLast = 1048575, int colFirst = 0, int colLast = 16383) = 0; virtual bool XLAPIENTRY insertCol(int colFirst, int colLast) = 0; virtual bool XLAPIENTRY insertRow(int rowFirst, int rowLast) = 0; virtual bool XLAPIENTRY removeCol(int colFirst, int colLast) = 0; virtual bool XLAPIENTRY removeRow(int rowFirst, int rowLast) = 0; virtual bool XLAPIENTRY copyCell(int rowSrc, int colSrc, int rowDst, int colDst) = 0; virtual int XLAPIENTRY firstRow() const = 0; virtual int XLAPIENTRY lastRow() const = 0; virtual int XLAPIENTRY firstCol() const = 0; virtual int XLAPIENTRY lastCol() const = 0; virtual bool XLAPIENTRY displayGridlines() const = 0; virtual void XLAPIENTRY setDisplayGridlines(bool show = true) = 0; virtual bool XLAPIENTRY printGridlines() const = 0; virtual void XLAPIENTRY setPrintGridlines(bool print = true) = 0; virtual int XLAPIENTRY zoom() const = 0; virtual void XLAPIENTRY setZoom(int zoom) = 0; virtual int XLAPIENTRY printZoom() const = 0; virtual void XLAPIENTRY setPrintZoom(int zoom) = 0; virtual bool XLAPIENTRY getPrintFit(int* wPages, int* hPages) const = 0; virtual void XLAPIENTRY setPrintFit(int wPages = 1, int hPages = 1) = 0; virtual bool XLAPIENTRY landscape() const = 0; virtual void XLAPIENTRY setLandscape(bool landscape = true) = 0; virtual Paper XLAPIENTRY paper() const = 0; virtual void XLAPIENTRY setPaper(Paper paper = PAPER_DEFAULT) = 0; virtual const TCHAR* XLAPIENTRY header() const = 0; virtual bool XLAPIENTRY setHeader(const TCHAR* header, double margin = 0.5) = 0; virtual double XLAPIENTRY headerMargin() const = 0; virtual const TCHAR* XLAPIENTRY footer() const = 0; virtual bool XLAPIENTRY setFooter(const TCHAR* footer, double margin = 0.5) = 0; virtual double XLAPIENTRY footerMargin() const = 0; virtual bool XLAPIENTRY hCenter() const = 0; virtual void XLAPIENTRY setHCenter(bool hCenter = true) = 0; virtual bool XLAPIENTRY vCenter() const = 0; virtual void XLAPIENTRY setVCenter(bool vCenter = true) = 0; virtual double XLAPIENTRY marginLeft() const = 0; virtual void XLAPIENTRY setMarginLeft(double margin) = 0; virtual double XLAPIENTRY marginRight() const = 0; virtual void XLAPIENTRY setMarginRight(double margin) = 0; virtual double XLAPIENTRY marginTop() const = 0; virtual void XLAPIENTRY setMarginTop(double margin) = 0; virtual double XLAPIENTRY marginBottom() const = 0; virtual void XLAPIENTRY setMarginBottom(double margin) = 0; virtual bool XLAPIENTRY printRowCol() const = 0; virtual void XLAPIENTRY setPrintRowCol(bool print = true) = 0; virtual bool XLAPIENTRY printRepeatRows(int* rowFirst, int* rowLast) = 0; virtual void XLAPIENTRY setPrintRepeatRows(int rowFirst, int rowLast) = 0; virtual bool XLAPIENTRY printRepeatCols(int* colFirst, int* colLast) = 0; virtual void XLAPIENTRY setPrintRepeatCols(int colFirst, int colLast) = 0; virtual bool XLAPIENTRY printArea(int* rowFirst, int* rowLast, int* colFirst, int* colLast) = 0; virtual void XLAPIENTRY setPrintArea(int rowFirst, int rowLast, int colFirst, int colLast) = 0; virtual void XLAPIENTRY clearPrintRepeats() = 0; virtual void XLAPIENTRY clearPrintArea() = 0; virtual bool XLAPIENTRY getNamedRange(const TCHAR* name, int* rowFirst, int* rowLast, int* colFirst, int* colLast, int scopeId = SCOPE_UNDEFINED, bool* hidden = 0) = 0; virtual bool XLAPIENTRY setNamedRange(const TCHAR* name, int rowFirst, int rowLast, int colFirst, int colLast, int scopeId = SCOPE_UNDEFINED, bool hidden = false) = 0; virtual bool XLAPIENTRY delNamedRange(const TCHAR* name, int scopeId = SCOPE_UNDEFINED) = 0; virtual int XLAPIENTRY namedRangeSize() const = 0; virtual const TCHAR* XLAPIENTRY namedRange(int index, int* rowFirst, int* rowLast, int* colFirst, int* colLast, int* scopeId = 0, bool* hidden = 0) = 0; virtual int XLAPIENTRY tableSize() const = 0; virtual const TCHAR* XLAPIENTRY table(int index, int* rowFirst, int* rowLast, int* colFirst, int* colLast, int* headerRowCount, int* totalsRowCount) = 0; virtual int XLAPIENTRY hyperlinkSize() const = 0; virtual const TCHAR* XLAPIENTRY hyperlink(int index, int* rowFirst, int* rowLast, int* colFirst, int* colLast) = 0; virtual bool XLAPIENTRY delHyperlink(int index) = 0; virtual void XLAPIENTRY addHyperlink(const TCHAR* hyperlink, int rowFirst, int rowLast, int colFirst, int colLast) = 0; virtual IAutoFilterT* XLAPIENTRY autoFilter() = 0; virtual void XLAPIENTRY applyFilter() = 0; virtual void XLAPIENTRY removeFilter() = 0; virtual const TCHAR* XLAPIENTRY name() const = 0; virtual void XLAPIENTRY setName(const TCHAR* name) = 0; virtual bool XLAPIENTRY protect() const = 0; virtual void XLAPIENTRY setProtect(bool protect = true, const TCHAR* password = 0, EnhancedProtection prot = PROT_DEFAULT) = 0; virtual SheetState XLAPIENTRY hidden() const = 0; virtual bool XLAPIENTRY setHidden(SheetState state = SHEETSTATE_HIDDEN) = 0; virtual void XLAPIENTRY getTopLeftView(int* row, int* col) const = 0; virtual void XLAPIENTRY setTopLeftView(int row, int col) = 0; virtual bool XLAPIENTRY rightToLeft() const = 0; virtual void XLAPIENTRY setRightToLeft(bool rightToLeft = true) = 0; virtual void XLAPIENTRY setAutoFitArea(int rowFirst = 0, int colFirst = 0, int rowLast = -1, int colLast = -1) = 0; virtual void XLAPIENTRY addrToRowCol(const TCHAR* addr, int* row, int* col, bool* rowRelative = 0, bool* colRelative = 0) = 0; virtual const TCHAR* XLAPIENTRY rowColToAddr(int row, int col, bool rowRelative = true, bool colRelative = true) = 0; virtual void XLAPIENTRY setTabColor(Color color) = 0; virtual void XLAPIENTRY setTabColor(int red, int green, int blue) = 0; virtual bool XLAPIENTRY addIgnoredError(int rowFirst, int colFirst, int rowLast, int colLast, IgnoredError iError) = 0; virtual void XLAPIENTRY addDataValidation(DataValidationType type, DataValidationOperator op, int rowFirst, int rowLast, int colFirst, int colLast, const TCHAR* value1, const TCHAR* value2 = 0, bool allowBlank = true, bool hideDropDown = false, bool showInputMessage = true, bool showErrorMessage = true, const TCHAR* promptTitle = 0, const TCHAR* prompt = 0, const TCHAR* errorTitle = 0, const TCHAR* error = 0, DataValidationErrorStyle errorStyle = VALIDATION_ERRSTYLE_STOP) = 0; virtual void XLAPIENTRY addDataValidationDouble(DataValidationType type, DataValidationOperator op, int rowFirst, int rowLast, int colFirst, int colLast, double value1, double value2, bool allowBlank = true, bool hideDropDown = false, bool showInputMessage = true, bool showErrorMessage = true, const TCHAR* promptTitle = 0, const TCHAR* prompt = 0, const TCHAR* errorTitle = 0, const TCHAR* error = 0, DataValidationErrorStyle errorStyle = VALIDATION_ERRSTYLE_STOP) = 0; virtual void XLAPIENTRY removeDataValidations() = 0; virtual ~ISheetT() {} }; } #endif