FWParser Class Reference

the main class to read a FullWrite file More...

#include <FWParser.hxx>

Inheritance diagram for FWParser:
MWAWParser

Public Member Functions

 FWParser (MWAWInputStreamPtr input, MWAWRSRCParserPtr rsrcParser, MWAWHeader *header)
 constructor More...
 
virtual ~FWParser ()
 destructor More...
 
bool checkHeader (MWAWHeader *header, bool strict=false)
 checks if the document header is correct (or not) More...
 
void parse (WPXDocumentInterface *documentInterface)
 virtual function used to parse the input More...
 
- Public Member Functions inherited from MWAWParser
virtual ~MWAWParser ()
 virtual destructor More...
 
int version () const
 returns the works version More...
 
void setVersion (int vers)
 sets the works version More...
 

Protected Member Functions

void init ()
 inits all internal variables More...
 
void createDocument (WPXDocumentInterface *documentInterface)
 creates the listener which will be associated to the document More...
 
bool createZones ()
 finds the different objects zones More...
 
bool createFileZones ()
 create the file zone ( first step of create zones) More...
 
void newPage (int number)
 adds a new page More...
 
bool readDocPosition ()
 find the last position of the document and read data More...
 
bool readFileZoneFlags (FWStruct::EntryPtr zone)
 try to read the file zones main flags More...
 
bool readFileZonePos (FWStruct::EntryPtr zone)
 try to read the file zones position More...
 
bool readDocZoneData (FWStruct::EntryPtr zone)
 try to read the zone containing the data of each doc zone (ie. Zone0) More...
 
bool readDocZoneStruct (FWStruct::EntryPtr zone)
 try to read the zone which stores the structure of zone0, ... (ie. Zone1) More...
 
bool readDocInfo (FWStruct::EntryPtr zone)
 try to read zone2, a zone which stores the document information zone, ... More...
 
bool readEndDocInfo (FWStruct::EntryPtr zone)
 try to read the end of zone2 (only v2) ? More...
 
bool readCitationDocInfo (FWStruct::EntryPtr zone)
 try to read the list of citation (at the end of doc info) More...
 
bool readPrintInfo (FWStruct::EntryPtr zone)
 try read the print info zone More...
 
Vec2f getPageLeftTop () const
 returns the page left top point ( in inches) More...
 
bool getBorder (int bId, FWStruct::Border &border) const
 try to return a border corresponding to an id More...
 
void sendText (int docId, libmwaw::SubDocumentType type, MWAWNote::Type which=MWAWNote::FootNote)
 try to send a footnote/endnote entry More...
 
void sendGraphic (int docId)
 try to send a graphic More...
 
void sendVariable (int docId)
 try to send a variable, in pratice do nothing More...
 
void sendReference (int docId)
 try to send a reference, in pratice do nothing More...
 
bool send (int fileId, MWAWColor fontColor=MWAWColor::black())
 ask the text parser to send a zone More...
 
int getNumDocZoneStruct () const
 returns the number of zone struct More...
 
std::string getDocumentTypeName (int zId) const
 returns a the type of a document zone ( mainly used for debugging) More...
 
bool readReferenceData (FWStruct::EntryPtr zone)
 try to read the reference data More...
 
bool readGenericDocData (FWStruct::EntryPtr zone, FWStruct::ZoneHeader &doc)
 try to read the data of a zone which begins with a generic header More...
 
- Protected Member Functions inherited from MWAWParser
 MWAWParser (MWAWInputStreamPtr input, MWAWRSRCParserPtr rsrcParser, MWAWHeader *header)
 constructor (protected) More...
 
 MWAWParser (MWAWParserStatePtr state)
 constructor using a state More...
 
MWAWParserStatePtr getParserState ()
 returns the parser state More...
 
MWAWHeadergetHeader ()
 returns the header More...
 
MWAWInputStreamPtrgetInput ()
 returns the actual input More...
 
MWAWGraphicListenerPtrgetGraphicListener ()
 returns the graphic listener More...
 
MWAWContentListenerPtrgetListener ()
 returns the listener More...
 
MWAWPageSpan const & getPageSpan () const
 returns the actual page dimension More...
 
MWAWPageSpangetPageSpan ()
 returns the actual page dimension More...
 
double getFormLength () const
 returns the form length More...
 
double getFormWidth () const
 returns the form width More...
 
double getPageLength () const
 returns the page length (form length without margin ) More...
 
double getPageWidth () const
 returns the page width (form width without margin ) More...
 
MWAWRSRCParserPtrgetRSRCParser ()
 returns the rsrc parser More...
 
void setListener (MWAWContentListenerPtr &listener)
 sets the listener More...
 
void resetListener ()
 resets the listener More...
 
MWAWFontConverterPtrgetFontConverter ()
 returns the font converter More...
 
void setFontConverter (MWAWFontConverterPtr fontConverter)
 sets the font convertor More...
 
libmwaw::DebugFileascii ()
 a DebugFile used to write what we recognize when we parse the document More...
 
void setAsciiName (char const *name)
 Debugging: change the default ascii file. More...
 
std::string const & asciiName () const
 return the ascii file name More...
 

Protected Attributes

shared_ptr
< FWParserInternal::State
m_state
 the state More...
 
shared_ptr< FWGraphm_graphParser
 the graph parser More...
 
shared_ptr< FWTextm_textParser
 the text parser More...
 

Friends

class FWGraph
 
class FWText
 
class FWParserInternal::SubDocument
 

Detailed Description

the main class to read a FullWrite file

Constructor & Destructor Documentation

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

constructor

FWParser::~FWParser ( )
virtual

destructor

Member Function Documentation

bool FWParser::checkHeader ( MWAWHeader header,
bool  strict = false 
)
virtual

checks if the document header is correct (or not)

Implements MWAWParser.

Referenced by parse().

void FWParser::createDocument ( WPXDocumentInterface *  documentInterface)
protected

creates the listener which will be associated to the document

Referenced by parse().

bool FWParser::createFileZones ( )
protected

create the file zone ( first step of create zones)

Referenced by createZones().

bool FWParser::createZones ( )
protected

finds the different objects zones

Referenced by parse().

bool FWParser::getBorder ( int  bId,
FWStruct::Border border 
) const
protected

try to return a border corresponding to an id

Referenced by FWText::send(), and FWText::sendTable().

std::string FWParser::getDocumentTypeName ( int  zId) const
protected

returns a the type of a document zone ( mainly used for debugging)

Referenced by FWGraph::readGraphicData().

int FWParser::getNumDocZoneStruct ( ) const
protected

returns the number of zone struct

Referenced by FWText::readItem().

Vec2f FWParser::getPageLeftTop ( ) const
protected

returns the page left top point ( in inches)

Referenced by FWGraph::sendSideBar().

void FWParser::init ( )
protected

inits all internal variables

Referenced by FWParser().

void FWParser::newPage ( int  number)
protected

adds a new page

Referenced by FWText::send(), and FWText::sendMainText().

void FWParser::parse ( WPXDocumentInterface *  documentInterface)
virtual

virtual function used to parse the input

Implements MWAWParser.

bool FWParser::readCitationDocInfo ( FWStruct::EntryPtr  zone)
protected

try to read the list of citation (at the end of doc info)

Referenced by readEndDocInfo().

bool FWParser::readDocInfo ( FWStruct::EntryPtr  zone)
protected

try to read zone2, a zone which stores the document information zone, ...

Referenced by createZones().

bool FWParser::readDocPosition ( )
protected

find the last position of the document and read data

Referenced by checkHeader().

bool FWParser::readDocZoneData ( FWStruct::EntryPtr  zone)
protected

try to read the zone containing the data of each doc zone (ie. Zone0)

Referenced by createZones().

bool FWParser::readDocZoneStruct ( FWStruct::EntryPtr  zone)
protected

try to read the zone which stores the structure of zone0, ... (ie. Zone1)

Referenced by createZones().

bool FWParser::readEndDocInfo ( FWStruct::EntryPtr  zone)
protected

try to read the end of zone2 (only v2) ?

Referenced by readDocInfo().

bool FWParser::readFileZoneFlags ( FWStruct::EntryPtr  zone)
protected

try to read the file zones main flags

-1: generic, -2: null, other fId

Referenced by createFileZones().

bool FWParser::readFileZonePos ( FWStruct::EntryPtr  zone)
protected

try to read the file zones position

Referenced by createFileZones().

bool FWParser::readGenericDocData ( FWStruct::EntryPtr  zone,
FWStruct::ZoneHeader doc 
)
protected

try to read the data of a zone which begins with a generic header

Referenced by readDocZoneData().

bool FWParser::readPrintInfo ( FWStruct::EntryPtr  zone)
protected

try read the print info zone

Referenced by readDocInfo().

bool FWParser::readReferenceData ( FWStruct::EntryPtr  zone)
protected

try to read the reference data

Referenced by readDocZoneData().

bool FWParser::send ( int  fileId,
MWAWColor  fontColor = MWAWColor::black() 
)
protected

ask the text parser to send a zone

Referenced by FWGraph::send().

void FWParser::sendGraphic ( int  docId)
protected

try to send a graphic

Referenced by FWText::send(), and sendVariable().

void FWParser::sendReference ( int  docId)
protected

try to send a reference, in pratice do nothing

Referenced by FWText::send().

void FWParser::sendText ( int  docId,
libmwaw::SubDocumentType  type,
MWAWNote::Type  which = MWAWNote::FootNote 
)
protected

try to send a footnote/endnote entry

Referenced by FWText::send().

void FWParser::sendVariable ( int  docId)
protected

try to send a variable, in pratice do nothing

in this case, the content seems to be a textbox which contains the field display, but as in general this zone is not read correctly (ie. the field is not found ) and as sending textbox is not implemented, better to stop here...

Referenced by FWText::send().

Friends And Related Function Documentation

friend class FWGraph
friend

Referenced by init().

friend class FWParserInternal::SubDocument
friend
friend class FWText
friend

Referenced by init().

Member Data Documentation

shared_ptr<FWGraph> FWParser::m_graphParser
protected
shared_ptr<FWText> FWParser::m_textParser
protected

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

Generated on Tue Mar 10 2015 17:32:09 for libmwaw by doxygen 1.8.5