Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
Quattro9Spreadsheet Class Reference

This class parses Quattro9 Pro spreadsheet file. More...

`#include <Quattro9Spreadsheet.h>`

## Public Member Functions
| Quattro9Spreadsheet (Quattro9Parser &parser)
| constructor More...
| ~Quattro9Spreadsheet ()
| destructor More...
void | setListener (WKSContentListenerPtr &listen)
| sets the listener More...
void | cleanState ()
| clean internal state More...
void | updateState ()
| update the state (need to be called before sending data) More...

## Protected Member Functions
int | version () const
| return the file version More...
QuattroFormulaManager::CellReferenceFunction | getReadCellReferenceFunction ()
| returns the function to read a cell's reference More...
int | getNumSpreadsheets () const
| returns the number of spreadsheet More...
librevenge::RVNGString | getSheetName (int id) const
| returns the name of the id's spreadsheet More...
void | sendSpreadsheet (int sheetId)
| send the sheetId'th spreadsheet More...
Vec2f | getPosition (int sheetId, Vec2i const &cell) const
| returns the beginning position of a cell More...
void | addDLLIdName (int id, librevenge::RVNGString const &name, bool func1)
| add a dll's correspondance between an id and a name More...
void | addUserFormat (int id, librevenge::RVNGString const &name)
| add a user format's correspondance between an id and a name More...
void | addDocumentStrings (std::shared_ptr< WPSStream > const &stream, std::vector< Quattro9ParserInternal::TextEntry > const &entries)
| set the document strings list More...
void | sendCellContent (Quattro9SpreadsheetInternal::CellData const *cell, Vec2i pos, int sheetId, int numRepeated)
| send the cell data More...
bool | readCellStyles (std::shared_ptr< WPSStream > const &stream)
| reads a cell attribute: zone a More...
bool | readDocumentFormulas (std::shared_ptr< WPSStream > const &stream)
| reads the document formulas: zone 408 More...
bool | readBeginSheet (std::shared_ptr< WPSStream > const &stream, int &sheetId)
| read the begin sheet zone: zone 601 More...
bool | readEndSheet (std::shared_ptr< WPSStream > const &stream)
| read the end sheet zone: zone 602 More...
bool | readPageBreak (std::shared_ptr< WPSStream > const &stream)
| read the page break zone: zone 617 More...
bool | readMergedCells (std::shared_ptr< WPSStream > const &stream)
| read the merged cell: zone 61d More...
bool | readColRowDefault (std::shared_ptr< WPSStream > const &stream)
| read a col/row default dimension: zone 631, 632 More...
bool | readColRowDimension (std::shared_ptr< WPSStream > const &stream)
| read a col/row dimension: zone 633, 634 More...
bool | readColRowDimensions (std::shared_ptr< WPSStream > const &stream)
| read a col/row dimensions: zone 635, 636 More...
bool | readBeginColumn (std::shared_ptr< WPSStream > const &stream)
| read the begin column zone: zone a01 More...
bool | readEndColumn (std::shared_ptr< WPSStream > const &stream)
| read the end column zone: zone a02 More...
bool | readCellList (std::shared_ptr< WPSStream > const &stream)
| reads a cell list zone: zone c01 More...
bool | readCellResult (std::shared_ptr< WPSStream > const &stream)
| reads a cell result zone: zone c02 More...
bool | readCell (std::shared_ptr< WPSStream > const &stream, Vec2i actPos, WKSContentListener::FormulaInstruction &instr, int sheetId, librevenge::RVNGString const &fName) const
bool | readCellReference (std::shared_ptr< WPSStream > const &stream, long endPos, QuattroFormulaInternal::CellReference &ref, Vec2i const &pos=Vec2i(0, 0), int sheetId=0) const
| try to read a cell reference More...

## Private Member Functions
| Quattro9Spreadsheet (Quattro9Spreadsheet const &orig)=delete
Quattro9Spreadsheet & | operator= (Quattro9Spreadsheet const &orig)=delete

## Private Attributes
std::shared_ptr< WKSContentListener > | m_listener
Quattro9Parser & | m_mainParser
| the listener (if set) More...
std::shared_ptr< Quattro9SpreadsheetInternal::State > | m_state
| the internal state More...

## Friends
class | Quattro9Parser

## Detailed Description

This class parses Quattro9 Pro spreadsheet file.

## Constructor & Destructor Documentation

## ◆ Quattro9Spreadsheet() [1/2]

Quattro9Spreadsheet::Quattro9Spreadsheet | ( | Quattro9Parser & | parser | ) |
| explicit

constructor

## ◆ ~Quattro9Spreadsheet()

Quattro9Spreadsheet::~Quattro9Spreadsheet | ( |  | ) |

destructor

## ◆ Quattro9Spreadsheet() [2/2]

Quattro9Spreadsheet::Quattro9Spreadsheet | ( | Quattro9Spreadsheet const & | orig | ) |
| private delete

## Member Function Documentation

## ◆ addDLLIdName()

void Quattro9Spreadsheet::addDLLIdName | ( | int | id,
|  | librevenge::RVNGString const & | name,
|  | bool | func1
| ) |  |
| protected

add a dll's correspondance between an id and a name

## ◆ addDocumentStrings()

void Quattro9Spreadsheet::addDocumentStrings | ( | std::shared_ptr< WPSStream > const & | stream,
|  | std::vector< Quattro9ParserInternal::TextEntry > const & | entries
| ) |  |
| protected

set the document strings list

## ◆ addUserFormat()

void Quattro9Spreadsheet::addUserFormat | ( | int | id,
|  | librevenge::RVNGString const & | name
| ) |  |
| protected

add a user format's correspondance between an id and a name

## ◆ cleanState()

void Quattro9Spreadsheet::cleanState | ( |  | ) |

clean internal state

## ◆ getNumSpreadsheets()

int Quattro9Spreadsheet::getNumSpreadsheets | ( |  | ) | const
| protected

returns the number of spreadsheet

## ◆ getPosition()

Vec2f Quattro9Spreadsheet::getPosition | ( | int | sheetId,
|  | Vec2i const & | cell
| ) |  | const
| protected

returns the beginning position of a cell

## ◆ getReadCellReferenceFunction()

QuattroFormulaManager::CellReferenceFunction Quattro9Spreadsheet::getReadCellReferenceFunction | ( |  | ) |
| protected

returns the function to read a cell's reference

Referenced by cleanState(), and Quattro9Spreadsheet().

## ◆ getSheetName()

librevenge::RVNGString Quattro9Spreadsheet::getSheetName | ( | int | id | ) | const
| protected

returns the name of the id's spreadsheet

Referenced by sendCellContent().

## ◆ operator=()

Quattro9Spreadsheet& Quattro9Spreadsheet::operator= | ( | Quattro9Spreadsheet const & | orig | ) |
| private delete

## ◆ readBeginColumn()

bool Quattro9Spreadsheet::readBeginColumn | ( | std::shared_ptr< WPSStream > const & | stream | ) |
| protected

read the begin column zone: zone a01

## ◆ readBeginSheet()

bool Quattro9Spreadsheet::readBeginSheet | ( | std::shared_ptr< WPSStream > const & | stream,
|  | int & | sheetId
| ) |  |
| protected

read the begin sheet zone: zone 601

## ◆ readCell()

bool Quattro9Spreadsheet::readCell | ( | std::shared_ptr< WPSStream > const & | stream,
|  | Vec2i | actPos,
|  | WKSContentListener::FormulaInstruction & | instr,
|  | int | sheetId,
|  | librevenge::RVNGString const & | fName
| ) |  | const
| protected

Referenced by readCellReference().

## ◆ readCellList()

bool Quattro9Spreadsheet::readCellList | ( | std::shared_ptr< WPSStream > const & | stream | ) |
| protected

reads a cell list zone: zone c01

## ◆ readCellReference()

bool Quattro9Spreadsheet::readCellReference | ( | std::shared_ptr< WPSStream > const & | stream,
|  | long | endPos,
|  | QuattroFormulaInternal::CellReference & | ref,
|  | Vec2i const & | pos = `Vec2i(0,0)`,
|  | int | sheetId = `0`
| ) |  | const
| protected

try to read a cell reference

Referenced by getReadCellReferenceFunction().

## ◆ readCellResult()

bool Quattro9Spreadsheet::readCellResult | ( | std::shared_ptr< WPSStream > const & | stream | ) |
| protected

reads a cell result zone: zone c02

## ◆ readCellStyles()

bool Quattro9Spreadsheet::readCellStyles | ( | std::shared_ptr< WPSStream > const & | stream | ) |
| protected

reads a cell attribute: zone a

## ◆ readColRowDefault()

bool Quattro9Spreadsheet::readColRowDefault | ( | std::shared_ptr< WPSStream > const & | stream | ) |
| protected

read a col/row default dimension: zone 631, 632

## ◆ readColRowDimension()

bool Quattro9Spreadsheet::readColRowDimension | ( | std::shared_ptr< WPSStream > const & | stream | ) |
| protected

read a col/row dimension: zone 633, 634

## ◆ readColRowDimensions()

bool Quattro9Spreadsheet::readColRowDimensions | ( | std::shared_ptr< WPSStream > const & | stream | ) |
| protected

read a col/row dimensions: zone 635, 636

## ◆ readDocumentFormulas()

bool Quattro9Spreadsheet::readDocumentFormulas | ( | std::shared_ptr< WPSStream > const & | stream | ) |
| protected

reads the document formulas: zone 408

## ◆ readEndColumn()

bool Quattro9Spreadsheet::readEndColumn | ( | std::shared_ptr< WPSStream > const & | stream | ) |
| protected

read the end column zone: zone a02

## ◆ readEndSheet()

bool Quattro9Spreadsheet::readEndSheet | ( | std::shared_ptr< WPSStream > const & | stream | ) |
| protected

read the end sheet zone: zone 602

## ◆ readMergedCells()

bool Quattro9Spreadsheet::readMergedCells | ( | std::shared_ptr< WPSStream > const & | stream | ) |
| protected

read the merged cell: zone 61d

## ◆ readPageBreak()

bool Quattro9Spreadsheet::readPageBreak | ( | std::shared_ptr< WPSStream > const & | stream | ) |
| protected

read the page break zone: zone 617

## ◆ sendCellContent()

void Quattro9Spreadsheet::sendCellContent | ( | Quattro9SpreadsheetInternal::CellData const * | cell,
|  | Vec2i | pos,
|  | int | sheetId,
|  | int | numRepeated
| ) |  |
| protected

send the cell data

Referenced by sendSpreadsheet().

## ◆ sendSpreadsheet()

void Quattro9Spreadsheet::sendSpreadsheet | ( | int | sheetId | ) |
| protected

send the sheetId'th spreadsheet

## ◆ setListener()

void Quattro9Spreadsheet::setListener | ( | WKSContentListenerPtr & | listen | ) |
| inline

sets the listener

## ◆ updateState()

void Quattro9Spreadsheet::updateState | ( |  | ) |

update the state (need to be called before sending data)

## ◆ version()

int Quattro9Spreadsheet::version | ( |  | ) | const
| protected

return the file version

Referenced by readCellStyles().

## Friends And Related Function Documentation

## ◆ Quattro9Parser

friend class Quattro9Parser
| friend

## Member Data Documentation

## ◆ m_listener

std::shared_ptr<WKSContentListener> Quattro9Spreadsheet::m_listener
| private

Referenced by sendCellContent(), sendSpreadsheet(), and setListener().

## ◆ m_mainParser

Quattro9Parser& Quattro9Spreadsheet::m_mainParser
| private

the listener (if set)

the main parser

Referenced by readBeginSheet(), readCellReference(), readCellResult(), readCellStyles(), readEndColumn(), readEndSheet(), sendCellContent(), sendSpreadsheet(), and version().

## ◆ m_state

std::shared_ptr<Quattro9SpreadsheetInternal::State> Quattro9Spreadsheet::m_state
| private

the internal state

Referenced by addDLLIdName(), addDocumentStrings(), addUserFormat(), cleanState(), getNumSpreadsheets(), getPosition(), getSheetName(), Quattro9Spreadsheet(), readBeginColumn(), readBeginSheet(), readCellList(), readCellResult(), readCellStyles(), readColRowDefault(), readColRowDimension(), readColRowDimensions(), readDocumentFormulas(), readEndColumn(), readEndSheet(), readMergedCells(), sendCellContent(), sendSpreadsheet(), and version().

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

- Quattro9Spreadsheet.h
- Quattro9Spreadsheet.cpp