FWParser Class Reference

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

#include <FWParser.hxx>

Inheritance diagram for FWParser:
MWAWParser

List of all members.

Public Member Functions

 FWParser (MWAWInputStreamPtr input, MWAWRSRCParserPtr rsrcParser, MWAWHeader *header)
 constructor
virtual ~FWParser ()
 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 createFileZones ()
 create the file zone ( first step of create zones)
void newPage (int number)
 adds a new page
bool readDocPosition ()
 find the last position of the document and read data
bool readFileZoneFlags (FWStruct::EntryPtr zone)
 try to read the file zones main flags
bool readFileZonePos (FWStruct::EntryPtr zone)
 try to read the file zones position
bool readDocZoneData (FWStruct::EntryPtr zone)
 try to read the zone containing the data of each doc zone (ie. Zone0)
bool readDocZoneStruct (FWStruct::EntryPtr zone)
 try to read the zone which stores the structure of zone0, ... (ie. Zone1)
bool readDocInfo (FWStruct::EntryPtr zone)
 try to read zone2, a zone which stores the document information zone, ...
bool readEndDocInfo (FWStruct::EntryPtr zone)
 try to read the end of zone2 (only v2) ?
bool readCitationDocInfo (FWStruct::EntryPtr zone)
 try to read the list of citation (at the end of doc info)
bool readPrintInfo (FWStruct::EntryPtr zone)
 try read the print info zone
Vec2f getPageLeftTop () const
 returns the page left top point ( in inches)
bool getBorder (int bId, FWStruct::Border &border) const
 try to return a border corresponding to an id
void sendText (int docId, libmwaw::SubDocumentType type, MWAWNote::Type which=MWAWNote::FootNote)
 try to send a footnote/endnote entry
void sendGraphic (int docId)
 try to send a graphic
void sendVariable (int docId)
 try to send a variable, in pratice do nothing
void sendReference (int docId)
 try to send a reference, in pratice do nothing
bool send (int fileId, MWAWColor fontColor=MWAWColor::black())
 ask the text parser to send a zone
int getNumDocZoneStruct () const
 returns the number of zone struct
std::string getDocumentTypeName (int zId) const
 returns a the type of a document zone ( mainly used for debugging)
bool readReferenceData (FWStruct::EntryPtr zone)
 try to read the reference data
bool readGenericDocData (FWStruct::EntryPtr zone, FWStruct::ZoneHeader &doc)
 try to read the data of a zone which begins with a generic header

Protected Attributes

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

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.

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

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<FWText> FWParser::m_textParser [protected]

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