MRWParser Class Reference

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

#include <MRWParser.hxx>

Inheritance diagram for MRWParser:
MWAWParser

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
- Public Member Functions inherited from MWAWParser
virtual ~MWAWParser ()
 virtual destructor
int version () const
 returns the works version
void setVersion (int vers)
 sets the works version

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, MWAWFont const &actFont)
 ask the graph parser to send a token
bool isFilePos (long pos)
 check if an entry is in file
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 Member Functions inherited from MWAWParser
 MWAWParser (MWAWInputStreamPtr input, MWAWRSRCParserPtr rsrcParser, MWAWHeader *header)
 constructor (protected)
 MWAWParser (MWAWParserStatePtr state)
 constructor using a state
MWAWParserStatePtr getParserState ()
 returns the parser state
MWAWHeadergetHeader ()
 returns the header
MWAWInputStreamPtrgetInput ()
 returns the actual input
MWAWContentListenerPtrgetListener ()
 returns the listener
MWAWPageSpan const & getPageSpan () const
 returns the actual page dimension
MWAWPageSpangetPageSpan ()
 returns the actual page dimension
double getFormLength () const
 returns the form length
double getFormWidth () const
 returns the form width
double getPageLength () const
 returns the page length (form length without margin )
double getPageWidth () const
 returns the page width (form width without margin )
MWAWRSRCParserPtrgetRSRCParser ()
 returns the rsrc parser
void setListener (MWAWContentListenerPtr &listener)
 sets the listener
void resetListener ()
 resets the listener
MWAWFontConverterPtrgetFontConverter ()
 returns the font converter
void setFontConverter (MWAWFontConverterPtr fontConverter)
 sets the font convertor
libmwaw::DebugFileascii ()
 a DebugFile used to write what we recognize when we parse the document
void setAsciiName (char const *name)
 Debugging: change the default ascii file.
std::string const & asciiName () const
 return the ascii file name

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

bool MRWParser::isFilePos ( long  pos)
protected

check if an entry is in file

Referenced by checkHeader(), decodeZone(), and readEntryHeader().

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,
MWAWFont const &  actFont 
)
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().

bool MRWParser::m_pageMarginsSpanSet
protected

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:

Generated on Wed May 22 2013 18:12:45 for libmwaw by doxygen 1.8.1.2