MRWParser Class Reference

the main class to read a Mariner Write file More...

#include <MRWParser.hxx>

Inheritance diagram for MRWParser:
MWAWParser

List of all members.

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< MRWGraphm_graphParser
 the graph parser
shared_ptr< MRWTextm_textParser
 the text parser

Friends

class MRWGraph
class MRWText
class MRWParserInternal::SubDocument

Detailed Description

the main class to read a Mariner Write file


Constructor & Destructor Documentation

MRWParser::MRWParser ( MWAWInputStreamPtr  input,
MWAWRSRCParserPtr  rsrcParser,
MWAWHeader header 
)

constructor

MRWParser::~MRWParser ( ) [virtual]

destructor


Member Function Documentation

bool MRWParser::checkHeader ( MWAWHeader header,
bool  strict = false 
) [virtual]

checks if the document header is correct (or not)

Implements MWAWParser.

Referenced by parse().

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().

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().


Friends And Related Function Documentation

friend class MRWGraph [friend]

Referenced by init().

friend class MRWParserInternal::SubDocument [friend]
friend class MRWText [friend]

Referenced by init().


Member Data Documentation

shared_ptr<MRWGraph> MRWParser::m_graphParser [protected]

the graph parser

Referenced by createDocument(), getPatternPercent(), init(), parse(), readZone(), and sendToken().

a flag to know if page margins span are set

Referenced by readDocInfo(), and readPrintInfo().

shared_ptr<MRWText> MRWParser::m_textParser [protected]

the text parser

Referenced by createDocument(), init(), parse(), readZone(), and sendText().


The documentation for this class was generated from the following files: