|
rllib
1
|
00001 /*************************************************************************** 00002 rlspreadsheet.h - description 00003 ------------------- 00004 begin : Tue Jan 02 2001 00005 copyright : (C) 2001 by Rainer Lehrig 00006 email : lehrig@t-online.de 00007 ***************************************************************************/ 00008 00009 /*************************************************************************** 00010 * * 00011 * This library is free software; you can redistribute it and/or modify * 00012 * it under the terms of the GNU LESSER GENERAL PUBLIC LICENSE as * 00013 * published by the Free Software Foundation * 00014 * * 00015 ***************************************************************************/ 00016 #ifndef _RL_SPREADSHEET_H_ 00017 #define _RL_SPREADSHEET_H_ 00018 00019 #include "rldefine.h" 00020 00024 class rlSpreadsheetCell 00025 { 00026 public: 00027 rlSpreadsheetCell(const char *text=0); 00028 virtual ~rlSpreadsheetCell(); 00029 const char *text(); 00030 void setText(const char *text); 00031 int printf(const char *format, ...); 00032 void clear(); 00033 void setNextCell(rlSpreadsheetCell *next); 00034 rlSpreadsheetCell *getNextCell(); 00035 int exists(); 00036 private: 00037 char *txt; 00038 rlSpreadsheetCell *nextCell; 00039 }; 00040 00044 class rlSpreadsheetRow 00045 { 00046 public: 00048 rlSpreadsheetRow(); 00049 virtual ~rlSpreadsheetRow(); 00050 const char *text(int column); 00051 void setText(int column, const char *text); 00052 int printf(int column, const char *format, ...); 00053 void clear(); 00054 void setNextRow(rlSpreadsheetRow *next); 00055 rlSpreadsheetRow *getNextRow(); 00056 rlSpreadsheetCell *getFirstCell(); 00057 void readRow(const unsigned char *line, char delimitor='\t'); 00058 void writeRow(void *fp, char delimitor='\t'); 00059 int exists(int column); 00060 private: 00061 rlSpreadsheetCell *firstCell; 00062 rlSpreadsheetRow *nextRow; 00063 }; 00064 00069 class rlSpreadsheetTable 00070 { 00071 public: 00073 rlSpreadsheetTable(char delimitor='\t'); 00074 virtual ~rlSpreadsheetTable(); 00075 const char *text(int column, int row); 00076 void setText(int column, int row, const char *text); 00077 int printf(int column, int row, const char *format, ...); 00078 void clear(); 00079 int read(const char *filename); 00080 int write(const char *filename); 00081 void setNextTable(rlSpreadsheetTable *next); 00082 rlSpreadsheetTable *getNextTable(); 00083 rlSpreadsheetRow *getFirstRow(); 00084 int exists(int column, int row); 00085 void setDelimitor(char delimitor); 00086 private: 00087 char delimitor; 00088 rlSpreadsheetRow *firstRow; 00089 rlSpreadsheetTable *nextTable; 00090 }; 00091 00096 class rlSpreadsheetWorkbook 00097 { 00098 public: 00100 rlSpreadsheetWorkbook(char delimitor='\t'); 00101 virtual ~rlSpreadsheetWorkbook(); 00102 const char *text(int column, int row, int page); 00103 void setText(int column, int row, int page, const char *text); 00104 int printf(int column, int row, int page, const char *format, ...); 00105 void clear(); 00106 int read(const char *filename); 00107 int write(const char *filename); 00108 int exists(int column, int row, int page); 00109 rlSpreadsheetTable *getFirstTable(); 00110 void setDelimitor(char delimitor); 00111 private: 00112 char delimitor; 00113 rlSpreadsheetTable *firstTable; 00114 }; 00115 00116 #endif
1.7.5.1