the main class to read a Claris Works file More...
#include <CWParser.hxx>
Public Member Functions | |
| CWParser (MWAWInputStreamPtr input, MWAWRSRCParserPtr rsrcParser, MWAWHeader *header) | |
| constructor | |
| virtual | ~CWParser () |
| destructor | |
| bool | checkHeader (MWAWHeader *header, bool strict=false) |
| checks if the document header is correct (or not) | |
| void | parse (WPXDocumentInterface *documentInterface) |
| virtual function used to parse the input | |
Protected Member Functions | |
| void | init () |
| inits all internal variables | |
| void | createDocument (WPXDocumentInterface *documentInterface) |
| creates the listener which will be associated to the document | |
| bool | createZones () |
| finds the different objects zones | |
| shared_ptr< CWStruct::DSET > | getZone (int zId) const |
| return the zone corresponding to an id ( low level) | |
| bool | exploreZonesGraph () |
| try to find the zone dags structure... | |
| bool | exploreZonesGraphRec (int zId, std::set< int > ¬DoneList) |
| try to find the zone tree graph ( DSF) function | |
| void | typeMainZones () |
| try to type the main zones | |
| int | typeMainZonesRec (int zId, CWStruct::DSET::Type type, int maxHeight) |
| try to type the main zones recursif, returns the father id | |
| bool | readZone () |
| read a zone | |
| bool | readPrintInfo () |
| read the print info zone | |
| bool | readStructZone (char const *zoneName, bool hasEntete) |
| try to read a structured zone | |
| bool | readStructIntZone (char const *zoneName, bool hasEntete, int fSz, std::vector< int > &res) |
| try to read a int structured zone where fSz to the int size: 1(int8), 2(int16), 4(int32) | |
| Vec2i | getDocumentPages () const |
| returns the number of expected pages ( accross pages x down page) | |
| double | getTextHeight () const |
| returns the page height, ie. paper size less margin (in inches) less header/footer size | |
| Vec2f | getPageLeftTop () const |
| returns the page left top point ( in inches) | |
| void | newPage (int number) |
| adds a new page | |
| bool | canSendZoneAsGraphic (int number) const |
| check if we can send a zone as a graphic | |
| bool | sendZone (int zoneId, bool asGraphic, MWAWPosition pos=MWAWPosition()) |
| send a zone | |
| void | forceParsed (int zoneId) |
| indicate that a zone is already parsed | |
| void | sendFootnote (int zoneId) |
| creates a document to send a footnote | |
| MWAWSection | getMainSection () const |
| returns the columns information | |
| void | getHeaderFooterId (int &headerId, int &footerId) const |
| returns the header/footer id | |
| bool | readDocHeader () |
| reads the document header | |
| bool | readDocInfo () |
| reads the document info part ( end of the header) | |
| bool | readEndTable () |
| reads the end table ( appears in v3.0 : file version ? ) | |
| shared_ptr< CWStruct::DSET > | readDSET (bool &complete) |
| reads the zone DSET | |
| bool | readDSUM (MWAWEntry const &entry, bool inHeader) |
| bool | readTNAM (MWAWEntry const &entry) |
| bool | readSNAP (MWAWEntry const &entry) |
| bool | readCPRT (MWAWEntry const &entry) |
| void | checkOrdering (std::vector< int16_t > &vec16, std::vector< int32_t > &vec32) const |
| small fonction used to check unusual endian ordering of a list of int16_t, int32_t | |
Protected Attributes | |
| shared_ptr < CWParserInternal::State > | m_state |
| the state | |
| bool | m_pageSpanSet |
| a flag to know if pageSpan is filled | |
| shared_ptr< CWDatabase > | m_databaseParser |
| the database parser | |
| shared_ptr< CWGraph > | m_graphParser |
| the graph parser | |
| shared_ptr< CWPresentation > | m_presentationParser |
| the spreadsheet parser | |
| shared_ptr< CWSpreadsheet > | m_spreadsheetParser |
| the spreadsheet parser | |
| shared_ptr< CWStyleManager > | m_styleManager |
| the style manager | |
| shared_ptr< CWTable > | m_tableParser |
| the table parser | |
| shared_ptr< CWText > | m_textParser |
| the text parser | |
Friends | |
| class | CWParserInternal::SubDocument |
| class | CWDatabase |
| class | CWGraph |
| class | CWPresentation |
| class | CWSpreadsheet |
| class | CWStyleManager |
| class | CWTable |
| class | CWText |
the main class to read a Claris Works file
| CWParser::CWParser | ( | MWAWInputStreamPtr | input, |
| MWAWRSRCParserPtr | rsrcParser, | ||
| MWAWHeader * | header | ||
| ) |
constructor
| CWParser::~CWParser | ( | ) | [virtual] |
destructor
| bool CWParser::canSendZoneAsGraphic | ( | int | number | ) | const [protected] |
check if we can send a zone as a graphic
Referenced by CWGraph::canSendAsGraphic(), CWGraph::sendGroup(), and CWGraph::sendGroupChild().
| bool CWParser::checkHeader | ( | MWAWHeader * | header, |
| bool | strict = false |
||
| ) | [virtual] |
| void CWParser::checkOrdering | ( | std::vector< int16_t > & | vec16, |
| std::vector< int32_t > & | vec32 | ||
| ) | const [protected] |
small fonction used to check unusual endian ordering of a list of int16_t, int32_t
Referenced by CWStyleManager::readGraphStyles(), and CWGraph::readGroupUnknown().
| void CWParser::createDocument | ( | WPXDocumentInterface * | documentInterface | ) | [protected] |
creates the listener which will be associated to the document
Referenced by parse().
| bool CWParser::createZones | ( | ) | [protected] |
finds the different objects zones
Referenced by parse().
| bool CWParser::exploreZonesGraph | ( | ) | [protected] |
try to find the zone dags structure...
Referenced by createZones().
| bool CWParser::exploreZonesGraphRec | ( | int | zId, |
| std::set< int > & | notDoneList | ||
| ) | [protected] |
try to find the zone tree graph ( DSF) function
Referenced by exploreZonesGraph().
| void CWParser::forceParsed | ( | int | zoneId | ) | [protected] |
indicate that a zone is already parsed
Referenced by CWPresentation::sendZone(), and CWTable::sendZone().
| Vec2i CWParser::getDocumentPages | ( | ) | const [protected] |
returns the number of expected pages ( accross pages x down page)
Referenced by CWGraph::numPages().
| void CWParser::getHeaderFooterId | ( | int & | headerId, |
| int & | footerId | ||
| ) | const [protected] |
returns the header/footer id
Referenced by CWGraph::updateInformation().
| MWAWSection CWParser::getMainSection | ( | ) | const [protected] |
returns the columns information
Referenced by CWText::sendText().
| Vec2f CWParser::getPageLeftTop | ( | ) | const [protected] |
returns the page left top point ( in inches)
Referenced by CWGraph::sendGroup().
| double CWParser::getTextHeight | ( | ) | const [protected] |
returns the page height, ie. paper size less margin (in inches) less header/footer size
Referenced by CWGraph::updateInformation().
| shared_ptr< CWStruct::DSET > CWParser::getZone | ( | int | zId | ) | const [protected] |
return the zone corresponding to an id ( low level)
Referenced by CWGraph::sendGroup(), and CWGraph::sendGroupChild().
| void CWParser::init | ( | ) | [protected] |
inits all internal variables
Referenced by CWParser().
| void CWParser::newPage | ( | int | number | ) | [protected] |
adds a new page
Referenced by CWText::sendText(), and CWPresentation::sendZone().
| void CWParser::parse | ( | WPXDocumentInterface * | documentInterface | ) | [virtual] |
virtual function used to parse the input
Implements MWAWParser.
| bool CWParser::readCPRT | ( | MWAWEntry const & | entry | ) | [protected] |
Referenced by readEndTable().
| bool CWParser::readDocHeader | ( | ) | [protected] |
reads the document header
Referenced by createZones().
| bool CWParser::readDocInfo | ( | ) | [protected] |
reads the document info part ( end of the header)
Referenced by createZones().
| shared_ptr< CWStruct::DSET > CWParser::readDSET | ( | bool & | complete | ) | [protected] |
| bool CWParser::readDSUM | ( | MWAWEntry const & | entry, |
| bool | inHeader | ||
| ) | [protected] |
Referenced by readDocHeader(), and readEndTable().
| bool CWParser::readEndTable | ( | ) | [protected] |
reads the end table ( appears in v3.0 : file version ? )
Referenced by createZones().
| bool CWParser::readPrintInfo | ( | ) | [protected] |
read the print info zone
Referenced by readDocHeader().
| bool CWParser::readSNAP | ( | MWAWEntry const & | entry | ) | [protected] |
Referenced by readEndTable().
| bool CWParser::readStructIntZone | ( | char const * | zoneName, |
| bool | hasEntete, | ||
| int | fSz, | ||
| std::vector< int > & | res | ||
| ) | [protected] |
try to read a int structured zone where fSz to the int size: 1(int8), 2(int16), 4(int32)
Referenced by CWGraph::readGroupHeader().
| bool CWParser::readStructZone | ( | char const * | zoneName, |
| bool | hasEntete | ||
| ) | [protected] |
try to read a structured zone
Referenced by readDocHeader(), and readZone().
| bool CWParser::readTNAM | ( | MWAWEntry const & | entry | ) | [protected] |
Referenced by readEndTable().
| bool CWParser::readZone | ( | ) | [protected] |
read a zone
Referenced by createZones().
| void CWParser::sendFootnote | ( | int | zoneId | ) | [protected] |
creates a document to send a footnote
Referenced by CWText::sendText().
| bool CWParser::sendZone | ( | int | zoneId, |
| bool | asGraphic, | ||
| MWAWPosition | pos = MWAWPosition() |
||
| ) | [protected] |
send a zone
Referenced by CWTable::askMainToSendZone(), CWGraph::askToSend(), parse(), CWGraph::sendGroup(), CWGraph::sendGroupChild(), CWText::sendText(), and CWPresentation::sendZone().
| void CWParser::typeMainZones | ( | ) | [protected] |
try to type the main zones
Referenced by createZones().
| int CWParser::typeMainZonesRec | ( | int | zId, |
| CWStruct::DSET::Type | type, | ||
| int | maxHeight | ||
| ) | [protected] |
try to type the main zones recursif, returns the father id
Referenced by typeMainZones().
friend class CWDatabase [friend] |
Referenced by init().
friend class CWParserInternal::SubDocument [friend] |
friend class CWPresentation [friend] |
Referenced by init().
friend class CWSpreadsheet [friend] |
Referenced by init().
friend class CWStyleManager [friend] |
Referenced by init().
shared_ptr<CWDatabase> CWParser::m_databaseParser [protected] |
the database parser
Referenced by canSendZoneAsGraphic(), createDocument(), init(), readDSET(), and sendZone().
shared_ptr<CWGraph> CWParser::m_graphParser [protected] |
the graph parser
Referenced by canSendZoneAsGraphic(), createDocument(), init(), parse(), readDSET(), sendZone(), and typeMainZones().
bool CWParser::m_pageSpanSet [protected] |
a flag to know if pageSpan is filled
Referenced by readDocHeader(), and readPrintInfo().
shared_ptr<CWPresentation> CWParser::m_presentationParser [protected] |
the spreadsheet parser
Referenced by createDocument(), init(), parse(), readDSET(), sendZone(), and typeMainZones().
shared_ptr<CWSpreadsheet> CWParser::m_spreadsheetParser [protected] |
the spreadsheet parser
Referenced by canSendZoneAsGraphic(), createDocument(), init(), readDSET(), and sendZone().
shared_ptr<CWParserInternal::State> CWParser::m_state [protected] |
the state
Referenced by canSendZoneAsGraphic(), checkHeader(), createDocument(), createZones(), exploreZonesGraph(), exploreZonesGraphRec(), forceParsed(), getDocumentPages(), getHeaderFooterId(), getMainSection(), getPageLeftTop(), getTextHeight(), getZone(), init(), newPage(), parse(), readDocHeader(), readDocInfo(), readDSET(), readEndTable(), sendZone(), typeMainZones(), and typeMainZonesRec().
shared_ptr<CWStyleManager> CWParser::m_styleManager [protected] |
the style manager
Referenced by init(), readDocHeader(), and readEndTable().
shared_ptr<CWTable> CWParser::m_tableParser [protected] |
the table parser
Referenced by createDocument(), init(), parse(), readDSET(), and sendZone().
shared_ptr<CWText> CWParser::m_textParser [protected] |
the text parser
Referenced by canSendZoneAsGraphic(), createDocument(), init(), parse(), readDocHeader(), readDSET(), CWStyleManager::readGenStyle(), and sendZone().