This class parses Quattro Pro spreadsheet: .wq1 and wq2. 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... | |
| librevenge::RVNGString | getFileName (int fId) const |
| returns the name of the fId file More... | |
| bool | getField (int fId, librevenge::RVNGString &text, WKSContentListener::FormulaInstruction &instr) 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... | |
| 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 | readCellPosition (std::shared_ptr< WPSStream > stream) |
| read the cell's position: zone 96 More... | |
| bool | readFileName (std::shared_ptr< WPSStream > stream) |
| read a file name: zone 97 More... | |
| bool | readFontDef (std::shared_ptr< WPSStream > stream) |
| read a font: zone cf More... | |
| bool | readColorList (std::shared_ptr< WPSStream > stream) |
| read a font: 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 | readCString (std::shared_ptr< WPSStream > stream, librevenge::RVNGString &string, long maxSize) |
| try to read a basic C string, knowing the maximum size More... | |
| bool | readPageSetup (std::shared_ptr< WPSStream > stream) |
| read a page setup zone: fc More... | |
| bool | readRangeList (std::shared_ptr< WPSStream > stream) |
| reads some range spreadsheet zones More... | |
| bool | readZone341 (std::shared_ptr< WPSStream > stream) |
| reads a big zone(chart?) which contains sub zones: 341 More... | |
| bool | readOleLinkInfo (std::shared_ptr< WPSStream > stream, librevenge::RVNGString &link) |
| try to read the link info sub stream More... | |
| bool | readOleBOlePart (std::shared_ptr< WPSStream > stream) |
| try to read the BOlePart sub stream: a zone which contains 5 long 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 RVNGInputStreamPtr | decodeStream (RVNGInputStreamPtr input, std::vector< uint8_t > const &key) |
| try to decode a stream, if successful, replace the stream'input by the new one 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 chart 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: .wq1 and wq2.
| QuattroParser::QuattroParser | ( | RVNGInputStreamPtr & | input, |
| WPSHeaderPtr & | header, | ||
| libwps_tools_win::Font::Type | encoding = libwps_tools_win::Font::UNKNOWN, |
||
| char const * | password = nullptr |
||
| ) |
constructor
|
final |
destructor
| bool QuattroParser::checkHeader | ( | WPSHeader * | header, |
| bool | strict = false |
||
| ) |
checks if the document header is correct (or not)
Referenced by parse().
|
protected |
checks if the document header is correct (or not)
|
protected |
creates the main listener
Referenced by parse().
|
staticprotected |
try to decode a stream, if successful, replace the stream'input by the new one
Referenced by readZone().
|
protected |
returns the color corresponding to an id
Referenced by QuattroSpreadsheet::readCellStyle().
|
protected |
returns the default font type, ie.
the encoding given by the constructor if given or the encoding deduiced from the version.
Referenced by QuattroSpreadsheet::readCell(), QuattroSpreadsheet::readCellStyle(), QuattroSpreadsheet::readColumnSize(), readCString(), readFontDef(), QuattroSpreadsheet::readRowSize(), and QuattroSpreadsheet::sendSpreadsheet().
|
protected |
returns the text and cell of a field instruction
Referenced by QuattroSpreadsheet::readFormula().
|
protected |
returns the name of the fId file
Referenced by QuattroSpreadsheet::readFormula().
|
protected |
returns the font corresponding to an id
Referenced by QuattroSpreadsheet::readCellStyle().
|
finalvirtual |
called by WPSDocument to parse the file
Implements WKSParser.
|
protected |
read the cell's position: zone 96
Referenced by readZone().
|
protected |
read a font: 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(), readFieldName(), readFileName(), readFontDef(), QuattroGraph::readFrame(), QuattroGraph::readFrameOLE(), readHeaderFooter(), QuattroGraph::readImage(), QuattroGraph::readOLEData(), readOleLinkInfo(), readOLEZones(), readPageSetup(), QuattroSpreadsheet::readSheetName(), readStyleName(), and readZone().
|
protected |
read a list of field name + ...: zone b
Referenced by readZone().
|
protected |
read a file name: zone 97
Referenced by readZone().
|
protected |
read a font: zone cf
Referenced by readZone().
|
protected |
reads the header/footer: zone 25,26
Referenced by readZone().
|
protected |
try to read the BOlePart sub stream: a zone which contains 5 long
Referenced by readOLEZones().
|
protected |
try to read the link info sub stream
Referenced by readOLEZones().
|
protected |
finds the different OLE zones: wb2
Referenced by readZones().
|
protected |
read a page setup zone: fc
Referenced by readZone().
|
protected |
reads some range spreadsheet zones
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 |
return the file version
Referenced by readZones(), QuattroSpreadsheet::version(), and QuattroGraph::version().
|
friend |
|
friend |
|
friend |
|
protected |
the chart manager
the graph manager
Referenced by parse(), readOLEZones(), readZone(), readZones(), and sendGraphics().
|
protected |
Referenced by parse(), and sendHeaderFooter().
|
protected |
the spreadsheet manager
Referenced by createListener(), parse(), readZone(), and readZones().
|
protected |
the listener (if set)
the internal state
Referenced by checkHeader(), createListener(), getColor(), getDefaultFontType(), getField(), getFileName(), getFont(), readColorList(), readFieldName(), readFileName(), readFontDef(), readHeaderFooter(), readZone(), readZones(), sendHeaderFooter(), and version().