Public Member Functions | Public Attributes | Protected Types | Protected Member Functions | Protected Attributes | Private Member Functions | Friends | List of all members
ClarisWksDocument Class Reference

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

`#include <ClarisWksDocument.hxx>`

## Public Member Functions
| ClarisWksDocument (MWAWParser &parser)
| constructor More...
| ~ClarisWksDocument ()
| virtual destructor More...
bool | checkHeader (MWAWHeader *header, bool strict=false)
| checks if the document header is correct (or not) More...
bool | createZones ()
| finds the different objects zones More...
int | numPages () const
| returns the document number of page More...
MWAWVec2i | getDocumentPages ()
| returns the number of expected pages ( accross pages x down page) More...
librevenge::RVNGPropertyList const & | getDocumentMetaData () const
| returns the document meta data More...
double | getTextHeight () const
| returns the page height, ie. paper size less margin (in inches) less header/footer size More...
MWAWVec2f | getPageLeftTop () const
| returns the page left top point ( in inches) More...
void | updatePageSpanList (std::vector< MWAWPageSpan > &spanList)
| updates the page span list More...
void | updatePageSpanList (std::vector< MWAWPageSpan > &spanList, MWAWPageSpan &master)
| updates the page span list (and returns a master page) More...
MWAWSection | getMainSection () const
| returns the main document section More...
shared_ptr< ClarisWksStruct::DSET > | getZone (int zId) const
| return the zone corresponding to an id ( low level) More...
void | updateChildPositions ()
| try to update the child page of each zone More...
void | newPage (int page, bool softBreak=false)
| send a page break More...
std::vector< int > const & | getMainZonesList () const
| returns the list of the main zones More...
void | forceParsed (int zoneId)
| indicates that a zone is parser More...
bool | canSendZoneAsGraphic (int number) const
| check if we can send a zone as a graphic More...
bool | sendZone (int zoneId, MWAWListenerPtr listener=MWAWListenerPtr(), MWAWPosition pos=MWAWPosition())
| try to send a zone More...
void | sendFootnote (int zoneId)
| ask the main parser to create a document to send a footnote More...
MWAWParser & | getMainParser ()
| returns the main parser More...
shared_ptr< ClarisWksStyleManager > | getStyleManager ()
| returns the style manager More...
shared_ptr< ClarisWksDatabase > | getDatabaseParser ()
| returns the database parser More...
shared_ptr< ClarisWksGraph > | getGraphParser ()
| returns the graph parser More...
shared_ptr< ClarisWksPresentation > | getPresentationParser ()
| returns the presentation parser More...
shared_ptr< ClarisWksSpreadsheet > | getSpreadsheetParser ()
| returns the spreadsheet parser More...
shared_ptr< ClarisWksTable > | getTableParser ()
| returns the table parser More...
shared_ptr< ClarisWksText > | getTextParser ()
| returns the text parser More...
bool | readZone ()
| read a zone More...
bool | readDocHeader ()
| reads the document header More...
bool | readDocInfo ()
| reads the document info part ( end of the header) More...
bool | readPrintInfo ()
| read the print info zone More...
bool | readEndTable (long &eof)
| reads the end table ( appears in v3.0 : file version ? ) More...
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)
shared_ptr< ClarisWksStruct::DSET > | readDSET (bool &complete)
| reads the zone DSET More...
void | typeMainZones ()
| try to type the main zones More...
int | typeMainZonesRec (int zId, ClarisWksStruct::DSET::Position type, int maxHeight)
| try to type the main zones recursif, returns the father id 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 | cleanZonesGraph ()
| remove uneeded edge (mainly header/footer edges in main graph) More...
bool | readStructCellZone (char const *zoneName, bool hasEntete, std::vector< MWAWVec2i > &res)
| try to read a structured zone list of cells More...
bool | readStringList (char const *zoneName, bool hasEntete, std::vector< std::string > &res)
bool | readZoneA ()
| try to read a unknown zone which appear to be filled at least in some v2 database file More...
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...

## Public Attributes
shared_ptr< MWAWParserState > | m_parserState
| the parser state More...

## Protected Types
typedef void(MWAWParser::* | NewPage) (int page, bool softBreak)
| callback used to send a page break More...
typedef void(MWAWParser::* | SendFootnote) (int zoneId)
| callback used to send a footnote More...

## Protected Member Functions
MWAWPageSpan | getFinalPageSpan () const
| returns the final page span to use for the document More...

## Protected Attributes
shared_ptr< ClarisWksDocumentInternal::State > | m_state
| the state More...
MWAWParser * | m_parser
| the main parser More...
shared_ptr< ClarisWksStyleManager > | m_styleManager
| the style manager More...
shared_ptr< ClarisWksDatabase > | m_databaseParser
| the database parser More...
shared_ptr< ClarisWksGraph > | m_graphParser
| the graph parser More...
shared_ptr< ClarisWksPresentation > | m_presentationParser
| the spreadsheet parser More...
shared_ptr< ClarisWksSpreadsheet > | m_spreadsheetParser
| the spreadsheet parser More...
shared_ptr< ClarisWksTable > | m_tableParser
| the table parser More...
shared_ptr< ClarisWksText > | m_textParser
| the text parser More...
NewPage | m_newPage
| the new page callback More...
SendFootnote | m_sendFootnote
| the send footnote callback More...

## Private Member Functions
| ClarisWksDocument (ClarisWksDocument const &orig)
ClarisWksDocument | operator= (ClarisWksDocument const &orig)

## 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

## ◆ ~ClarisWksDocument()

ClarisWksDocument::~ClarisWksDocument | ( |  | ) |

virtual destructor

## ◆ ClarisWksDocument() [2/2]

ClarisWksDocument::ClarisWksDocument | ( | ClarisWksDocument const & | orig | ) |
| private

## Member Function Documentation

## ◆ canSendZoneAsGraphic()

bool ClarisWksDocument::canSendZoneAsGraphic | ( | int | number | ) | const

check if we can send a zone as a graphic

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

## ◆ 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

Referenced by ClarisWksStyleManager::readGraphStyles(), and ClarisWksGraph::readGroupUnknown().

## ◆ 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().

## ◆ forceParsed()

void ClarisWksDocument::forceParsed | ( | int | zoneId | ) |

indicates that a zone is parser

Referenced by ClarisWksTable::sendZone(), and ClarisWksPresentation::sendZone().

## ◆ getDatabaseParser()

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().

## ◆ getGraphParser()

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

returns the graph parser

Referenced by readDSET(), and sendZone().

## ◆ getMainParser()

MWAWParser& ClarisWksDocument::getMainParser | ( |  | ) |
| inline

returns the main parser

## ◆ getMainSection()

MWAWSection ClarisWksDocument::getMainSection | ( |  | ) | const

returns the main document section

Referenced by ClarisWksText::sendText().

## ◆ 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)

Referenced by ClarisWksGraph::sendGroup(), and ClarisWksGraph::sendPageChild().

## ◆ getPresentationParser()

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

returns the presentation parser

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

## ◆ getSpreadsheetParser()

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

returns the spreadsheet parser

Referenced by readDSET(), and sendZone().

## ◆ getStyleManager()

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

returns the style manager

Referenced by ClarisWksText::readFont(), ClarisWksGraph::readGroupDef(), ClarisWksText::readParagraphs(), ClarisWksDbaseContent::readRecordSS(), ClarisWksDbaseContent::readRecordSSV1(), ClarisWksTable::readTableBorders(), ClarisWksTable::readTableCells(), ClarisWksTable::readTableZone(), and ClarisWksText::sendText().

## ◆ getTableParser()

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()

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

returns the text parser

Referenced by readDocHeader(), readDSET(), ClarisWksStyleManager::readGenStyle(), and sendZone().

## ◆ getZone()

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

return the zone corresponding to an id ( low level)

Referenced by canSendZoneAsGraphic(), cleanZonesGraph(), ClarisWksPresentation::disconnectMasterFromContents(), exploreZonesGraphRec(), ClarisWksGraph::findMasterPage(), forceParsed(), ClarisWksGraph::sendGroup(), ClarisWksGraph::sendGroupChild(), ClarisWksGraph::sendMaster(), ClarisWksGraph::sendPageChild(), ClarisWksPresentation::sendZone(), sendZone(), typeMainZones(), typeMainZonesRec(), ClarisWksGraph::updateGroup(), and ClarisWksPresentation::updateSlideTypes().

## ◆ newPage()

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

send a page break

Referenced by ClarisWksText::sendText().

## ◆ numPages()

int ClarisWksDocument::numPages | ( |  | ) | const

returns the document number of page

Referenced by ClarisWksText::updatePageSpanList(), and updatePageSpanList().

## ◆ operator=()

ClarisWksDocument ClarisWksDocument::operator= | ( | ClarisWksDocument const & | orig | ) |
| private

## ◆ readBookmark()

bool ClarisWksDocument::readBookmark | ( | long | endPos | ) |

Referenced by readMARKList().

## ◆ readCPRT()

bool ClarisWksDocument::readCPRT | ( | MWAWEntry const & | entry | ) |

Referenced by readEndTable().

## ◆ 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()

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 | ) |

Referenced by readBookmark(), readDocumentMark(), and readURL().

## ◆ 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
| ) |  |

Referenced by ClarisWksGraph::readChartData(), and ClarisWksDatabase::readDatabaseZone().

## ◆ readStructCellZone()

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

try to read a structured zone list of cells

Referenced by ClarisWksSpreadsheet::readSpreadsheetZone().

## ◆ 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().

## ◆ sendFootnote()

void ClarisWksDocument::sendFootnote | ( | int | zoneId | ) |

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

Referenced by ClarisWksText::sendText().

## ◆ sendZone()

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

try to send a zone

Referenced by ClarisWksTable::askMainToSendZone(), ClarisWksPresentation::askToSend(), ClarisWksGraph::askToSend(), ClarisWksGraph::sendGroup(), ClarisWksGraph::sendGroupChild(), ClarisWksPresentation::sendMaster(), ClarisWksText::sendText(), and ClarisWksPresentation::sendZone().

## ◆ 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().

## ◆ 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)

## Friends And Related Function Documentation

## ◆ ClarisWksBMParser

friend class ClarisWksBMParser
| friend

## ◆ ClarisWksDocumentInternal::SubDocument

friend class ClarisWksDocumentInternal::SubDocument
| friend

## ◆ ClarisWksParser

friend class ClarisWksParser
| friend

## ◆ ClarisWksPRParser

friend class ClarisWksPRParser
| friend

## ◆ ClarisWksSSParser

friend class ClarisWksSSParser
| friend

## Member Data Documentation

## ◆ m_databaseParser

shared_ptr<ClarisWksDatabase> ClarisWksDocument::m_databaseParser
| protected

the database parser

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

## ◆ m_graphParser

shared_ptr<ClarisWksGraph> ClarisWksDocument::m_graphParser
| protected

the graph parser

Referenced by canSendZoneAsGraphic(), ClarisWksDocument(), cleanZonesGraph(), numPages(), and updateChildPositions().

## ◆ m_newPage

NewPage ClarisWksDocument::m_newPage
| protected

the new page callback

Referenced by newPage().

## ◆ m_parser

MWAWParser* ClarisWksDocument::m_parser
| protected

the main parser

Referenced by getDocumentPages(), newPage(), readDocHeader(), readPrintInfo(), sendFootnote(), and updateChildPositions().

## ◆ m_parserState

shared_ptr<MWAWParserState> ClarisWksDocument::m_parserState

the parser state

Referenced by checkHeader(), checkOrdering(), ClarisWksDocument(), cleanZonesGraph(), createZones(), getDocumentPages(), getFinalPageSpan(), getMainSection(), getPageLeftTop(), getTextHeight(), readBookmark(), readCPRT(), readDocHeader(), readDocInfo(), readDocumentMark(), readDSET(), readDSUM(), readEndMark(), readEndTable(), readMARKList(), readPrintInfo(), readSNAP(), readStringList(), readStructCellZone(), readTNAM(), readURL(), readZone(), readZoneA(), sendZone(), typeMainZones(), updateChildPositions(), and updatePageSpanList().

## ◆ m_presentationParser

shared_ptr<ClarisWksPresentation> ClarisWksDocument::m_presentationParser
| protected

the spreadsheet parser

Referenced by ClarisWksDocument(), cleanZonesGraph(), numPages(), and updatePageSpanList().

## ◆ m_sendFootnote

SendFootnote ClarisWksDocument::m_sendFootnote
| protected

the send footnote callback

Referenced by sendFootnote().

## ◆ m_spreadsheetParser

shared_ptr<ClarisWksSpreadsheet> ClarisWksDocument::m_spreadsheetParser
| protected

the spreadsheet parser

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

## ◆ m_state

shared_ptr<ClarisWksDocumentInternal::State> ClarisWksDocument::m_state
| protected

the state

Referenced by canSendZoneAsGraphic(), checkHeader(), cleanZonesGraph(), createZones(), exploreZonesGraph(), exploreZonesGraphRec(), getDocumentMetaData(), getDocumentPages(), getMainSection(), getMainZonesList(), getPageLeftTop(), getTextHeight(), getZone(), numPages(), readDocHeader(), readDocInfo(), readDSET(), readDSUM(), readPrintInfo(), sendZone(), typeMainZones(), updateChildPositions(), and updatePageSpanList().

## ◆ m_styleManager

shared_ptr<ClarisWksStyleManager> ClarisWksDocument::m_styleManager
| protected

the style manager

Referenced by ClarisWksDocument(), readDocHeader(), readEndTable(), and readZone().

## ◆ m_tableParser

shared_ptr<ClarisWksTable> ClarisWksDocument::m_tableParser
| protected

the table parser

Referenced by ClarisWksDocument(), and numPages().

## ◆ m_textParser

shared_ptr<ClarisWksText> ClarisWksDocument::m_textParser
| protected

the text parser

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

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

- ClarisWksDocument.hxx
- ClarisWksDocument.cxx