FullWrtParser Class Referencefinal

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

#include <FullWrtParser.hxx>

Inheritance diagram for FullWrtParser:
MWAWTextParser MWAWParser

Public Member Functions

 FullWrtParser (MWAWInputStreamPtr const &input, MWAWRSRCParserPtr const &rsrcParser, MWAWHeader *header)
 constructor
 
 ~FullWrtParser () final
 destructor
 
bool checkHeader (MWAWHeader *header, bool strict=false) final
 checks if the document header is correct (or not)
 
void parse (librevenge::RVNGTextInterface *documentInterface) final
 virtual function used to parse the input
 
- Public Member Functions inherited from MWAWTextParser
 ~MWAWTextParser () override
 destructor
 
virtual void parse (librevenge::RVNGTextInterface *documentInterface)=0
 virtual function used to parse the input
 
- Public Member Functions inherited from MWAWParser
virtual ~MWAWParser ()
 virtual destructor
 
virtual bool checkHeader (MWAWHeader *header, bool strict=false)=0
 virtual function used to check if the document header is correct (or not)
 
int version () const
 returns the works version
 
MWAWParserStatePtr getParserState ()
 returns the parser state
 
MWAWHeadergetHeader ()
 returns the header
 
MWAWInputStreamPtrgetInput ()
 returns the actual input
 
MWAWListenerPtr getMainListener ()
 returns the main listener
 
MWAWGraphicListenerPtrgetGraphicListener ()
 returns the graphic listener
 
MWAWPresentationListenerPtrgetPresentationListener ()
 returns the presentation listener
 
MWAWSpreadsheetListenerPtrgetSpreadsheetListener ()
 returns the spreadsheet listener
 
MWAWTextListenerPtrgetTextListener ()
 returns the text listener
 
MWAWFontConverterPtrgetFontConverter ()
 returns the font converter
 
MWAWFontManagerPtrgetFontManager ()
 returns the font manager
 
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
 
libmwaw::DebugFileascii ()
 a DebugFile used to write what we recognize when we parse the document
 

Protected Member Functions

void init ()
 inits all internal variables
 
void createDocument (librevenge::RVNGTextInterface *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 (FullWrtStruct::EntryPtr zone)
 try to read the file zones main flags
 
bool readFileZonePos (FullWrtStruct::EntryPtr zone)
 try to read the file zones position
 
bool readDocZoneData (FullWrtStruct::EntryPtr zone)
 try to read the zone containing the data of each doc zone (ie. Zone0)
 
bool readDocZoneStruct (FullWrtStruct::EntryPtr zone)
 try to read the zone which stores the structure of zone0, ... (ie. Zone1)
 
bool readDocInfo (FullWrtStruct::EntryPtr zone)
 try to read zone2, a zone which stores the document information zone, ...
 
bool readEndDocInfo (FullWrtStruct::EntryPtr zone)
 try to read the end of zone2 (only v2) ?
 
bool readCitationDocInfo (FullWrtStruct::EntryPtr zone)
 try to read the list of citation (at the end of doc info)
 
bool readPrintInfo (FullWrtStruct::EntryPtr zone)
 try read the print info zone
 
MWAWVec2f getPageLeftTop () const
 returns the page left top point ( in inches)
 
bool getBorder (int bId, FullWrtStruct::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 (FullWrtStruct::EntryPtr zone)
 try to read the reference data
 
bool readGenericDocData (FullWrtStruct::EntryPtr zone, FullWrtStruct::ZoneHeader &doc)
 try to read the data of a zone which begins with a generic header
 
- Protected Member Functions inherited from MWAWTextParser
 MWAWTextParser (MWAWInputStreamPtr const &input, MWAWRSRCParserPtr const &rsrcParser, MWAWHeader *header)
 constructor (protected)
 
 MWAWTextParser (MWAWParserStatePtr const &state)
 constructor using a state
 
- Protected Member Functions inherited from MWAWParser
 MWAWParser (MWAWParserState::Type type, MWAWInputStreamPtr const &input, MWAWRSRCParserPtr const &rsrcParser, MWAWHeader *header)
 constructor (protected)
 
 MWAWParser (MWAWParserStatePtr const &state)
 constructor using a state
 
void setVersion (int vers)
 sets the document's version
 
void setGraphicListener (MWAWGraphicListenerPtr &listener)
 sets the graphic listener
 
void resetGraphicListener ()
 resets the listener
 
void setPresentationListener (MWAWPresentationListenerPtr &listener)
 sets the presentation listener
 
void resetPresentationListener ()
 resets the listener
 
void setSpreadsheetListener (MWAWSpreadsheetListenerPtr &listener)
 sets the spreadsheet listener
 
void resetSpreadsheetListener ()
 resets the listener
 
void setTextListener (MWAWTextListenerPtr &listener)
 sets the text listener
 
void resetTextListener ()
 resets the listener
 
void setAsciiName (char const *name)
 Debugging: change the default ascii file.
 
std::string const & asciiName () const
 return the ascii file name
 

Protected Attributes

std::shared_ptr< FullWrtParserInternal::Statem_state
 the state
 
std::shared_ptr< FullWrtGraphm_graphParser
 the graph parser
 
std::shared_ptr< FullWrtTextm_textParser
 the text parser
 

Friends

class FullWrtGraph
 
class FullWrtText
 
class FullWrtParserInternal::SubDocument
 

Detailed Description

the main class to read a FullWrite file

Constructor & Destructor Documentation

◆ FullWrtParser()

FullWrtParser::FullWrtParser ( MWAWInputStreamPtr const &  input,
MWAWRSRCParserPtr const &  rsrcParser,
MWAWHeader header 
)

constructor

◆ ~FullWrtParser()

FullWrtParser::~FullWrtParser ( )
final

destructor

Member Function Documentation

◆ checkHeader()

bool FullWrtParser::checkHeader ( MWAWHeader header,
bool  strict = false 
)
finalvirtual

checks if the document header is correct (or not)

Implements MWAWParser.

Referenced by parse().

◆ createDocument()

void FullWrtParser::createDocument ( librevenge::RVNGTextInterface *  documentInterface)
protected

creates the listener which will be associated to the document

Referenced by parse().

◆ createFileZones()

bool FullWrtParser::createFileZones ( )
protected

create the file zone ( first step of create zones)

Referenced by createZones().

◆ createZones()

bool FullWrtParser::createZones ( )
protected

finds the different objects zones

Referenced by parse().

◆ getBorder()

bool FullWrtParser::getBorder ( int  bId,
FullWrtStruct::Border border 
) const
protected

try to return a border corresponding to an id

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

◆ getDocumentTypeName()

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

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

Referenced by FullWrtGraph::readGraphicData().

◆ getNumDocZoneStruct()

int FullWrtParser::getNumDocZoneStruct ( ) const
protected

returns the number of zone struct

Referenced by FullWrtText::readItem().

◆ getPageLeftTop()

MWAWVec2f FullWrtParser::getPageLeftTop ( ) const
protected

returns the page left top point ( in inches)

Referenced by FullWrtGraph::sendSideBar().

◆ init()

void FullWrtParser::init ( )
protected

inits all internal variables

Referenced by FullWrtParser().

◆ newPage()

void FullWrtParser::newPage ( int  number)
protected

adds a new page

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

◆ parse()

void FullWrtParser::parse ( librevenge::RVNGTextInterface *  documentInterface)
finalvirtual

virtual function used to parse the input

Implements MWAWTextParser.

◆ readCitationDocInfo()

bool FullWrtParser::readCitationDocInfo ( FullWrtStruct::EntryPtr  zone)
protected

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

Referenced by readEndDocInfo().

◆ readDocInfo()

bool FullWrtParser::readDocInfo ( FullWrtStruct::EntryPtr  zone)
protected

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

Referenced by createZones().

◆ readDocPosition()

bool FullWrtParser::readDocPosition ( )
protected

find the last position of the document and read data

Referenced by checkHeader().

◆ readDocZoneData()

bool FullWrtParser::readDocZoneData ( FullWrtStruct::EntryPtr  zone)
protected

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

Referenced by createZones().

◆ readDocZoneStruct()

bool FullWrtParser::readDocZoneStruct ( FullWrtStruct::EntryPtr  zone)
protected

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

Referenced by createZones().

◆ readEndDocInfo()

bool FullWrtParser::readEndDocInfo ( FullWrtStruct::EntryPtr  zone)
protected

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

Referenced by readDocInfo().

◆ readFileZoneFlags()

bool FullWrtParser::readFileZoneFlags ( FullWrtStruct::EntryPtr  zone)
protected

try to read the file zones main flags

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

Referenced by createFileZones().

◆ readFileZonePos()

bool FullWrtParser::readFileZonePos ( FullWrtStruct::EntryPtr  zone)
protected

try to read the file zones position

Referenced by createFileZones().

◆ readGenericDocData()

bool FullWrtParser::readGenericDocData ( FullWrtStruct::EntryPtr  zone,
FullWrtStruct::ZoneHeader doc 
)
protected

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

Referenced by readDocZoneData().

◆ readPrintInfo()

bool FullWrtParser::readPrintInfo ( FullWrtStruct::EntryPtr  zone)
protected

try read the print info zone

Referenced by readDocInfo().

◆ readReferenceData()

bool FullWrtParser::readReferenceData ( FullWrtStruct::EntryPtr  zone)
protected

try to read the reference data

Referenced by readDocZoneData().

◆ send()

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

ask the text parser to send a zone

Referenced by FullWrtGraph::send().

◆ sendGraphic()

void FullWrtParser::sendGraphic ( int  docId)
protected

try to send a graphic

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

◆ sendReference()

void FullWrtParser::sendReference ( int  docId)
protected

try to send a reference, in pratice do nothing

Referenced by FullWrtText::send().

◆ sendText()

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

try to send a footnote/endnote entry

Referenced by FullWrtText::send().

◆ sendVariable()

void FullWrtParser::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 FullWrtText::send().

Friends And Related Function Documentation

◆ FullWrtGraph

friend class FullWrtGraph
friend

Referenced by init().

◆ FullWrtParserInternal::SubDocument

◆ FullWrtText

friend class FullWrtText
friend

Referenced by init().

Member Data Documentation

◆ m_graphParser

std::shared_ptr<FullWrtGraph> FullWrtParser::m_graphParser
protected

◆ m_state

◆ m_textParser

std::shared_ptr<FullWrtText> FullWrtParser::m_textParser
protected

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

Generated on Thu Jan 19 2023 00:00:00 for libmwaw by doxygen 1.9.6