QuattroDosParser Class Referencefinal

This class parses Quattro Pro spreadsheet: .wq1 and wq2. More...

#include <QuattroDos.h>

Inheritance diagram for QuattroDosParser:
WKSParser

Public Member Functions

 QuattroDosParser (RVNGInputStreamPtr &input, WPSHeaderPtr &header, libwps_tools_win::Font::Type encoding=libwps_tools_win::Font::UNKNOWN)
 constructor
 ~QuattroDosParser () final
 destructor
void parse (librevenge::RVNGSpreadsheetInterface *documentInterface) final
 called by WPSDocument to parse the file
bool checkHeader (WPSHeader *header, bool strict=false)
 checks if the document header is correct (or not)
Public Member Functions inherited from WKSParser
 WKSParser (RVNGInputStreamPtr &input, WPSHeaderPtr &header)
virtual ~WKSParser ()

Protected Member Functions

bool checkFilePosition (long pos)
 return true if the pos is in the file, update the file size if need
int version () const
 return the file version
libwps_tools_win::Font::Type getDefaultFontType () const
 returns the default font type, ie.
librevenge::RVNGString getFileName (int fId) const
 returns the name of the fId file
bool getColor (int id, WPSColor &color) const
 returns the color corresponding to an id
bool getFont (int id, WPSFont &font, libwps_tools_win::Font::Type &type) const
 returns the font corresponding to an id
librevenge::RVNGString getSheetName (int id) const
 returns the name of the id's spreadsheet
bool sendChart (int sheetId, Vec2i const &cell, Vec2f const &chartSize)
 try to send the chart corresponding to sheetId and a position
std::shared_ptr< WKSContentListenercreateListener (librevenge::RVNGSpreadsheetInterface *interface)
 creates the main listener
void sendHeaderFooter (bool header)
 send the header/footer
bool readZones ()
 finds the different zones (spreadsheet, chart, print, ...)
bool readZone ()
 reads a zone
bool readUserFonts ()
 reads the user fonts
bool readFont (WPSFont &font, libwps_tools_win::Font::Type &type)
 try to read a font
bool readHeaderFooter (bool header)
 reads the header/footer
bool readFieldName ()
 read a list of field name + ...
bool readFileName ()
 read a file name
bool readPString (librevenge::RVNGString &string, long maxSize)
 try to read a basic pascal string, knowing the maximum size(excluding string size)
bool readWindowRecord ()
 reads windows record 0:7|0:9
bool readUnknown1 ()
 reads some unknown spreadsheet zones 0:18|0:19|0:20|0:27|0:2a
Protected Member Functions inherited from WKSParser
RVNGInputStreamPtrgetInput ()
void resetInput (RVNGInputStreamPtr const &newInput)
RVNGInputStreamPtr getFileInput ()
WPSHeaderPtrgetHeader ()
int version () const
void setVersion (int vers)
libwps::DebugFileascii ()
 a DebugFile used to write what we recognize when we parse the document

Protected Attributes

std::shared_ptr< WKSContentListenerm_listener
std::shared_ptr< QuattroDosParserInternal::Statem_state
 the listener (if set)
std::shared_ptr< QuattroDosSpreadsheetm_spreadsheetParser
 the spreadsheet manager
std::shared_ptr< QuattroDosChartm_chartParser
 the chart manager

Friends

class QuattroDosParserInternal::SubDocument
class QuattroDosChart
class QuattroDosSpreadsheet

Detailed Description

This class parses Quattro Pro spreadsheet: .wq1 and wq2.

Constructor & Destructor Documentation

◆ QuattroDosParser()

QuattroDosParser::QuattroDosParser ( RVNGInputStreamPtr & input,
WPSHeaderPtr & header,
libwps_tools_win::Font::Type encoding = libwps_tools_win::Font::UNKNOWN )

constructor

◆ ~QuattroDosParser()

QuattroDosParser::~QuattroDosParser ( )
final

destructor

Member Function Documentation

◆ checkFilePosition()

bool QuattroDosParser::checkFilePosition ( long pos)
protected

return true if the pos is in the file, update the file size if need

Referenced by checkHeader(), QuattroDosSpreadsheet, readFont(), readPString(), readZone(), and readZones().

◆ checkHeader()

bool QuattroDosParser::checkHeader ( WPSHeader * header,
bool strict = false )

checks if the document header is correct (or not)

Referenced by libwps::WPSDocument::isFileFormatSupported(), parse(), and QuattroDosSpreadsheet.

◆ createListener()

std::shared_ptr< WKSContentListener > QuattroDosParser::createListener ( librevenge::RVNGSpreadsheetInterface * interface)
protected

creates the main listener

Referenced by parse(), and QuattroDosSpreadsheet.

◆ getColor()

bool QuattroDosParser::getColor ( int id,
WPSColor & color ) const
protected

returns the color corresponding to an id

Referenced by QuattroDosSpreadsheet.

◆ getDefaultFontType()

libwps_tools_win::Font::Type QuattroDosParser::getDefaultFontType ( ) const
protected

returns the default font type, ie.

the encoding given by the constructor if given or the encoding deduiced from the version.

Referenced by QuattroDosSpreadsheet, readFont(), readPString(), and readUserFonts().

◆ getFileName()

librevenge::RVNGString QuattroDosParser::getFileName ( int fId) const
protected

returns the name of the fId file

Referenced by QuattroDosSpreadsheet.

◆ getFont()

bool QuattroDosParser::getFont ( int id,
WPSFont & font,
libwps_tools_win::Font::Type & type ) const
protected

returns the font corresponding to an id

Referenced by QuattroDosSpreadsheet.

◆ getSheetName()

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

returns the name of the id's spreadsheet

Referenced by QuattroDosSpreadsheet.

◆ parse()

void QuattroDosParser::parse ( librevenge::RVNGSpreadsheetInterface * documentInterface)
finalvirtual

called by WPSDocument to parse the file

Implements WKSParser.

Referenced by QuattroDosSpreadsheet.

◆ readFieldName()

bool QuattroDosParser::readFieldName ( )
protected

read a list of field name + ...

Referenced by QuattroDosSpreadsheet, and readZone().

◆ readFileName()

bool QuattroDosParser::readFileName ( )
protected

read a file name

Referenced by QuattroDosSpreadsheet, and readZone().

◆ readFont()

bool QuattroDosParser::readFont ( WPSFont & font,
libwps_tools_win::Font::Type & type )
protected

try to read a font

Referenced by QuattroDosSpreadsheet, and readUserFonts().

◆ readHeaderFooter()

bool QuattroDosParser::readHeaderFooter ( bool header)
protected

reads the header/footer

Referenced by QuattroDosSpreadsheet, and readZone().

◆ readPString()

bool QuattroDosParser::readPString ( librevenge::RVNGString & string,
long maxSize )
protected

try to read a basic pascal string, knowing the maximum size(excluding string size)

Referenced by QuattroDosSpreadsheet, readFieldName(), and readFileName().

◆ readUnknown1()

bool QuattroDosParser::readUnknown1 ( )
protected

reads some unknown spreadsheet zones 0:18|0:19|0:20|0:27|0:2a

Note
this zones seems to consist of a list of flags potentially followed by other data

Referenced by QuattroDosSpreadsheet, and readZone().

◆ readUserFonts()

bool QuattroDosParser::readUserFonts ( )
protected

reads the user fonts

Referenced by QuattroDosSpreadsheet, and readZone().

◆ readWindowRecord()

bool QuattroDosParser::readWindowRecord ( )
protected

reads windows record 0:7|0:9

Referenced by QuattroDosSpreadsheet, and readZone().

◆ readZone()

bool QuattroDosParser::readZone ( )
protected

reads a zone

Referenced by checkHeader(), QuattroDosSpreadsheet, and readZones().

◆ readZones()

bool QuattroDosParser::readZones ( )
protected

finds the different zones (spreadsheet, chart, print, ...)

Referenced by parse(), and QuattroDosSpreadsheet.

◆ sendChart()

bool QuattroDosParser::sendChart ( int sheetId,
Vec2i const & cell,
Vec2f const & chartSize )
protected

try to send the chart corresponding to sheetId and a position

Referenced by QuattroDosSpreadsheet.

◆ sendHeaderFooter()

void QuattroDosParser::sendHeaderFooter ( bool header)
protected

send the header/footer

Referenced by QuattroDosParserInternal::SubDocument::parse(), and QuattroDosSpreadsheet.

◆ version()

int QuattroDosParser::version ( ) const
protected

return the file version

Referenced by QuattroDosSpreadsheet, and readUnknown1().

◆ QuattroDosChart

friend class QuattroDosChart
friend

Referenced by QuattroDosChart, and QuattroDosParser().

◆ QuattroDosParserInternal::SubDocument

◆ QuattroDosSpreadsheet

friend class QuattroDosSpreadsheet
friend

Member Data Documentation

◆ m_chartParser

std::shared_ptr<QuattroDosChart> QuattroDosParser::m_chartParser
protected

the chart manager

Referenced by parse(), QuattroDosParser(), readZone(), and sendChart().

◆ m_listener

std::shared_ptr<WKSContentListener> QuattroDosParser::m_listener
protected

◆ m_spreadsheetParser

std::shared_ptr<QuattroDosSpreadsheet> QuattroDosParser::m_spreadsheetParser
protected

the spreadsheet manager

Referenced by getSheetName(), parse(), QuattroDosParser(), readZone(), and readZones().

◆ 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