CWParser Class Reference

the main class to read a Claris Works file More...

#include <CWParser.hxx>

Inheritance diagram for CWParser:
MWAWParser

Public Member Functions

 CWParser (MWAWInputStreamPtr input, MWAWRSRCParserPtr rsrcParser, MWAWHeader *header)
 constructor More...
 
virtual ~CWParser ()
 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...
 
shared_ptr< CWStruct::DSETgetZone (int zId) const
 return the zone corresponding to an id ( low level) More...
 
bool exploreZonesGraph ()
 try to find the zone dags structure... More...
 
bool exploreZonesGraphRec (int zId, std::set< int > &notDoneList)
 try to find the zone tree graph ( DSF) function More...
 
void typeMainZones ()
 try to type the main zones More...
 
int typeMainZonesRec (int zId, CWStruct::DSET::Type type, int maxHeight)
 try to type the main zones recursif, returns the father id More...
 
bool readZone ()
 read a zone More...
 
bool readPrintInfo ()
 read the print info zone More...
 
bool readStructZone (char const *zoneName, bool hasEntete)
 try to read a structured zone More...
 
bool readStructIntZone (char const *zoneName, bool hasEntete, int fSz, std::vector< int > &res)
 try to read a int structured zone where fSz to the int size: 1(int8), 2(int16), 4(int32) More...
 
Vec2i getDocumentPages () const
 returns the number of expected pages ( accross pages x down page) More...
 
double getTextHeight () const
 returns the page height, ie. paper size less margin (in inches) less header/footer size More...
 
Vec2f getPageLeftTop () const
 returns the page left top point ( in inches) More...
 
void newPage (int number)
 adds a new page More...
 
bool canSendZoneAsGraphic (int number) const
 check if we can send a zone as a graphic More...
 
bool sendZone (int zoneId, bool asGraphic, MWAWPosition pos=MWAWPosition())
 send a zone More...
 
void forceParsed (int zoneId)
 indicate that a zone is already parsed More...
 
void sendFootnote (int zoneId)
 creates a document to send a footnote More...
 
MWAWSection getMainSection () const
 returns the columns information More...
 
void getHeaderFooterId (int &headerId, int &footerId) const
 returns the header/footer id More...
 
bool readDocHeader ()
 reads the document header More...
 
bool readDocInfo ()
 reads the document info part ( end of the header) More...
 
bool readEndTable ()
 reads the end table ( appears in v3.0 : file version ? ) More...
 
shared_ptr< CWStruct::DSETreadDSET (bool &complete)
 reads the zone DSET More...
 
bool readDSUM (MWAWEntry const &entry, bool inHeader)
 
bool readTNAM (MWAWEntry const &entry)
 
bool readSNAP (MWAWEntry const &entry)
 
bool readCPRT (MWAWEntry const &entry)
 
void checkOrdering (std::vector< int16_t > &vec16, std::vector< int32_t > &vec32) const
 small fonction used to check unusual endian ordering of a list of int16_t, int32_t 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
< CWParserInternal::State
m_state
 the state More...
 
bool m_pageSpanSet
 a flag to know if pageSpan is filled More...
 
shared_ptr< CWDatabasem_databaseParser
 the database parser More...
 
shared_ptr< CWGraphm_graphParser
 the graph parser More...
 
shared_ptr< CWPresentationm_presentationParser
 the spreadsheet parser More...
 
shared_ptr< CWSpreadsheetm_spreadsheetParser
 the spreadsheet parser More...
 
shared_ptr< CWStyleManagerm_styleManager
 the style manager More...
 
shared_ptr< CWTablem_tableParser
 the table parser More...
 
shared_ptr< CWTextm_textParser
 the text parser More...
 

Friends

class CWParserInternal::SubDocument
 
class CWDatabase
 
class CWGraph
 
class CWPresentation
 
class CWSpreadsheet
 
class CWStyleManager
 
class CWTable
 
class CWText
 

Detailed Description

the main class to read a Claris Works file

Constructor & Destructor Documentation

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

constructor

CWParser::~CWParser ( )
virtual

destructor

Member Function Documentation

bool CWParser::canSendZoneAsGraphic ( int  number) const
protected

check if we can send a zone as a graphic

Referenced by CWGraph::canSendAsGraphic(), CWGraph::sendGroup(), and CWGraph::sendGroupChild().

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

checks if the document header is correct (or not)

Implements MWAWParser.

Referenced by parse().

void CWParser::checkOrdering ( std::vector< int16_t > &  vec16,
std::vector< int32_t > &  vec32 
) const
protected

small fonction used to check unusual endian ordering of a list of int16_t, int32_t

Referenced by CWStyleManager::readGraphStyles(), and CWGraph::readGroupUnknown().

void CWParser::createDocument ( WPXDocumentInterface *  documentInterface)
protected

creates the listener which will be associated to the document

Referenced by parse().

bool CWParser::createZones ( )
protected

finds the different objects zones

Referenced by parse().

bool CWParser::exploreZonesGraph ( )
protected

try to find the zone dags structure...

Referenced by createZones().

bool CWParser::exploreZonesGraphRec ( int  zId,
std::set< int > &  notDoneList 
)
protected

try to find the zone tree graph ( DSF) function

Referenced by exploreZonesGraph().

void CWParser::forceParsed ( int  zoneId)
protected

indicate that a zone is already parsed

Referenced by CWPresentation::sendZone(), and CWTable::sendZone().

Vec2i CWParser::getDocumentPages ( ) const
protected

returns the number of expected pages ( accross pages x down page)

Referenced by CWGraph::numPages().

void CWParser::getHeaderFooterId ( int &  headerId,
int &  footerId 
) const
protected

returns the header/footer id

Referenced by CWGraph::updateInformation().

MWAWSection CWParser::getMainSection ( ) const
protected

returns the columns information

Referenced by CWText::sendText().

Vec2f CWParser::getPageLeftTop ( ) const
protected

returns the page left top point ( in inches)

Referenced by CWGraph::sendGroup().

double CWParser::getTextHeight ( ) const
protected

returns the page height, ie. paper size less margin (in inches) less header/footer size

Referenced by CWGraph::updateInformation().

shared_ptr< CWStruct::DSET > CWParser::getZone ( int  zId) const
protected

return the zone corresponding to an id ( low level)

Referenced by CWGraph::sendGroup(), and CWGraph::sendGroupChild().

void CWParser::init ( )
protected

inits all internal variables

Referenced by CWParser().

void CWParser::newPage ( int  number)
protected

adds a new page

Referenced by CWText::sendText(), and CWPresentation::sendZone().

void CWParser::parse ( WPXDocumentInterface *  documentInterface)
virtual

virtual function used to parse the input

Implements MWAWParser.

bool CWParser::readCPRT ( MWAWEntry const &  entry)
protected

Referenced by readEndTable().

bool CWParser::readDocHeader ( )
protected

reads the document header

Referenced by createZones().

bool CWParser::readDocInfo ( )
protected

reads the document info part ( end of the header)

Referenced by createZones().

shared_ptr< CWStruct::DSET > CWParser::readDSET ( bool &  complete)
protected

reads the zone DSET

set complete to true if we read all the zone

Referenced by readZone().

bool CWParser::readDSUM ( MWAWEntry const &  entry,
bool  inHeader 
)
protected

Referenced by readDocHeader(), and readEndTable().

bool CWParser::readEndTable ( )
protected

reads the end table ( appears in v3.0 : file version ? )

Referenced by createZones().

bool CWParser::readPrintInfo ( )
protected

read the print info zone

Referenced by readDocHeader().

bool CWParser::readSNAP ( MWAWEntry const &  entry)
protected

Referenced by readEndTable().

bool CWParser::readStructIntZone ( char const *  zoneName,
bool  hasEntete,
int  fSz,
std::vector< int > &  res 
)
protected

try to read a int structured zone where fSz to the int size: 1(int8), 2(int16), 4(int32)

Referenced by CWGraph::readGroupHeader().

bool CWParser::readStructZone ( char const *  zoneName,
bool  hasEntete 
)
protected

try to read a structured zone

Referenced by readDocHeader(), and readZone().

bool CWParser::readTNAM ( MWAWEntry const &  entry)
protected

Referenced by readEndTable().

bool CWParser::readZone ( )
protected

read a zone

Referenced by createZones().

void CWParser::sendFootnote ( int  zoneId)
protected

creates a document to send a footnote

Referenced by CWText::sendText().

bool CWParser::sendZone ( int  zoneId,
bool  asGraphic,
MWAWPosition  pos = MWAWPosition() 
)
protected
void CWParser::typeMainZones ( )
protected

try to type the main zones

Referenced by createZones().

int CWParser::typeMainZonesRec ( int  zId,
CWStruct::DSET::Type  type,
int  maxHeight 
)
protected

try to type the main zones recursif, returns the father id

Referenced by typeMainZones().

Friends And Related Function Documentation

friend class CWDatabase
friend

Referenced by init().

friend class CWGraph
friend

Referenced by init().

friend class CWParserInternal::SubDocument
friend
friend class CWPresentation
friend

Referenced by init().

friend class CWSpreadsheet
friend

Referenced by init().

friend class CWStyleManager
friend

Referenced by init().

friend class CWTable
friend

Referenced by init().

friend class CWText
friend

Referenced by init().

Member Data Documentation

shared_ptr<CWDatabase> CWParser::m_databaseParser
protected

the database parser

Referenced by canSendZoneAsGraphic(), createDocument(), init(), readDSET(), and sendZone().

shared_ptr<CWGraph> CWParser::m_graphParser
protected
bool CWParser::m_pageSpanSet
protected

a flag to know if pageSpan is filled

Referenced by readDocHeader(), and readPrintInfo().

shared_ptr<CWPresentation> CWParser::m_presentationParser
protected

the spreadsheet parser

Referenced by createDocument(), init(), parse(), readDSET(), sendZone(), and typeMainZones().

shared_ptr<CWSpreadsheet> CWParser::m_spreadsheetParser
protected

the spreadsheet parser

Referenced by canSendZoneAsGraphic(), createDocument(), init(), readDSET(), and sendZone().

shared_ptr<CWStyleManager> CWParser::m_styleManager
protected

the style manager

Referenced by init(), readDocHeader(), and readEndTable().

shared_ptr<CWTable> CWParser::m_tableParser
protected

the table parser

Referenced by createDocument(), init(), parse(), readDSET(), and sendZone().

shared_ptr<CWText> CWParser::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