the main class to read a Mariner Write file More...
#include <MRWParser.hxx>
Public Member Functions | |
MRWParser (MWAWInputStreamPtr input, MWAWRSRCParserPtr rsrcParser, MWAWHeader *header) | |
constructor | |
virtual | ~MRWParser () |
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 | |
bool | readZone (int &actZone, bool onlyTest=false) |
try to read a zone | |
Vec2f | getPageLeftTop () const |
returns the page left top point ( in inches) | |
MWAWSection | getSection (int zoneId) const |
returns the section information corresponding to a zone | |
void | newPage (int number) |
adds a new page | |
int | getZoneId (uint32_t fileId, bool &endNote) |
return a zoneid corresponding to a fileId (or -1) and set the endnote flag | |
void | sendText (int zoneId) |
ask the text parser to send a zone | |
float | getPatternPercent (int id) const |
return the pattern percent which corresponds to an id (or -1) | |
void | sendToken (int zoneId, long tokenId) |
ask the graph parser to send a token | |
bool | readEntryHeader (MRWEntry &entry) |
try to read an entry header | |
bool | decodeZone (std::vector< MRWStruct > &dataList, long numData=999999) |
try to decode a zone | |
bool | readSeparator (MRWEntry const &entry) |
try to read the separator of differents part | |
bool | readZoneDim (MRWEntry const &entry, int zoneId) |
try to read the zone dimension ( normal and with margin ) | |
bool | readZoneHeader (MRWEntry const &entry, int zoneId, bool onlyTest) |
try to read the zone header | |
bool | readZoneb (MRWEntry const &entry, int zoneId) |
try to read a unknown zone : one by separator?, borderdim? | |
bool | readZonec (MRWEntry const &entry, int zoneId) |
try to read a unknown zone of 9 int | |
bool | readZone13 (MRWEntry const &entry, int zoneId) |
try to read a unknown zone of 23 int | |
bool | readDocInfo (MRWEntry const &entry, int zoneId) |
try to read the doc info zone | |
bool | readPrintInfo (MRWEntry const &entry) |
try to read a printinfo zone | |
bool | readCPRT (MRWEntry const &entry) |
try to read a xml printinfo zone | |
bool | readNumbersString (int num, std::vector< long > &res) |
try to read a number or a list of number entries | |
Protected Attributes | |
shared_ptr < MRWParserInternal::State > | m_state |
the state | |
bool | m_pageMarginsSpanSet |
a flag to know if page margins span are set | |
shared_ptr< MRWGraph > | m_graphParser |
the graph parser | |
shared_ptr< MRWText > | m_textParser |
the text parser | |
Friends | |
class | MRWGraph |
class | MRWText |
class | MRWParserInternal::SubDocument |
the main class to read a Mariner Write file
MRWParser::MRWParser | ( | MWAWInputStreamPtr | input, |
MWAWRSRCParserPtr | rsrcParser, | ||
MWAWHeader * | header | ||
) |
constructor
MRWParser::~MRWParser | ( | ) | [virtual] |
destructor
bool MRWParser::checkHeader | ( | MWAWHeader * | header, |
bool | strict = false |
||
) | [virtual] |
void MRWParser::createDocument | ( | WPXDocumentInterface * | documentInterface | ) | [protected] |
creates the listener which will be associated to the document
Referenced by parse().
bool MRWParser::createZones | ( | ) | [protected] |
finds the different objects zones
Referenced by parse().
bool MRWParser::decodeZone | ( | std::vector< MRWStruct > & | dataList, |
long | numData = 999999 |
||
) | [protected] |
try to decode a zone
Referenced by readDocInfo(), MRWText::readFontNames(), MRWText::readFonts(), MRWText::readPLCZone(), MRWGraph::readPostscript(), MRWText::readRulers(), readSeparator(), MRWText::readStyleNames(), MRWText::readTextStruct(), MRWGraph::readToken(), MRWText::readZone(), readZone(), readZone13(), readZoneb(), readZonec(), readZoneDim(), and readZoneHeader().
Vec2f MRWParser::getPageLeftTop | ( | ) | const [protected] |
returns the page left top point ( in inches)
float MRWParser::getPatternPercent | ( | int | id | ) | const [protected] |
return the pattern percent which corresponds to an id (or -1)
Referenced by MRWText::readRulers(), and MRWText::sendTable().
MWAWSection MRWParser::getSection | ( | int | zoneId | ) | const [protected] |
returns the section information corresponding to a zone
Referenced by MRWText::send().
int MRWParser::getZoneId | ( | uint32_t | fileId, |
bool & | endNote | ||
) | [protected] |
return a zoneid corresponding to a fileId (or -1) and set the endnote flag
Referenced by MRWGraph::sendToken().
void MRWParser::init | ( | ) | [protected] |
inits all internal variables
Referenced by MRWParser().
void MRWParser::newPage | ( | int | number | ) | [protected] |
adds a new page
Referenced by MRWText::send().
void MRWParser::parse | ( | WPXDocumentInterface * | documentInterface | ) | [virtual] |
virtual function used to parse the input
Implements MWAWParser.
bool MRWParser::readCPRT | ( | MRWEntry const & | entry | ) | [protected] |
try to read a xml printinfo zone
Referenced by readZone().
bool MRWParser::readDocInfo | ( | MRWEntry const & | entry, |
int | zoneId | ||
) | [protected] |
try to read the doc info zone
Referenced by readZone().
bool MRWParser::readEntryHeader | ( | MRWEntry & | entry | ) | [protected] |
try to read an entry header
Referenced by readZone().
bool MRWParser::readNumbersString | ( | int | num, |
std::vector< long > & | res | ||
) | [protected] |
try to read a number or a list of number entries
Referenced by decodeZone(), and readEntryHeader().
bool MRWParser::readPrintInfo | ( | MRWEntry const & | entry | ) | [protected] |
try to read a printinfo zone
Referenced by readZone().
bool MRWParser::readSeparator | ( | MRWEntry const & | entry | ) | [protected] |
try to read the separator of differents part
Referenced by readZone().
bool MRWParser::readZone | ( | int & | actZone, |
bool | onlyTest = false |
||
) | [protected] |
try to read a zone
Referenced by checkHeader(), and createZones().
bool MRWParser::readZone13 | ( | MRWEntry const & | entry, |
int | zoneId | ||
) | [protected] |
try to read a unknown zone of 23 int
Referenced by readZone().
bool MRWParser::readZoneb | ( | MRWEntry const & | entry, |
int | zoneId | ||
) | [protected] |
try to read a unknown zone : one by separator?, borderdim?
Referenced by readZone().
bool MRWParser::readZonec | ( | MRWEntry const & | entry, |
int | zoneId | ||
) | [protected] |
try to read a unknown zone of 9 int
Referenced by readZone().
bool MRWParser::readZoneDim | ( | MRWEntry const & | entry, |
int | zoneId | ||
) | [protected] |
try to read the zone dimension ( normal and with margin )
Referenced by readZone().
bool MRWParser::readZoneHeader | ( | MRWEntry const & | entry, |
int | zoneId, | ||
bool | onlyTest | ||
) | [protected] |
try to read the zone header
Referenced by readZone().
void MRWParser::sendText | ( | int | zoneId | ) | [protected] |
ask the text parser to send a zone
Referenced by MRWGraph::sendText().
void MRWParser::sendToken | ( | int | zoneId, |
long | tokenId | ||
) | [protected] |
ask the graph parser to send a token
Referenced by MRWText::send().
friend class MRWParserInternal::SubDocument [friend] |
shared_ptr<MRWGraph> MRWParser::m_graphParser [protected] |
the graph parser
Referenced by createDocument(), getPatternPercent(), init(), parse(), readZone(), and sendToken().
bool MRWParser::m_pageMarginsSpanSet [protected] |
a flag to know if page margins span are set
Referenced by readDocInfo(), and readPrintInfo().
shared_ptr<MRWParserInternal::State> MRWParser::m_state [protected] |
the state
Referenced by checkHeader(), createDocument(), createZones(), getPageLeftTop(), getSection(), getZoneId(), init(), newPage(), readDocInfo(), readZonec(), readZoneDim(), and readZoneHeader().
shared_ptr<MRWText> MRWParser::m_textParser [protected] |
the text parser
Referenced by createDocument(), init(), parse(), readZone(), and sendText().