QuattroSpreadsheet Class Reference

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

#include <QuattroSpreadsheet.h>

Public Member Functions

 QuattroSpreadsheet (QuattroParser &parser)
 constructor
 ~QuattroSpreadsheet ()
 destructor
void setListener (WKSContentListenerPtr &listen)
 sets the listener
void cleanState ()
 clean internal state
void updateState ()
 update the state (need to be called before sending data)

Protected Member Functions

int version () const
 return the file version
QuattroFormulaManager::CellReferenceFunction getReadCellReferenceFunction ()
 returns the function to read a cell's reference
int getNumSpreadsheets () const
 returns the number of spreadsheet
librevenge::RVNGString getSheetName (int id) const
 returns the name of the id's spreadsheet
void sendSpreadsheet (int sheetId, std::vector< Vec2i > const &listGraphicCells)
 send the sheetId'th spreadsheet
Vec2f getPosition (int sheetId, Vec2i const &cell) const
 returns the beginning position of a cell
void sendCellContent (QuattroSpreadsheetInternal::Cell const &cell, int sheetId)
 send the cell data
void addDLLIdName (int id, librevenge::RVNGString const &name, bool func1)
 add a dll's correspondance between an id and a name
void addUserFormat (int id, librevenge::RVNGString const &name)
 add a user format's correspondance between an id and a name
bool readCell (std::shared_ptr< WPSStream > const &stream)
 reads a cell content data: zone 0xc-0x10 or 33
bool readSheetSize (std::shared_ptr< WPSStream > const &stream)
 reads sheet size: zone 06
bool readColumnRowDefaultSize (std::shared_ptr< WPSStream > const &stream)
 reads the sheet column/row default size: zone d2-d5
bool readColumnSize (std::shared_ptr< WPSStream > const &stream)
 reads the column size: zone d8,d9
bool readRowSize (std::shared_ptr< WPSStream > const &stream)
 reads the row size: zone d6,d7
bool readRowRangeSize (std::shared_ptr< WPSStream > const &stream)
 reads the row size: zone 105,106
bool readBeginEndSheet (std::shared_ptr< WPSStream > const &stream, int &sheetId)
 read the begin/end of a sheet zone: zone ca and cb
bool readSheetName (std::shared_ptr< WPSStream > const &stream)
 reads sheet name: zone cc
bool readCellStyle (std::shared_ptr< WPSStream > const &stream)
 reads a cell attribute: zone 0xce
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

Static Protected Member Functions

static bool readViewInfo (std::shared_ptr< WPSStream > const &stream)
 reads a view info: zone 197/198
static bool readCell (std::shared_ptr< WPSStream > const &stream, Vec2i actPos, WKSContentListener::FormulaInstruction &instr, int sheetId, librevenge::RVNGString const &fName)
static void updateCellWithUserFormat (QuattroSpreadsheetInternal::Cell &cell, librevenge::RVNGString const &format)
 try to update the cell's format using the user format

Private Member Functions

 QuattroSpreadsheet (QuattroSpreadsheet const &orig)=delete
QuattroSpreadsheetoperator= (QuattroSpreadsheet const &orig)=delete

Private Attributes

std::shared_ptr< WKSContentListenerm_listener
QuattroParserm_mainParser
 the listener (if set)
std::shared_ptr< QuattroSpreadsheetInternal::Statem_state
 the internal state

Friends

class QuattroParser

Detailed Description

This class parses Quattro Pro spreadsheet file.

Constructor & Destructor Documentation

◆ QuattroSpreadsheet() [1/2]

QuattroSpreadsheet::QuattroSpreadsheet ( QuattroParser & parser)
explicit

constructor

Referenced by operator=(), and QuattroSpreadsheet().

◆ ~QuattroSpreadsheet()

QuattroSpreadsheet::~QuattroSpreadsheet ( )

destructor

◆ QuattroSpreadsheet() [2/2]

QuattroSpreadsheet::QuattroSpreadsheet ( QuattroSpreadsheet const & orig)
privatedelete

Member Function Documentation

◆ addDLLIdName()

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

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

◆ addUserFormat()

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

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

◆ cleanState()

void QuattroSpreadsheet::cleanState ( )

clean internal state

◆ getNumSpreadsheets()

int QuattroSpreadsheet::getNumSpreadsheets ( ) const
protected

returns the number of spreadsheet

◆ getPosition()

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

returns the beginning position of a cell

◆ getReadCellReferenceFunction()

QuattroFormulaManager::CellReferenceFunction QuattroSpreadsheet::getReadCellReferenceFunction ( )
protected

returns the function to read a cell's reference

Referenced by cleanState(), and QuattroSpreadsheet().

◆ getSheetName()

librevenge::RVNGString QuattroSpreadsheet::getSheetName ( int id) const
protected

returns the name of the id's spreadsheet

Referenced by sendCellContent().

◆ operator=()

QuattroSpreadsheet & QuattroSpreadsheet::operator= ( QuattroSpreadsheet const & orig)
privatedelete

◆ readBeginEndSheet()

bool QuattroSpreadsheet::readBeginEndSheet ( std::shared_ptr< WPSStream > const & stream,
int & sheetId )
protected

read the begin/end of a sheet zone: zone ca and cb

◆ readCell() [1/2]

bool QuattroSpreadsheet::readCell ( std::shared_ptr< WPSStream > const & stream)
protected

reads a cell content data: zone 0xc-0x10 or 33

Referenced by readCellReference().

◆ readCell() [2/2]

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

◆ readCellReference()

bool QuattroSpreadsheet::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(), and readCellReference().

◆ readCellStyle()

bool QuattroSpreadsheet::readCellStyle ( std::shared_ptr< WPSStream > const & stream)
protected

reads a cell attribute: zone 0xce

◆ readColumnRowDefaultSize()

bool QuattroSpreadsheet::readColumnRowDefaultSize ( std::shared_ptr< WPSStream > const & stream)
protected

reads the sheet column/row default size: zone d2-d5

◆ readColumnSize()

bool QuattroSpreadsheet::readColumnSize ( std::shared_ptr< WPSStream > const & stream)
protected

reads the column size: zone d8,d9

◆ readRowRangeSize()

bool QuattroSpreadsheet::readRowRangeSize ( std::shared_ptr< WPSStream > const & stream)
protected

reads the row size: zone 105,106

◆ readRowSize()

bool QuattroSpreadsheet::readRowSize ( std::shared_ptr< WPSStream > const & stream)
protected

reads the row size: zone d6,d7

◆ readSheetName()

bool QuattroSpreadsheet::readSheetName ( std::shared_ptr< WPSStream > const & stream)
protected

reads sheet name: zone cc

◆ readSheetSize()

bool QuattroSpreadsheet::readSheetSize ( std::shared_ptr< WPSStream > const & stream)
protected

reads sheet size: zone 06

◆ readViewInfo()

bool QuattroSpreadsheet::readViewInfo ( std::shared_ptr< WPSStream > const & stream)
staticprotected

reads a view info: zone 197/198

◆ sendCellContent()

void QuattroSpreadsheet::sendCellContent ( QuattroSpreadsheetInternal::Cell const & cell,
int sheetId )
protected

send the cell data

Referenced by sendSpreadsheet().

◆ sendSpreadsheet()

void QuattroSpreadsheet::sendSpreadsheet ( int sheetId,
std::vector< Vec2i > const & listGraphicCells )
protected

send the sheetId'th spreadsheet

◆ setListener()

void QuattroSpreadsheet::setListener ( WKSContentListenerPtr & listen)
inline

sets the listener

◆ updateCellWithUserFormat()

void QuattroSpreadsheet::updateCellWithUserFormat ( QuattroSpreadsheetInternal::Cell & cell,
librevenge::RVNGString const & format )
staticprotected

try to update the cell's format using the user format

Referenced by sendCellContent().

◆ updateState()

void QuattroSpreadsheet::updateState ( )

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

◆ version()

int QuattroSpreadsheet::version ( ) const
protected

return the file version

◆ QuattroParser

friend class QuattroParser
friend

Referenced by QuattroParser, and QuattroSpreadsheet().

Member Data Documentation

◆ m_listener

std::shared_ptr<WKSContentListener> QuattroSpreadsheet::m_listener
private

◆ m_mainParser

◆ m_state


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

Generated on Sat Jul 19 2025 05:24:40 for libwps by doxygen 1.14.0