This class parses Quattro Pro spreadsheet: .wb1, ..., .wb3. More...
#include <Quattro.h>
 
  
| Public Member Functions | |
| QuattroParser (RVNGInputStreamPtr &input, WPSHeaderPtr &header, libwps_tools_win::Font::Type encoding=libwps_tools_win::Font::UNKNOWN, char const *password=nullptr) | |
| constructor  More... | |
| ~QuattroParser () final | |
| destructor  More... | |
| void | parse (librevenge::RVNGSpreadsheetInterface *documentInterface) final | 
| called by WPSDocument to parse the file  More... | |
| bool | checkHeader (WPSHeader *header, bool strict=false) | 
| checks if the document header is correct (or not)  More... | |
|  Public Member Functions inherited from WKSParser | |
| WKSParser (RVNGInputStreamPtr &input, WPSHeaderPtr &header) | |
| virtual | ~WKSParser () | 
| Protected Member Functions | |
| int | version () const | 
| return the file version  More... | |
| libwps_tools_win::Font::Type | getDefaultFontType () const | 
| returns the default font type, ie.  More... | |
| bool | getExternalFileName (int fId, librevenge::RVNGString &fName) const | 
| returns the name of the fId file  More... | |
| bool | getField (int fId, librevenge::RVNGString &text, QuattroFormulaInternal::CellReference &ref, librevenge::RVNGString const &fileName) const | 
| returns the text and cell of a field instruction  More... | |
| bool | getColor (int id, WPSColor &color) const | 
| returns the color corresponding to an id  More... | |
| bool | getFont (int id, WPSFont &font, libwps_tools_win::Font::Type &type) const | 
| returns the font corresponding to an id  More... | |
| Vec2f | getCellPosition (int sheetId, Vec2i const &cell) const | 
| returns the beginning position of a cell  More... | |
| bool | sendPageGraphics (int sheetId) const | 
| send the page graphic corresponding to a sheet  More... | |
| bool | sendGraphics (int sheetId, Vec2i const &cell) const | 
| send the graphic corresponding to a cell  More... | |
| std::shared_ptr< WKSContentListener > | createListener (librevenge::RVNGSpreadsheetInterface *interface) | 
| creates the main listener  More... | |
| void | sendHeaderFooter (bool header) | 
| send the header/footer  More... | |
| bool | checkHeader (std::shared_ptr< WPSStream > stream, bool strict) | 
| checks if the document header is correct (or not)  More... | |
| bool | readZones () | 
| finds the different zones (spreadsheet, chart, print, ...)  More... | |
| bool | readOLEZones (std::shared_ptr< WPSStream > &stream) | 
| finds the different OLE zones: wb2  More... | |
| bool | readZone (std::shared_ptr< WPSStream > &stream) | 
| try to read a zone  More... | |
| bool | readFieldName (std::shared_ptr< WPSStream > stream) | 
| read a list of field name + ...: zone b  More... | |
| bool | readExternalData (std::shared_ptr< WPSStream > stream) | 
| read a external filename/name: zone 97,98  More... | |
| bool | readFontDef (std::shared_ptr< WPSStream > stream) | 
| read a font: zone cf, fc and 110  More... | |
| bool | readColorList (std::shared_ptr< WPSStream > stream) | 
| read a color lits: zone e8  More... | |
| bool | readStyleName (std::shared_ptr< WPSStream > stream) | 
| read a style name: zone d0  More... | |
| bool | readHeaderFooter (std::shared_ptr< WPSStream > stream, bool header) | 
| reads the header/footer: zone 25,26  More... | |
| bool | readPaneAttribute (std::shared_ptr< WPSStream > stream) | 
| read the pane attribute: d1  More... | |
| bool | readOptimizer (std::shared_ptr< WPSStream > stream) | 
| read the first optimizer zone: 103  More... | |
| bool | readQueryCommand (std::shared_ptr< WPSStream > stream) | 
| read the table query command zone: 12f  More... | |
| bool | readCString (std::shared_ptr< WPSStream > stream, librevenge::RVNGString &string, long maxSize) | 
| try to read a basic C string, knowing the maximum size  More... | |
| bool | readBlockList (std::shared_ptr< WPSStream > stream) | 
| reads some cell reference list (potential followed by other data)  More... | |
| bool | readZone341 (std::shared_ptr< WPSStream > stream) | 
| reads a big zone(chart?) which contains sub zones: 341  More... | |
| bool | parseOLEStream (RVNGInputStreamPtr input, std::string const &avoid="") | 
| try to parse the OLE stream(except the main stream)  More... | |
| bool | readOleLinkInfo (std::shared_ptr< WPSStream > stream, librevenge::RVNGString &link) | 
| try to read the link info sub stream  More... | |
| RVNGInputStreamPtr | decodeStream (RVNGInputStreamPtr input, std::vector< uint8_t > const &key) const | 
| try to decode a stream, if successful, replace the stream'input by the new one  More... | |
|  Protected Member Functions inherited from WKSParser | |
| RVNGInputStreamPtr & | getInput () | 
| void | resetInput (RVNGInputStreamPtr const &newInput) | 
| RVNGInputStreamPtr | getFileInput () | 
| WPSHeaderPtr & | getHeader () | 
| int | version () const | 
| void | setVersion (int vers) | 
| libwps::DebugFile & | ascii () | 
| a DebugFile used to write what we recognize when we parse the document  More... | |
| Static Protected Member Functions | |
| static bool | readCellPosition (std::shared_ptr< WPSStream > stream) | 
| read the cell's position: zone 96  More... | |
| static bool | readSerieExtension (std::shared_ptr< WPSStream > stream) | 
| read the serie extension zone: 2dc  More... | |
| static bool | readOleBOlePart (std::shared_ptr< WPSStream > stream) | 
| try to read the BOlePart sub stream: a zone which contains 5 long  More... | |
| Protected Attributes | |
| std::shared_ptr< WKSContentListener > | m_listener | 
| std::shared_ptr< QuattroParserInternal::State > | m_state | 
| the listener (if set)  More... | |
| std::shared_ptr< QuattroGraph > | m_graphParser | 
| the graph manager  More... | |
| std::shared_ptr< QuattroSpreadsheet > | m_spreadsheetParser | 
| the spreadsheet manager  More... | |
| Friends | |
| class | QuattroParserInternal::SubDocument | 
| class | QuattroGraph | 
| class | QuattroSpreadsheet | 
This class parses Quattro Pro spreadsheet: .wb1, ..., .wb3.
| QuattroParser::QuattroParser | ( | RVNGInputStreamPtr & | input, | 
| WPSHeaderPtr & | header, | ||
| libwps_tools_win::Font::Type | encoding = libwps_tools_win::Font::UNKNOWN, | ||
| char const * | password = nullptr | ||
| ) | 
constructor
| 
 | final | 
destructor
| 
 | protected | 
checks if the document header is correct (or not)
| bool QuattroParser::checkHeader | ( | WPSHeader * | header, | 
| bool | strict = false | ||
| ) | 
checks if the document header is correct (or not)
Referenced by libwps::WPSDocument::isFileFormatSupported(), and parse().
| 
 | protected | 
creates the main listener
Referenced by parse().
| 
 | protected | 
try to decode a stream, if successful, replace the stream'input by the new one
Referenced by readZone().
returns the beginning position of a cell
Referenced by QuattroGraph::sendShape(), and QuattroGraph::sendTextbox().
| 
 | protected | 
returns the color corresponding to an id
Referenced by QuattroSpreadsheet::readCellStyle(), and readPaneAttribute().
| 
 | protected | 
returns the default font type, ie.
the encoding given by the constructor if given or the encoding deduced from the version.
Referenced by parseOLEStream(), QuattroSpreadsheet::readCell(), QuattroSpreadsheet::readCellStyle(), QuattroSpreadsheet::readColumnRowDefaultSize(), QuattroSpreadsheet::readColumnSize(), readCString(), readFontDef(), QuattroSpreadsheet::readRowRangeSize(), QuattroSpreadsheet::readRowSize(), QuattroGraph::send(), and QuattroSpreadsheet::sendSpreadsheet().
| 
 | protected | 
returns the name of the fId file
Referenced by QuattroSpreadsheet::readCellReference().
| 
 | protected | 
returns the text and cell of a field instruction
Referenced by QuattroSpreadsheet::readCellReference().
| 
 | protected | 
returns the font corresponding to an id
Referenced by QuattroSpreadsheet::readCellStyle().
| 
 | finalvirtual | 
called by WPSDocument to parse the file
Implements WKSParser.
| 
 | protected | 
try to parse the OLE stream(except the main stream)
Referenced by readOLEZones(), and readZones().
| 
 | protected | 
reads some cell reference list (potential followed by other data)
Referenced by readZone().
| 
 | staticprotected | 
read the cell's position: zone 96
Referenced by readZone().
| 
 | protected | 
read a color lits: zone e8
Referenced by readZone().
| 
 | protected | 
try to read a basic C string, knowing the maximum size
Referenced by QuattroGraph::readBitmap(), QuattroGraph::readButton(), QuattroSpreadsheet::readCell(), QuattroGraph::readChart(), QuattroGraph::readDialog(), readExternalData(), readFieldName(), QuattroGraph::readFillData(), readFontDef(), QuattroGraph::readFrame(), QuattroGraph::readFrameOLE(), readHeaderFooter(), QuattroGraph::readImage(), QuattroGraph::readOLEData(), readOleLinkInfo(), readOLEZones(), QuattroGraph::readShape(), QuattroSpreadsheet::readSheetName(), readStyleName(), QuattroGraph::readTextBox(), and readZone().
| 
 | protected | 
read a external filename/name: zone 97,98
Referenced by readZone().
| 
 | protected | 
read a list of field name + ...: zone b
Referenced by readZone().
| 
 | protected | 
read a font: zone cf, fc and 110
Referenced by readZone().
| 
 | protected | 
reads the header/footer: zone 25,26
Referenced by readZone().
| 
 | staticprotected | 
try to read the BOlePart sub stream: a zone which contains 5 long
Referenced by parseOLEStream().
| 
 | protected | 
try to read the link info sub stream
Referenced by parseOLEStream().
| 
 | protected | 
finds the different OLE zones: wb2
Referenced by readZones().
| 
 | protected | 
read the first optimizer zone: 103
Referenced by readZone().
| 
 | protected | 
read the pane attribute: d1
Referenced by readZone().
| 
 | protected | 
read the table query command zone: 12f
Referenced by readZone().
| 
 | staticprotected | 
read the serie extension zone: 2dc
Referenced by readZone().
| 
 | protected | 
read a style name: zone d0
Referenced by readZone().
| 
 | protected | 
try to read a zone
Referenced by checkHeader(), readZone341(), and readZones().
| 
 | protected | 
reads a big zone(chart?) which contains sub zones: 341
Referenced by readZone().
| 
 | protected | 
finds the different zones (spreadsheet, chart, print, ...)
Referenced by parse().
| 
 | protected | 
send the graphic corresponding to a cell
Referenced by QuattroSpreadsheet::sendCellContent().
| 
 | protected | 
send the header/footer
Referenced by QuattroParserInternal::SubDocument::parse().
| 
 | protected | 
send the page graphic corresponding to a sheet
Referenced by QuattroSpreadsheet::sendSpreadsheet().
| 
 | protected | 
return the file version
Referenced by decodeStream(), readZone341(), readZones(), QuattroSpreadsheet::version(), and QuattroGraph::version().
| 
 | friend | 
| 
 | friend | 
| 
 | friend | 
| 
 | protected | 
the graph manager
Referenced by parse(), parseOLEStream(), readZone(), readZones(), sendGraphics(), and sendPageGraphics().
| 
 | protected | 
Referenced by parse(), and sendHeaderFooter().
| 
 | protected | 
the spreadsheet manager
Referenced by createListener(), getCellPosition(), parse(), readBlockList(), readFieldName(), readOptimizer(), readQueryCommand(), readZone(), and readZones().
| 
 | protected | 
the listener (if set)
the internal state
Referenced by checkHeader(), createListener(), getColor(), getDefaultFontType(), getExternalFileName(), getField(), getFont(), parseOLEStream(), readColorList(), readExternalData(), readFieldName(), readFontDef(), readHeaderFooter(), readZone(), readZone341(), readZones(), sendHeaderFooter(), and version().