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 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 > ¬DoneList) |
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 |
main document information used to create a ClarisWorks file
|
protected |
callback used to send a page break
|
protected |
callback used to send a footnote
|
explicit |
constructor
ClarisWksDocument::~ClarisWksDocument | ( | ) |
virtual destructor
|
privatedelete |
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().
bool ClarisWksDocument::checkHeader | ( | MWAWHeader * | header, |
bool | strict = false |
||
) |
checks if the document header is correct (or not)
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().
void ClarisWksDocument::cleanZonesGraph | ( | ) |
remove uneeded edge (mainly header/footer edges in main graph)
Referenced by createZones().
bool ClarisWksDocument::createZones | ( | ) |
finds the different objects zones
bool ClarisWksDocument::exploreZonesGraph | ( | ) |
try to find the zone dags structure...
Referenced by createZones().
bool ClarisWksDocument::exploreZonesGraphRec | ( | int | zId, |
std::set< int > & | notDoneList | ||
) |
try to find the zone tree graph ( DSF) function
Referenced by exploreZonesGraph(), and exploreZonesGraphRec().
void ClarisWksDocument::forceParsed | ( | int | zoneId | ) |
indicates that a zone is parser
Referenced by ClarisWksPresentation::sendZone(), and ClarisWksTable::sendZone().
|
inline |
returns the database parser
Referenced by readDSET(), and sendZone().
librevenge::RVNGPropertyList const & ClarisWksDocument::getDocumentMetaData | ( | ) | const |
returns the document meta data
MWAWVec2i ClarisWksDocument::getDocumentPages | ( | ) |
returns the number of expected pages ( accross pages x down page)
Referenced by updateChildPositions().
|
protected |
returns the final page span to use for the document
Referenced by updatePageSpanList().
|
inline |
returns the graph parser
Referenced by readDocHeader(), readDSET(), sendDatabasePictZone(), and sendZone().
|
inline |
returns the main parser
MWAWSection ClarisWksDocument::getMainSection | ( | ) | const |
returns the main document section
Referenced by ClarisWksText::sendText().
std::vector< int > const & ClarisWksDocument::getMainZonesList | ( | ) | const |
returns the list of the main zones
Referenced by createZones().
MWAWVec2f ClarisWksDocument::getPageLeftTop | ( | ) | const |
returns the page left top point ( in inches)
Referenced by ClarisWksGraph::sendGroup(), and ClarisWksGraph::sendPageChild().
|
inline |
returns the presentation parser
Referenced by readDSET(), sendZone(), and typeMainZones().
|
inline |
returns the spreadsheet parser
Referenced by readDSET(), and sendZone().
|
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().
|
inline |
returns the table parser
Referenced by readDSET(), and sendZone().
double ClarisWksDocument::getTextHeight | ( | ) | const |
returns the page height, ie. paper size less margin (in inches) less header/footer size
Referenced by updateChildPositions().
|
inline |
returns the text parser
Referenced by readDocHeader(), readDSET(), ClarisWksStyleManager::readGenStyle(), and sendZone().
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::sendMaster(), ClarisWksGraph::sendPageChild(), ClarisWksPresentation::sendZone(), sendZone(), typeMainZones(), typeMainZonesRec(), ClarisWksGraph::updateGroup(), and ClarisWksPresentation::updateSlideTypes().
void ClarisWksDocument::newPage | ( | int | page, |
bool | softBreak = false |
||
) |
send a page break
Referenced by ClarisWksText::sendText().
int ClarisWksDocument::numPages | ( | ) | const |
returns the document number of page
Referenced by ClarisWksText::updatePageSpanList(), and updatePageSpanList().
|
privatedelete |
bool ClarisWksDocument::readBookmark | ( | long | endPos | ) |
Referenced by readMARKList().
bool ClarisWksDocument::readCPRT | ( | MWAWEntry const & | entry | ) |
Referenced by readEndTable().
bool ClarisWksDocument::readDataLinkList | ( | ) |
try to read a structured zone list of picture definition: v5-v6
Referenced by readDocHeader().
bool ClarisWksDocument::readDocHeader | ( | ) |
reads the document header
Referenced by createZones().
bool ClarisWksDocument::readDocInfo | ( | ) |
reads the document info part ( end of the header)
Referenced by createZones().
bool ClarisWksDocument::readDocumentMark | ( | long | endPos | ) |
Referenced by readMARKList().
std::shared_ptr< ClarisWksStruct::DSET > ClarisWksDocument::readDSET | ( | bool & | complete | ) |
bool ClarisWksDocument::readDSUM | ( | MWAWEntry const & | entry, |
bool | inHeader | ||
) |
Referenced by readDocHeader(), and readEndTable().
bool ClarisWksDocument::readEndMark | ( | long | endPos | ) |
Referenced by readBookmark(), readDocumentMark(), and readURL().
bool ClarisWksDocument::readEndTable | ( | long & | eof | ) |
reads the end table ( appears in v3.0 : file version ? )
Referenced by createZones().
bool ClarisWksDocument::readMARKList | ( | MWAWEntry const & | entry | ) |
Referenced by readEndTable().
bool ClarisWksDocument::readPrintInfo | ( | ) |
read the print info zone
Referenced by readDocHeader().
bool ClarisWksDocument::readSNAP | ( | MWAWEntry const & | entry | ) |
Referenced by readEndTable().
bool ClarisWksDocument::readStringList | ( | char const * | zoneName, |
bool | hasEntete, | ||
std::vector< std::string > & | res | ||
) |
Referenced by ClarisWksGraph::readChartData(), and ClarisWksDatabase::readDatabaseZone().
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().
bool ClarisWksDocument::readTNAM | ( | MWAWEntry const & | entry | ) |
Referenced by readEndTable().
bool ClarisWksDocument::readURL | ( | long | endPos | ) |
Referenced by readMARKList().
bool ClarisWksDocument::readZone | ( | ) |
read a zone
Referenced by createZones().
bool ClarisWksDocument::readZoneA | ( | ) |
try to read a unknown zone which appear to be filled at least in some v2 database file
Referenced by readDocHeader().
bool ClarisWksDocument::sendDatabasePictZone | ( | int | pictId, |
MWAWListenerPtr | listener = MWAWListenerPtr() , |
||
MWAWPosition | pos = MWAWPosition() |
||
) |
try to send a database picture
Referenced by ClarisWksDatabase::sendDatabase().
void ClarisWksDocument::sendFootnote | ( | int | zoneId | ) |
ask the main parser to create a document to send a footnote
Referenced by ClarisWksText::sendText().
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(), ClarisWksPresentation::sendMaster(), ClarisWksText::sendText(), and ClarisWksPresentation::sendZone().
void ClarisWksDocument::typeMainZones | ( | ) |
try to type the main zones
Referenced by createZones().
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().
void ClarisWksDocument::updateChildPositions | ( | ) |
try to update the child page of each zone
Referenced by createZones().
void ClarisWksDocument::updatePageSpanList | ( | std::vector< MWAWPageSpan > & | spanList | ) |
updates the page span list
void ClarisWksDocument::updatePageSpanList | ( | std::vector< MWAWPageSpan > & | spanList, |
MWAWPageSpan & | master | ||
) |
updates the page span list (and returns a master page)
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
protected |
the database parser
Referenced by canSendZoneAsGraphic(), ClarisWksDocument(), getDatabaseParser(), and numPages().
|
protected |
the graph parser
Referenced by canSendZoneAsGraphic(), ClarisWksDocument(), cleanZonesGraph(), getGraphParser(), numPages(), and updateChildPositions().
|
protected |
the main parser
Referenced by getDocumentPages(), getMainParser(), newPage(), readDocHeader(), readPrintInfo(), sendFootnote(), and updateChildPositions().
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().
|
protected |
the spreadsheet parser
Referenced by ClarisWksDocument(), cleanZonesGraph(), getPresentationParser(), numPages(), and updatePageSpanList().
|
protected |
the send footnote callback
Referenced by sendFootnote().
|
protected |
the spreadsheet parser
Referenced by canSendZoneAsGraphic(), ClarisWksDocument(), getSpreadsheetParser(), and numPages().
|
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().
|
protected |
the style manager
Referenced by ClarisWksDocument(), getStyleManager(), readDocHeader(), readEndTable(), and readZone().
|
protected |
the table parser
Referenced by ClarisWksDocument(), getTableParser(), and numPages().
|
protected |
the text parser
Referenced by canSendZoneAsGraphic(), ClarisWksDocument(), getTextParser(), numPages(), and updatePageSpanList().