ClarisWksDbaseContent Class Reference

small structure used to parse main content of a spreadsheet/database zone More...

#include <ClarisWksDbaseContent.hxx>

Classes

struct  Column
 struct which stores a column in ClarisWksDbaseContent More...
 
struct  Record
 struct which stores a record in ClarisWksDbaseContent More...
 

Public Member Functions

 ClarisWksDbaseContent (ClarisWksDocument &document, bool spreadsheet)
 constructor More...
 
 ~ClarisWksDbaseContent ()
 destructor More...
 
bool readContent ()
 try to read the record structure More...
 
bool getExtrema (MWAWVec2i &min, MWAWVec2i &max) const
 returns the dimension of the read data More...
 
bool getRecordList (std::vector< int > &list) const
 returns the list of filled record (for database) More...
 
bool get (MWAWVec2i const &pos, Record &data) const
 retrieves the cell data More...
 
bool send (MWAWVec2i const &pos)
 try to send a cell content to the listener More...
 
void setDatabaseFormats (std::vector< ClarisWksStyleManager::CellFormat > const &format)
 set the field format ( for database ) More...
 

Protected Member Functions

bool readColumnList ()
 try to read the columns list structure(CTAB) More...
 
bool readColumn (int c)
 try to read the column structure(COLM): a list of chnk More...
 
bool readRecordList (MWAWVec2i const &where, Column &col)
 try to read a list of records(CHNK) More...
 
bool readRecordSS (MWAWVec2i const &where, long pos, Record &record)
 try to read a spreadsheet record More...
 
bool readRecordSSV1 (MWAWVec2i const &where, long pos, Record &record)
 try to read a spreadsheet record(v1-v3) More...
 
bool readRecordDB (MWAWVec2i const &where, long pos, Record &record)
 try to read a database record More...
 
void send (double val, bool isNotaNumber, ClarisWksStyleManager::CellFormat const &format)
 send a double with a corresponding cell format More...
 
bool readCellInFormula (MWAWVec2i const &pos, MWAWCellContent::FormulaInstruction &instr)
 reads a cell More...
 
bool readString (long endPos, std::string &res)
 try to read a string More...
 
bool readNumber (long endPos, double &res, bool &isNan)
 try to read a number More...
 
bool readFormula (MWAWVec2i const &cPos, long endPos, std::vector< MWAWCellContent::FormulaInstruction > &formula, std::string &error)
 read to read a formula More...
 

Protected Attributes

int m_version
 the file version More...
 
bool m_isSpreadsheet
 a bool to know if this is a spreadsheet or a database More...
 
ClarisWksDocumentm_document
 the document More...
 
MWAWParserStatePtr m_parserState
 the parser state More...
 
std::map< int, Columnm_idColumnMap
 a map col id to column More...
 
std::vector
< ClarisWksStyleManager::CellFormat
m_dbFormatList
 the databse format More...
 

Detailed Description

small structure used to parse main content of a spreadsheet/database zone

Constructor & Destructor Documentation

ClarisWksDbaseContent::ClarisWksDbaseContent ( ClarisWksDocument document,
bool  spreadsheet 
)

constructor

ClarisWksDbaseContent::~ClarisWksDbaseContent ( )

destructor

Member Function Documentation

bool ClarisWksDbaseContent::get ( MWAWVec2i const &  pos,
ClarisWksDbaseContent::Record record 
) const

retrieves the cell data

bool ClarisWksDbaseContent::getExtrema ( MWAWVec2i min,
MWAWVec2i max 
) const

returns the dimension of the read data

bool ClarisWksDbaseContent::getRecordList ( std::vector< int > &  list) const

returns the list of filled record (for database)

bool ClarisWksDbaseContent::readCellInFormula ( MWAWVec2i const &  pos,
MWAWCellContent::FormulaInstruction instr 
)
protected

reads a cell

Referenced by readFormula().

bool ClarisWksDbaseContent::readColumn ( int  c)
protected

try to read the column structure(COLM): a list of chnk

Referenced by readColumnList().

bool ClarisWksDbaseContent::readColumnList ( )
protected

try to read the columns list structure(CTAB)

Referenced by readContent().

bool ClarisWksDbaseContent::readContent ( )

try to read the record structure

ARGHH: this zone is almost the only zone which count the header in sz ...

bool ClarisWksDbaseContent::readFormula ( MWAWVec2i const &  cPos,
long  endPos,
std::vector< MWAWCellContent::FormulaInstruction > &  formula,
std::string &  error 
)
protected

read to read a formula

Referenced by readRecordSS(), and readRecordSSV1().

bool ClarisWksDbaseContent::readNumber ( long  endPos,
double &  res,
bool &  isNan 
)
protected

try to read a number

Referenced by readFormula().

bool ClarisWksDbaseContent::readRecordDB ( MWAWVec2i const &  where,
long  pos,
ClarisWksDbaseContent::Record record 
)
protected

try to read a database record

Referenced by readRecordList().

bool ClarisWksDbaseContent::readRecordList ( MWAWVec2i const &  where,
Column col 
)
protected

try to read a list of records(CHNK)

Referenced by readColumn().

bool ClarisWksDbaseContent::readRecordSS ( MWAWVec2i const &  where,
long  pos,
ClarisWksDbaseContent::Record record 
)
protected

try to read a spreadsheet record

checkme: there does not seem to be alignment, but another variable before the result

Referenced by readRecordList().

bool ClarisWksDbaseContent::readRecordSSV1 ( MWAWVec2i const &  where,
long  pos,
ClarisWksDbaseContent::Record record 
)
protected

try to read a spreadsheet record(v1-v3)

Referenced by readRecordSS().

bool ClarisWksDbaseContent::readString ( long  endPos,
std::string &  res 
)
protected

try to read a string

Referenced by readFormula().

bool ClarisWksDbaseContent::send ( MWAWVec2i const &  pos)

try to send a cell content to the listener

void ClarisWksDbaseContent::send ( double  val,
bool  isNotaNumber,
ClarisWksStyleManager::CellFormat const &  format 
)
protected

send a double with a corresponding cell format

void ClarisWksDbaseContent::setDatabaseFormats ( std::vector< ClarisWksStyleManager::CellFormat > const &  format)

set the field format ( for database )

Member Data Documentation

std::vector<ClarisWksStyleManager::CellFormat> ClarisWksDbaseContent::m_dbFormatList
protected

the databse format

Referenced by get(), and setDatabaseFormats().

ClarisWksDocument& ClarisWksDbaseContent::m_document
protected

the document

Referenced by readRecordSS(), and readRecordSSV1().

std::map<int, Column> ClarisWksDbaseContent::m_idColumnMap
protected

a map col id to column

Referenced by get(), getExtrema(), getRecordList(), and readColumn().

bool ClarisWksDbaseContent::m_isSpreadsheet
protected

a bool to know if this is a spreadsheet or a database

Referenced by get(), getRecordList(), readColumn(), readColumnList(), readContent(), readRecordList(), and setDatabaseFormats().

int ClarisWksDbaseContent::m_version
protected

The documentation for this class was generated from the following files:

Generated on Thu Jul 9 2015 20:26:38 for libmwaw by doxygen 1.8.8