RagTime5SpreadsheetInternal::SpreadsheetCParser Struct Referencefinal

low level: parser of main spreadsheet cluster More...

Inheritance diagram for RagTime5SpreadsheetInternal::SpreadsheetCParser:

## Public Types

enum | { F_borderRoot , F_borderH , F_borderV , F_cellsTree , F_cellsTreeValue , F_cellsUnion , F_dims , F_graphPLC , F_name , F_nameRoot =F_name+3 , F_sheetList , F_nextId =F_sheetList+3 , F_parentList , F_childList , F_refBlock , F_refPos , F_textPLC , F_unknA , F_unknARoot }

## Public Member Functions

| SpreadsheetCParser (RagTime5ClusterManager &parser, int type)
| constructor
| ~SpreadsheetCParser () final
| destructor
std::shared_ptr< ClusterSpreadsheet > | getSpreadsheetCluster ()
| return the spreadsheet cluster
std::shared_ptr< RagTime5ClusterManager::Cluster > | getCluster () final
| return the current cluster
std::shared_ptr< Sheet > | getSpreadsheet ()
| return the spreadsheet
void | setExpectedType (int id, int type)
| set a data id type
int | getNewZoneToParse () final
| returns to new zone to parse.
void | endZone () final
| end of a start zone call
bool | parseZone (MWAWInputStreamPtr &input, long fSz, int N, int flag, libmwaw::DebugStream &f) final
| parse a zone
bool | parseField (RagTime5StructManager::Field const &field, int, libmwaw::DebugStream &f) final
| parse a field
Public Member Functions inherited from RagTime5ClusterManager::ClusterParser
| ClusterParser (RagTime5ClusterManager &parser, int type, std::string const &zoneName)
| constructor
virtual | ~ClusterParser ()
| destructor
virtual std::string | getZoneName () const
| return the debug name corresponding to a zone
virtual std::string | getZoneName (int n, int m=-1) const
| return the debug name corresponding to a cluster
virtual void | startZone ()
| start a new zone
bool | isANameHeader (long N) const
| return true if N correspond to a file/script name
bool | readLinkHeader (MWAWInputStreamPtr &input, long fSz, Link &link, long(&values)[4], std::string &message)
| try to read a link header
std::string | getClusterDebugName (int id)
| returns "data"+id+"A" ( followed by the cluster type and name if know)

## Protected Member Functions

bool | parseDataZone (MWAWInputStreamPtr &input, long fSz, int N, int flag, libmwaw::DebugStream &f)
| parse a data block
bool | parseHeaderZone (MWAWInputStreamPtr &input, long fSz, int N, int flag, libmwaw::DebugStream &f)
| parse the header zone

## Protected Attributes

std::shared_ptr< ClusterSpreadsheet > | m_cluster
| the current cluster
std::shared_ptr< Sheet > | m_sheet
| the sheet
std::string | m_fieldName
| the actual field name
std::vector< int > | m_defaultPLCValues
| the default plc values
std::map< MWAWVec2i, int > | m_PLCNumRowByPlanesMap
| the list of row plc by planes
std::map< int, int > | m_expectedIdToType
| the expected id
std::stack< int > | m_idStack
| the id stack

## Private Member Functions

| SpreadsheetCParser (SpreadsheetCParser const &orig)=delete
| copy constructor (not implemented)
SpreadsheetCParser & | operator= (SpreadsheetCParser const &orig)=delete
| copy operator (not implemented)

## Additional Inherited Members

Public Attributes inherited from RagTime5ClusterManager::ClusterParser
RagTime5ClusterManager & | m_parser
| the main parser
int | m_type
| the cluster type
bool | m_hiLoEndian
| zone endian
std::string | m_name
| the cluster name
int | m_dataId
| the actual zone id
Link | m_link
| the actual link

## Detailed Description

low level: parser of main spreadsheet cluster

## Member Enumeration Documentation

## anonymous enum

anonymous enum

Enumerator
F_borderRoot |
F_borderH |
F_borderV |
F_cellsTree |
F_cellsTreeValue |
F_cellsUnion |
F_dims |
F_graphPLC |
F_name |
F_nameRoot |
F_sheetList |
F_nextId |
F_parentList |
F_childList |
F_refBlock |
F_refPos |
F_textPLC |
F_unknA |
F_unknARoot |

## Constructor & Destructor Documentation

## SpreadsheetCParser() [1/2]

RagTime5SpreadsheetInternal::SpreadsheetCParser::SpreadsheetCParser | ( | RagTime5ClusterManager & | parser,
|  | int | type )

inline

constructor

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

## ~SpreadsheetCParser()

RagTime5SpreadsheetInternal::SpreadsheetCParser::~SpreadsheetCParser | ( |  | ) |

final

destructor

## SpreadsheetCParser() [2/2]

RagTime5SpreadsheetInternal::SpreadsheetCParser::SpreadsheetCParser | ( | SpreadsheetCParser const & | orig | ) |

private delete

copy constructor (not implemented)

## Member Function Documentation

## endZone()

void RagTime5SpreadsheetInternal::SpreadsheetCParser::endZone | ( |  | ) |

inline final virtual

end of a start zone call

Reimplemented from RagTime5ClusterManager::ClusterParser.

## getCluster()

std::shared_ptr< RagTime5ClusterManager::Cluster > RagTime5SpreadsheetInternal::SpreadsheetCParser::getCluster | ( |  | ) |

inline final virtual

return the current cluster

Implements RagTime5ClusterManager::ClusterParser.

## getNewZoneToParse()

int RagTime5SpreadsheetInternal::SpreadsheetCParser::getNewZoneToParse | ( |  | ) |

inline final virtual

returns to new zone to parse.

Reimplemented from RagTime5ClusterManager::ClusterParser.

## getSpreadsheet()

std::shared_ptr< Sheet > RagTime5SpreadsheetInternal::SpreadsheetCParser::getSpreadsheet | ( |  | ) |

inline

return the spreadsheet

Referenced by RagTime5Spreadsheet::readSpreadsheetCluster().

## getSpreadsheetCluster()

std::shared_ptr< ClusterSpreadsheet > RagTime5SpreadsheetInternal::SpreadsheetCParser::getSpreadsheetCluster | ( |  | ) |

inline

return the spreadsheet cluster

Referenced by getSpreadsheetCluster(), and RagTime5Spreadsheet::readSpreadsheetCluster().

## operator=()

SpreadsheetCParser & RagTime5SpreadsheetInternal::SpreadsheetCParser::operator= | ( | SpreadsheetCParser const & | orig | ) |

private delete

copy operator (not implemented)

## parseDataZone()

bool RagTime5SpreadsheetInternal::SpreadsheetCParser::parseDataZone | ( | MWAWInputStreamPtr & | input,
|  | long | fSz,
|  | int | N,
|  | int | flag,
|  | libmwaw::DebugStream & | f )

inline protected

parse a data block

Referenced by parseZone().

## parseField()

bool RagTime5SpreadsheetInternal::SpreadsheetCParser::parseField | ( | RagTime5StructManager::Field const & | field,
|  | int | ,
|  | libmwaw::DebugStream & | f )

inline final virtual

parse a field

Reimplemented from RagTime5ClusterManager::ClusterParser.

## parseHeaderZone()

bool RagTime5SpreadsheetInternal::SpreadsheetCParser::parseHeaderZone | ( | MWAWInputStreamPtr & | input,
|  | long | fSz,
|  | int | N,
|  | int | flag,
|  | libmwaw::DebugStream & | f )

inline protected

parse the header zone

Referenced by parseZone().

## parseZone()

bool RagTime5SpreadsheetInternal::SpreadsheetCParser::parseZone | ( | MWAWInputStreamPtr & | input,
|  | long | fSz,
|  | int | N,
|  | int | flag,
|  | libmwaw::DebugStream & | f )

inline final virtual

parse a zone

Reimplemented from RagTime5ClusterManager::ClusterParser.

## setExpectedType()

void RagTime5SpreadsheetInternal::SpreadsheetCParser::setExpectedType | ( | int | id,
|  | int | type )

inline

set a data id type

Referenced by parseDataZone(), parseField(), and parseHeaderZone().

## Member Data Documentation

## m_cluster

std::shared_ptr<ClusterSpreadsheet> RagTime5SpreadsheetInternal::SpreadsheetCParser::m_cluster

protected

the current cluster

Referenced by endZone(), getCluster(), getSpreadsheetCluster(), parseDataZone(), parseHeaderZone(), and SpreadsheetCParser().

## m_defaultPLCValues

std::vector<int> RagTime5SpreadsheetInternal::SpreadsheetCParser::m_defaultPLCValues

protected

the default plc values

Referenced by endZone(), parseDataZone(), parseField(), and SpreadsheetCParser().

## m_expectedIdToType

std::map<int,int> RagTime5SpreadsheetInternal::SpreadsheetCParser::m_expectedIdToType

protected

the expected id

Referenced by endZone(), parseDataZone(), parseField(), setExpectedType(), and SpreadsheetCParser().

## m_fieldName

std::string RagTime5SpreadsheetInternal::SpreadsheetCParser::m_fieldName

protected

the actual field name

Referenced by parseDataZone(), parseField(), parseHeaderZone(), parseZone(), and SpreadsheetCParser().

## m_idStack

std::stack<int> RagTime5SpreadsheetInternal::SpreadsheetCParser::m_idStack

protected

the id stack

Referenced by getNewZoneToParse(), setExpectedType(), and SpreadsheetCParser().

## m_PLCNumRowByPlanesMap

std::map<MWAWVec2i,int> RagTime5SpreadsheetInternal::SpreadsheetCParser::m_PLCNumRowByPlanesMap

protected

the list of row plc by planes

Referenced by endZone(), parseDataZone(), parseField(), and SpreadsheetCParser().

## m_sheet

std::shared_ptr<Sheet> RagTime5SpreadsheetInternal::SpreadsheetCParser::m_sheet

protected

the sheet

Referenced by endZone(), getSpreadsheet(), parseHeaderZone(), and SpreadsheetCParser().

The documentation for this struct was generated from the following file:

- RagTime5Spreadsheet.cxx