XenevaOS
Loading...
Searching...
No Matches
sheet_types.h
Go to the documentation of this file.
1
6#ifndef __SHEET_TYPES_H__
7#define __SHEET_TYPES_H__
8
9#include <stdint.h>
10#include <stdbool.h>
11
12#define SHEET_MAX_COLS 26 /* Columns A to Z */
13#define SHEET_MAX_ROWS 100 /* Rows 1 to 100 */
14#define SHEET_MAX_TABS 8 /* Up to 8 multi-sheet tabs */
15#define SHEET_TAB_NAME_LEN 32
16#define SHEET_CELL_TEXT_LEN 64
17#define SHEET_DISP_TEXT_LEN 32
18#define SHEET_PATH_MAX 128
19
20/* Default Grid Layout */
21#define SHEET_DEFAULT_COL_W 72
22#define SHEET_DEFAULT_ROW_H 22
23#define SHEET_ROW_HEADER_W 42
24#define SHEET_COL_HEADER_H 22
25
26/* Cell Types */
33
34/* Cell Errors */
37 CELL_ERR_DIV0, /* #DIV/0! */
38 CELL_ERR_VALUE, /* #VALUE! */
39 CELL_ERR_NAME, /* #NAME? */
40 CELL_ERR_CYCLE, /* #CYCLE! */
41 CELL_ERR_REF /* #REF! */
42};
43
44/* Formatting Flags */
45#define CELL_FMT_BOLD (1 << 0)
46#define CELL_FMT_ALIGN_LEFT (0)
47#define CELL_FMT_ALIGN_CENTER (1 << 1)
48#define CELL_FMT_ALIGN_RIGHT (1 << 2)
49
50/* Single Spreadsheet Cell */
61
62/* Single Sheet Tab */
70
71/* Multi-Tab Workbook */
79
80/* Cell Selection / Coordinate Pair */
81typedef struct _SheetCoord {
82 int col; /* 0 .. SHEET_MAX_COLS - 1 */
83 int row; /* 0 .. SHEET_MAX_ROWS - 1 */
85
86/* Range Selection */
87typedef struct _SheetRange {
90 int endCol;
91 int endRow;
93
94/* Calculation Summary Statistics */
95typedef struct _SheetStats {
96 double sum;
97 double avg;
98 double min;
99 double max;
100 int count;
103
104#endif /* __SHEET_TYPES_H__ */
unsigned int uint32_t
Definition acefiex.h:163
short int int16_t
Definition acefiex.h:159
unsigned char uint8_t
Definition acefiex.h:161
unsigned short int uint16_t
Definition acefiex.h:162
#define SHEET_CELL_TEXT_LEN
Definition sheet_types.h:16
#define SHEET_MAX_COLS
Definition sheet_types.h:12
struct _SheetCoord SheetCoord
CellType
Definition sheet_types.h:27
@ CELL_TYPE_TEXT
Definition sheet_types.h:29
@ CELL_TYPE_EMPTY
Definition sheet_types.h:28
@ CELL_TYPE_FORMULA
Definition sheet_types.h:31
@ CELL_TYPE_NUMBER
Definition sheet_types.h:30
CellError
Definition sheet_types.h:35
@ CELL_ERR_NAME
Definition sheet_types.h:39
@ CELL_ERR_NONE
Definition sheet_types.h:36
@ CELL_ERR_DIV0
Definition sheet_types.h:37
@ CELL_ERR_REF
Definition sheet_types.h:41
@ CELL_ERR_CYCLE
Definition sheet_types.h:40
@ CELL_ERR_VALUE
Definition sheet_types.h:38
#define SHEET_PATH_MAX
Definition sheet_types.h:18
struct _SheetCell SheetCell
struct _SheetStats SheetStats
struct _SheetRange SheetRange
#define SHEET_DISP_TEXT_LEN
Definition sheet_types.h:17
#define SHEET_MAX_TABS
Definition sheet_types.h:14
struct _SheetWorkbook SheetWorkbook
struct _SheetTab SheetTab
#define SHEET_TAB_NAME_LEN
Definition sheet_types.h:15
#define SHEET_MAX_ROWS
Definition sheet_types.h:13
Definition sheet_types.h:51
uint16_t format
Definition sheet_types.h:57
char rawText[SHEET_CELL_TEXT_LEN]
Definition sheet_types.h:52
uint32_t bgColor
Definition sheet_types.h:58
uint32_t textColor
Definition sheet_types.h:59
uint8_t error
Definition sheet_types.h:56
double computedValue
Definition sheet_types.h:54
uint8_t type
Definition sheet_types.h:55
char displayText[SHEET_DISP_TEXT_LEN]
Definition sheet_types.h:53
Definition sheet_types.h:81
int row
Definition sheet_types.h:83
int col
Definition sheet_types.h:82
Definition sheet_types.h:87
int startCol
Definition sheet_types.h:88
int endCol
Definition sheet_types.h:90
int startRow
Definition sheet_types.h:89
int endRow
Definition sheet_types.h:91
Definition sheet_types.h:95
double avg
Definition sheet_types.h:97
int numCount
Definition sheet_types.h:101
int count
Definition sheet_types.h:100
double sum
Definition sheet_types.h:96
double max
Definition sheet_types.h:99
double min
Definition sheet_types.h:98
Definition sheet_types.h:63
SheetCell cells[SHEET_MAX_ROWS][SHEET_MAX_COLS]
Definition sheet_types.h:65
int16_t colWidths[SHEET_MAX_COLS]
Definition sheet_types.h:67
int16_t rowHeights[SHEET_MAX_ROWS]
Definition sheet_types.h:68
char name[SHEET_TAB_NAME_LEN]
Definition sheet_types.h:64
uint8_t evalVisiting[SHEET_MAX_ROWS][SHEET_MAX_COLS]
Definition sheet_types.h:66
Definition sheet_types.h:72
SheetTab tabs[SHEET_MAX_TABS]
Definition sheet_types.h:73
int activeTab
Definition sheet_types.h:75
bool isDirty
Definition sheet_types.h:77
char filepath[SHEET_PATH_MAX]
Definition sheet_types.h:76
int tabCount
Definition sheet_types.h:74