ClarisWksDocument Class Reference

main document information used to create a ClarisWorks file More...

#include <ClarisWksDocument.hxx>

Public Member Functions

 ClarisWksDocument (MWAWParser &parser)
 constructor
 ~ClarisWksDocument ()
 virtual destructor
bool checkHeader (MWAWHeader *header, bool strict=false)
 checks if the document header is correct (or not)
bool createZones ()
 finds the different objects zones
int numPages () const
 returns the document number of page
MWAWVec2i getDocumentPages ()
 returns the number of expected pages ( accross pages x down page)
librevenge::RVNGPropertyList const & getDocumentMetaData () const
 returns the document meta data
double getTextHeight () const
 returns the page height, ie. paper size less margin (in inches) less header/footer size
MWAWVec2f getPageLeftTop () const
 returns the page left top point ( in inches)
void updatePageSpanList (std::vector< MWAWPageSpan > &spanList)
 updates the page span list
void updatePageSpanList (std::vector< MWAWPageSpan > &spanList, MWAWPageSpan &master)
 updates the page span list (and returns a master page)
MWAWSection getMainSection () const
 returns the main document section
std::shared_ptr< ClarisWksStruct::DSETgetZone (int zId) const
 return the zone corresponding to an id ( low level)
void updateChildPositions ()
 try to update the child page of each zone
void newPage (int page, bool softBreak=false)
 send a page break
std::vector< int > const & getMainZonesList () const
 returns the list of the main zones
void forceParsed (int zoneId)
 indicates that a zone is parser
bool canSendZoneAsGraphic (int number) const
 check if we can send a zone as a graphic
bool sendZone (int zoneId, MWAWListenerPtr listener=MWAWListenerPtr(), MWAWPosition pos=MWAWPosition())
 try to send a zone
bool sendDatabasePictZone (int pictId, MWAWListenerPtr listener=MWAWListenerPtr(), MWAWPosition const &pos=MWAWPosition())
 try to send a database picture
void sendFootnote (int zoneId)
 ask the main parser to create a document to send a footnote
MWAWParsergetMainParser ()
 returns the main parser
std::shared_ptr< ClarisWksStyleManagergetStyleManager ()
 returns the style manager
std::shared_ptr< ClarisWksDatabasegetDatabaseParser ()
 returns the database parser
std::shared_ptr< ClarisWksGraphgetGraphParser ()
 returns the graph parser
std::shared_ptr< ClarisWksPresentationgetPresentationParser ()
 returns the presentation parser
std::shared_ptr< ClarisWksSpreadsheetgetSpreadsheetParser ()
 returns the spreadsheet parser
std::shared_ptr< ClarisWksTablegetTableParser ()
 returns the table parser
std::shared_ptr< ClarisWksTextgetTextParser ()
 returns the text parser
bool readZone ()
 read a zone
bool readDocHeader ()
 reads the document header
bool readDocInfo ()
 reads the document info part ( end of the header)
bool readPrintInfo ()
 read the print info zone
bool readEndTable (long &eof)
 reads the end table ( appears in v3.0 : file version ? )
bool readCPRT (MWAWEntry const &entry)
bool readMARKList (MWAWEntry const &entry)
bool readURL (long endPos)
bool readBookmark (long endPos)
bool readDocumentMark (long endPos)
bool readEndMark (long endPos)
bool readDSUM (MWAWEntry const &entry, bool inHeader)
bool readSNAP (MWAWEntry const &entry)
bool readTNAM (MWAWEntry const &entry)
std::shared_ptr< ClarisWksStruct::DSETreadDSET (bool &complete)
 reads the zone DSET
void typeMainZones ()
 try to type the main zones
int typeMainZonesRec (int zId, ClarisWksStruct::DSET::Position type, int maxHeight)
 try to type the main zones recursif, returns the father id
bool exploreZonesGraph ()
 try to find the zone dags structure...
bool exploreZonesGraphRec (int zId, std::set< int > &notDoneList)
 try to find the zone tree graph ( DSF) function
void cleanZonesGraph ()
 remove uneeded edge (mainly header/footer edges in main graph)
bool readStructCellZone (char const *zoneName, bool hasEntete, std::vector< MWAWVec2i > &res)
 try to read a structured zone list of cells
bool readStringList (char const *zoneName, bool hasEntete, std::vector< std::string > &res)
bool readDataLinkList ()
 try to read a structured zone list of picture definition: v5-v6
bool readZoneA ()
 try to read a unknown zone which appear to be filled at least in some v2 database file
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

Public Attributes

std::shared_ptr< MWAWParserStatem_parserState
 the parser state

Protected Types

typedef void(MWAWParser::* NewPage) (int page, bool softBreak)
 callback used to send a page break
typedef void(MWAWParser::* SendFootnote) (int zoneId)
 callback used to send a footnote

Protected Member Functions

MWAWPageSpan getFinalPageSpan () const
 returns the final page span to use for the document

Protected Attributes

std::shared_ptr< ClarisWksDocumentInternal::Statem_state
 the state
MWAWParserm_parser
 the main parser
std::shared_ptr< ClarisWksStyleManagerm_styleManager
 the style manager
std::shared_ptr< ClarisWksDatabasem_databaseParser
 the database parser
std::shared_ptr< ClarisWksGraphm_graphParser
 the graph parser
std::shared_ptr< ClarisWksPresentationm_presentationParser
 the spreadsheet parser
std::shared_ptr< ClarisWksSpreadsheetm_spreadsheetParser
 the spreadsheet parser
std::shared_ptr< ClarisWksTablem_tableParser
 the table parser
std::shared_ptr< ClarisWksTextm_textParser
 the text parser
NewPage m_newPage
 the new page callback
SendFootnote m_sendFootnote
 the send footnote callback

Private Member Functions

 ClarisWksDocument (ClarisWksDocument const &orig)=delete
ClarisWksDocument operator= (ClarisWksDocument const &orig)=delete

Friends

class ClarisWksParser
class ClarisWksBMParser
class ClarisWksPRParser
class ClarisWksSSParser
class ClarisWksDocumentInternal::SubDocument

Detailed Description

main document information used to create a ClarisWorks file

Member Typedef Documentation

◆ NewPage

typedef void(MWAWParser::* ClarisWksDocument::NewPage) (int page, bool softBreak)
protected

callback used to send a page break

◆ SendFootnote

typedef void(MWAWParser::* ClarisWksDocument::SendFootnote) (int zoneId)
protected

callback used to send a footnote

Constructor & Destructor Documentation

◆ ClarisWksDocument() [1/2]

ClarisWksDocument::ClarisWksDocument ( MWAWParser & parser)
explicit

constructor

Referenced by ClarisWksDocument(), and operator=().

◆ ~ClarisWksDocument()

ClarisWksDocument::~ClarisWksDocument ( )

virtual destructor

◆ ClarisWksDocument() [2/2]

ClarisWksDocument::ClarisWksDocument ( ClarisWksDocument const & orig)
privatedelete

Member Function Documentation

◆ canSendZoneAsGraphic()

bool ClarisWksDocument::canSendZoneAsGraphic ( int number) const

check if we can send a zone as a graphic

◆ checkHeader()

bool ClarisWksDocument::checkHeader ( MWAWHeader * header,
bool strict = false )

checks if the document header is correct (or not)

◆ checkOrdering()

void ClarisWksDocument::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

◆ cleanZonesGraph()

void ClarisWksDocument::cleanZonesGraph ( )

remove uneeded edge (mainly header/footer edges in main graph)

Referenced by createZones().

◆ createZones()

bool ClarisWksDocument::createZones ( )

finds the different objects zones

◆ exploreZonesGraph()

bool ClarisWksDocument::exploreZonesGraph ( )

try to find the zone dags structure...

Referenced by createZones().

◆ exploreZonesGraphRec()

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

try to find the zone tree graph ( DSF) function

Referenced by exploreZonesGraph(), and exploreZonesGraphRec().

◆ forceParsed()

void ClarisWksDocument::forceParsed ( int zoneId)

indicates that a zone is parser

◆ getDatabaseParser()

std::shared_ptr< ClarisWksDatabase > ClarisWksDocument::getDatabaseParser ( )
inline

returns the database parser

Referenced by readDSET(), and sendZone().

◆ getDocumentMetaData()

librevenge::RVNGPropertyList const & ClarisWksDocument::getDocumentMetaData ( ) const

returns the document meta data

◆ getDocumentPages()

MWAWVec2i ClarisWksDocument::getDocumentPages ( )

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

Referenced by updateChildPositions().

◆ getFinalPageSpan()

MWAWPageSpan ClarisWksDocument::getFinalPageSpan ( ) const
protected

returns the final page span to use for the document

Referenced by updatePageSpanList(), and updatePageSpanList().

◆ getGraphParser()

std::shared_ptr< ClarisWksGraph > ClarisWksDocument::getGraphParser ( )
inline

returns the graph parser

Referenced by readDocHeader(), readDSET(), sendDatabasePictZone(), and sendZone().

◆ getMainParser()

MWAWParser & ClarisWksDocument::getMainParser ( )
inline

returns the main parser

◆ getMainSection()

MWAWSection ClarisWksDocument::getMainSection ( ) const

returns the main document section

◆ getMainZonesList()

std::vector< int > const & ClarisWksDocument::getMainZonesList ( ) const

returns the list of the main zones

Referenced by createZones().

◆ getPageLeftTop()

MWAWVec2f ClarisWksDocument::getPageLeftTop ( ) const

returns the page left top point ( in inches)

◆ getPresentationParser()

std::shared_ptr< ClarisWksPresentation > ClarisWksDocument::getPresentationParser ( )
inline

returns the presentation parser

Referenced by readDSET(), sendZone(), and typeMainZones().

◆ getSpreadsheetParser()

std::shared_ptr< ClarisWksSpreadsheet > ClarisWksDocument::getSpreadsheetParser ( )
inline

returns the spreadsheet parser

Referenced by readDSET(), and sendZone().

◆ getStyleManager()

std::shared_ptr< ClarisWksStyleManager > ClarisWksDocument::getStyleManager ( )
inline

returns the style manager

Referenced by readDocHeader().

◆ getTableParser()

std::shared_ptr< ClarisWksTable > ClarisWksDocument::getTableParser ( )
inline

returns the table parser

Referenced by readDSET(), and sendZone().

◆ getTextHeight()

double ClarisWksDocument::getTextHeight ( ) const

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

Referenced by updateChildPositions().

◆ getTextParser()

std::shared_ptr< ClarisWksText > ClarisWksDocument::getTextParser ( )
inline

returns the text parser

Referenced by readDocHeader(), readDSET(), and sendZone().

◆ getZone()

std::shared_ptr< ClarisWksStruct::DSET > ClarisWksDocument::getZone ( int zId) const

return the zone corresponding to an id ( low level)

Referenced by canSendZoneAsGraphic(), cleanZonesGraph(), exploreZonesGraphRec(), forceParsed(), sendZone(), typeMainZones(), and typeMainZonesRec().

◆ newPage()

void ClarisWksDocument::newPage ( int page,
bool softBreak = false )

send a page break

◆ numPages()

int ClarisWksDocument::numPages ( ) const

returns the document number of page

Referenced by updatePageSpanList(), and updatePageSpanList().

◆ operator=()

ClarisWksDocument ClarisWksDocument::operator= ( ClarisWksDocument const & orig)
privatedelete

◆ readBookmark()

bool ClarisWksDocument::readBookmark ( long endPos)

Referenced by readMARKList().

◆ readCPRT()

bool ClarisWksDocument::readCPRT ( MWAWEntry const & entry)

Referenced by readEndTable().

◆ readDataLinkList()

bool ClarisWksDocument::readDataLinkList ( )

try to read a structured zone list of picture definition: v5-v6

Referenced by readDocHeader().

◆ readDocHeader()

bool ClarisWksDocument::readDocHeader ( )

reads the document header

Referenced by createZones().

◆ readDocInfo()

bool ClarisWksDocument::readDocInfo ( )

reads the document info part ( end of the header)

Referenced by createZones().

◆ readDocumentMark()

bool ClarisWksDocument::readDocumentMark ( long endPos)

Referenced by readMARKList().

◆ readDSET()

std::shared_ptr< ClarisWksStruct::DSET > ClarisWksDocument::readDSET ( bool & complete)

reads the zone DSET

Note
set complete to true if we read all the zone

Referenced by readZone().

◆ readDSUM()

bool ClarisWksDocument::readDSUM ( MWAWEntry const & entry,
bool inHeader )

Referenced by readDocHeader(), and readEndTable().

◆ readEndMark()

bool ClarisWksDocument::readEndMark ( long endPos)

◆ readEndTable()

bool ClarisWksDocument::readEndTable ( long & eof)

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

Referenced by createZones().

◆ readMARKList()

bool ClarisWksDocument::readMARKList ( MWAWEntry const & entry)

Referenced by readEndTable().

◆ readPrintInfo()

bool ClarisWksDocument::readPrintInfo ( )

read the print info zone

Referenced by readDocHeader().

◆ readSNAP()

bool ClarisWksDocument::readSNAP ( MWAWEntry const & entry)

Referenced by readEndTable().

◆ readStringList()

bool ClarisWksDocument::readStringList ( char const * zoneName,
bool hasEntete,
std::vector< std::string > & res )

◆ readStructCellZone()

bool ClarisWksDocument::readStructCellZone ( char const * zoneName,
bool hasEntete,
std::vector< MWAWVec2i > & res )

try to read a structured zone list of cells

◆ readTNAM()

bool ClarisWksDocument::readTNAM ( MWAWEntry const & entry)

Referenced by readEndTable().

◆ readURL()

bool ClarisWksDocument::readURL ( long endPos)

Referenced by readMARKList().

◆ readZone()

bool ClarisWksDocument::readZone ( )

read a zone

Referenced by createZones().

◆ readZoneA()

bool ClarisWksDocument::readZoneA ( )

try to read a unknown zone which appear to be filled at least in some v2 database file

Referenced by readDocHeader().

◆ sendDatabasePictZone()

bool ClarisWksDocument::sendDatabasePictZone ( int pictId,
MWAWListenerPtr listener = MWAWListenerPtr(),
MWAWPosition const & pos = MWAWPosition() )

try to send a database picture

◆ sendFootnote()

void ClarisWksDocument::sendFootnote ( int zoneId)

ask the main parser to create a document to send a footnote

◆ sendZone()

bool ClarisWksDocument::sendZone ( int zoneId,
MWAWListenerPtr listener = MWAWListenerPtr(),
MWAWPosition pos = MWAWPosition() )

try to send a zone

◆ typeMainZones()

void ClarisWksDocument::typeMainZones ( )

try to type the main zones

Referenced by createZones().

◆ typeMainZonesRec()

int ClarisWksDocument::typeMainZonesRec ( int zId,
ClarisWksStruct::DSET::Position type,
int maxHeight )

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

Referenced by typeMainZones(), and typeMainZonesRec().

◆ updateChildPositions()

void ClarisWksDocument::updateChildPositions ( )

try to update the child page of each zone

Referenced by createZones().

◆ updatePageSpanList() [1/2]

void ClarisWksDocument::updatePageSpanList ( std::vector< MWAWPageSpan > & spanList)

updates the page span list

◆ updatePageSpanList() [2/2]

void ClarisWksDocument::updatePageSpanList ( std::vector< MWAWPageSpan > & spanList,
MWAWPageSpan & master )

updates the page span list (and returns a master page)

◆ ClarisWksBMParser

friend class ClarisWksBMParser
friend

Referenced by ClarisWksBMParser.

◆ ClarisWksDocumentInternal::SubDocument

◆ ClarisWksParser

friend class ClarisWksParser
friend

Referenced by ClarisWksParser.

◆ ClarisWksPRParser

friend class ClarisWksPRParser
friend

Referenced by ClarisWksPRParser.

◆ ClarisWksSSParser

friend class ClarisWksSSParser
friend

Referenced by ClarisWksSSParser.

Member Data Documentation

◆ m_databaseParser

std::shared_ptr<ClarisWksDatabase> ClarisWksDocument::m_databaseParser
protected

the database parser

Referenced by canSendZoneAsGraphic(), ClarisWksDocument(), getDatabaseParser(), and numPages().

◆ m_graphParser

std::shared_ptr<ClarisWksGraph> ClarisWksDocument::m_graphParser
protected

◆ m_newPage

NewPage ClarisWksDocument::m_newPage
protected

the new page callback

Referenced by ClarisWksDocument(), and newPage().

◆ m_parser

◆ m_parserState

◆ m_presentationParser

std::shared_ptr<ClarisWksPresentation> ClarisWksDocument::m_presentationParser
protected

◆ m_sendFootnote

SendFootnote ClarisWksDocument::m_sendFootnote
protected

the send footnote callback

Referenced by ClarisWksDocument(), and sendFootnote().

◆ m_spreadsheetParser

std::shared_ptr<ClarisWksSpreadsheet> ClarisWksDocument::m_spreadsheetParser
protected

the spreadsheet parser

Referenced by canSendZoneAsGraphic(), ClarisWksDocument(), getSpreadsheetParser(), and numPages().

◆ m_state

◆ m_styleManager

std::shared_ptr<ClarisWksStyleManager> ClarisWksDocument::m_styleManager
protected

◆ m_tableParser

std::shared_ptr<ClarisWksTable> ClarisWksDocument::m_tableParser
protected

the table parser

Referenced by ClarisWksDocument(), getTableParser(), and numPages().

◆ m_textParser

std::shared_ptr<ClarisWksText> ClarisWksDocument::m_textParser
protected

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

Generated on Sun Jun 29 2025 04:36:26 for libmwaw by doxygen 1.14.0