ClarisWksDocument Class Reference documentation

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
| ~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::DSET > | getZone (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
MWAWParser & | getMainParser ()
| returns the main parser
std::shared_ptr< ClarisWksStyleManager > | getStyleManager ()
| returns the style manager
std::shared_ptr< ClarisWksDatabase > | getDatabaseParser ()
| returns the database parser
std::shared_ptr< ClarisWksGraph > | getGraphParser ()
| returns the graph parser
std::shared_ptr< ClarisWksPresentation > | getPresentationParser ()
| returns the presentation parser
std::shared_ptr< ClarisWksSpreadsheet > | getSpreadsheetParser ()
| returns the spreadsheet parser
std::shared_ptr< ClarisWksTable > | getTableParser ()
| returns the table parser
std::shared_ptr< ClarisWksText > | getTextParser ()
| 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::DSET > | readDSET (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< MWAWParserState > | m_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::State > | m_state
| the state
MWAWParser * | m_parser
| the main parser
std::shared_ptr< ClarisWksStyleManager > | m_styleManager
| the style manager
std::shared_ptr< ClarisWksDatabase > | m_databaseParser
| the database parser
std::shared_ptr< ClarisWksGraph > | m_graphParser
| the graph parser
std::shared_ptr< ClarisWksPresentation > | m_presentationParser
| the spreadsheet parser
std::shared_ptr< ClarisWksSpreadsheet > | m_spreadsheetParser
| the spreadsheet parser
std::shared_ptr< ClarisWksTable > | m_tableParser
| the table parser
std::shared_ptr< ClarisWksText > | m_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

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

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(), and exploreZonesGraphRec().

## ◆ forceParsed()

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

indicates that a zone is parser

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

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

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(), ClarisWksGraph::sendGroup(), and ClarisWksGraph::sendPageChild().

## ◆ 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(), ClarisWksText::readFonts(), ClarisWksGraph::readGroupDef(), ClarisWksText::readParagraphs(), ClarisWksDbaseContent::readRecordDB(), ClarisWksDbaseContent::readRecordSS(), ClarisWksDbaseContent::readRecordSSV1(), ClarisWksTable::readTableBorders(), ClarisWksTable::readTableCells(), ClarisWksTable::readTableZone(), and ClarisWksText::sendText().

## ◆ 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(), ClarisWksStyleManager::readGenStyle(), 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(), ClarisWksPresentation::disconnectMasterFromContents(), exploreZonesGraphRec(), ClarisWksGraph::findMasterPage(), forceParsed(), ClarisWksGraph::sendGroup(), ClarisWksGraph::sendGroupChild(), 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(), 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 | ) |

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

## ◆ sendDatabasePictZone()

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

try to send a database picture

Referenced by ClarisWksDatabase::sendDatabase().

## ◆ 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(), ClarisWksDocumentInternal::SubDocument::parse(), ClarisWksTextInternal::SubDocument::parse(), ClarisWksGraph::sendGroup(), ClarisWksGraph::sendGroupChild(), 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(), 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)

## Friends And Related Symbol 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

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

the graph parser

Referenced by canSendZoneAsGraphic(), ClarisWksDocument(), cleanZonesGraph(), getGraphParser(), 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(), getMainParser(), newPage(), readDocHeader(), readPrintInfo(), sendFootnote(), and updateChildPositions().

## ◆ m_parserState

std::shared_ptr<MWAWParserState> ClarisWksDocument::m_parserState

the parser state

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

## ◆ m_presentationParser

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

the spreadsheet parser

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

## ◆ m_sendFootnote

SendFootnote ClarisWksDocument::m_sendFootnote
| protected

the send footnote callback

Referenced by sendFootnote().

## ◆ m_spreadsheetParser

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

the spreadsheet parser

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

## ◆ m_state

std::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(), readDataLinkList(), readDocHeader(), readDocInfo(), readDSET(), readDSUM(), readPrintInfo(), sendDatabasePictZone(), sendZone(), typeMainZones(), updateChildPositions(), and updatePageSpanList().

## ◆ m_styleManager

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

the style manager

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

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

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

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

- ClarisWksDocument.hxx
- ClarisWksDocument.cxx