the main class to read a FullWrite file More...
#include <FWParser.hxx>
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< FWGraph > | m_graphParser |
the graph parser | |
shared_ptr< FWText > | m_textParser |
the text parser | |
Friends | |
class | FWGraph |
class | FWText |
class | FWParserInternal::SubDocument |
the main class to read a FullWrite file
FWParser::FWParser | ( | MWAWInputStreamPtr | input, |
MWAWRSRCParserPtr | rsrcParser, | ||
MWAWHeader * | header | ||
) |
constructor
FWParser::~FWParser | ( | ) | [virtual] |
destructor
bool FWParser::checkHeader | ( | MWAWHeader * | header, |
bool | strict = false |
||
) | [virtual] |
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().
friend class FWParserInternal::SubDocument [friend] |
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().