FWParser Class Reference

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

`#include <FWParser.hxx>`

Inheritance diagram for FWParser:

## 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)
| 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...
MWAWHeader * | getHeader ()
| returns the header More...
MWAWInputStreamPtr & | getInput ()
| returns the actual input More...
MWAWContentListenerPtr & | getListener ()
| returns the listener More...
MWAWPageSpan const & | getPageSpan () const
| returns the actual page dimension More...
MWAWPageSpan & | getPageSpan ()
| 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...
MWAWRSRCParserPtr & | getRSRCParser ()
| returns the rsrc parser More...
void | setListener (MWAWContentListenerPtr &listener)
| sets the listener More...
void | resetListener ()
| resets the listener More...
MWAWFontConverterPtr & | getFontConverter ()
| returns the font converter More...
void | setFontConverter (MWAWFontConverterPtr fontConverter)
| sets the font convertor More...
libmwaw::DebugFile & | ascii ()
| 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< FWGraph > | m_graphParser
| the graph parser More...
shared_ptr< FWText > | m_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 | ) |

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

the graph parser

Referenced by createDocument(), createZones(), getBorder(), init(), parse(), readDocZoneData(), readEndDocInfo(), and sendGraphic().

shared_ptr<FWParserInternal::State> FWParser::m_state

protected

the state

Referenced by checkHeader(), createDocument(), createFileZones(), createZones(), getDocumentTypeName(), getNumDocZoneStruct(), getPageLeftTop(), init(), newPage(), parse(), readDocInfo(), readDocPosition(), readDocZoneData(), readDocZoneStruct(), readFileZoneFlags(), readFileZonePos(), readGenericDocData(), readPrintInfo(), readReferenceData(), sendGraphic(), sendReference(), sendText(), sendVariable(), and ~FWParser().

shared_ptr<FWText> FWParser::m_textParser

protected

the text parser

Referenced by createDocument(), createZones(), init(), parse(), readDocZoneData(), readEndDocInfo(), and send().

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

- FWParser.hxx
- FWParser.cxx