RagTime5ChartInternal::ChartCParser Struct Referencefinal

low level: parser of chart cluster More...

Inheritance diagram for RagTime5ChartInternal::ChartCParser:

## Classes

struct | ZoneType
| a small structure used to stored a field type More...

## Public Types

enum | Type { F_ParentLink , F_Prefs , F_Pref , F_Series , F_Series2 , F_Serie , F_SerieTypes , F_Settings , F_Setting , F_Values , F_Values2 , F_Value , F_DZone1 , F_DZones3 , F_DZone3 , F_DZone5 , F_DZone8 , F_DZone9 , F_DZones10 , F_DZone10 , F_DZoneF12 , F_DZoneF70 , F_DZoneF226 , F_ChartList , F_UnknZone1 , F_UnknZone2 , F_Unknown }
| the different field types More...

## Public Member Functions

| ChartCParser (RagTime5ClusterManager &parser, int type, libmwaw::DebugFile &ascii)
| constructor
| ~ChartCParser () final
| destructor
std::shared_ptr< RagTime5ClusterManager::Cluster > | getCluster () final
| return the current cluster
std::shared_ptr< ClusterChart > | getChartCluster ()
| return the current cluster
std::shared_ptr< Chart > | getChart ()
| return the chart
void | insertZoneToBeParsed (int id, ZoneType const &type, bool canBeDuplicated=false)
| insert a new zone to be parsed
bool | checkFatherType (int id, Type type) const
| try to check the father 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< ClusterChart > | m_cluster
| the current cluster
std::shared_ptr< Chart > | m_chart
| the chart
int | m_what
| a index to know which field is parsed : 0: main, 1: common data, 2: list, 3: sub zone position, 4: unknown1, 5: the preferences
int | m_linkId
| the link id: 1: value double, 2: value text zone
std::string | m_fieldName
| the actual field name
ZoneType | m_zoneType
| the current zone type
std::map< int, ZoneType > | m_fieldIdToZoneTypeMap
| the list of id to zone type map
std::set< int > | m_zoneToParseSet
| the list of know zone remaining to be parsed
libmwaw::DebugFile & | m_asciiFile
| the ascii file

## Private Member Functions

| ChartCParser (ChartCParser const &orig)=delete
| copy constructor (not implemented)
ChartCParser & | operator= (ChartCParser 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 chart cluster

## Member Enumeration Documentation

## Type

enum RagTime5ChartInternal::ChartCParser::Type

the different field types

Enumerator
F_ParentLink |
F_Prefs |
F_Pref |
F_Series |
F_Series2 |
F_Serie |
F_SerieTypes |
F_Settings |
F_Setting |
F_Values |
F_Values2 |
F_Value |
F_DZone1 |
F_DZones3 |
F_DZone3 |
F_DZone5 |
F_DZone8 |
F_DZone9 |
F_DZones10 |
F_DZone10 |
F_DZoneF12 |
F_DZoneF70 |
F_DZoneF226 |
F_ChartList |
F_UnknZone1 |
F_UnknZone2 |
F_Unknown |

## Constructor & Destructor Documentation

## ChartCParser() [1/2]

RagTime5ChartInternal::ChartCParser::ChartCParser | ( | RagTime5ClusterManager & | parser,
|  | int | type,
|  | libmwaw::DebugFile & | ascii )

inline

constructor

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

## ~ChartCParser()

RagTime5ChartInternal::ChartCParser::~ChartCParser | ( |  | ) |

final

destructor

## ChartCParser() [2/2]

RagTime5ChartInternal::ChartCParser::ChartCParser | ( | ChartCParser const & | orig | ) |

private delete

copy constructor (not implemented)

## Member Function Documentation

## checkFatherType()

bool RagTime5ChartInternal::ChartCParser::checkFatherType | ( | int | id,
|  | Type | type ) const

inline

try to check the father type

Referenced by parseDataZone().

## endZone()

void RagTime5ChartInternal::ChartCParser::endZone | ( |  | ) |

inline final virtual

end of a start zone call

Reimplemented from RagTime5ClusterManager::ClusterParser.

## getChart()

std::shared_ptr< Chart > RagTime5ChartInternal::ChartCParser::getChart | ( |  | ) |

inline

return the chart

Referenced by RagTime5Chart::readChartCluster().

## getChartCluster()

std::shared_ptr< ClusterChart > RagTime5ChartInternal::ChartCParser::getChartCluster | ( |  | ) |

inline

return the current cluster

Referenced by RagTime5Chart::readChartCluster().

## getCluster()

std::shared_ptr< RagTime5ClusterManager::Cluster > RagTime5ChartInternal::ChartCParser::getCluster | ( |  | ) |

inline final virtual

return the current cluster

Implements RagTime5ClusterManager::ClusterParser.

Referenced by getCluster().

## getNewZoneToParse()

int RagTime5ChartInternal::ChartCParser::getNewZoneToParse | ( |  | ) |

inline final virtual

returns to new zone to parse.

-1: means no preference, 0: means first zone, ...

Reimplemented from RagTime5ClusterManager::ClusterParser.

## insertZoneToBeParsed()

void RagTime5ChartInternal::ChartCParser::insertZoneToBeParsed | ( | int | id,
|  | ZoneType const & | type,
|  | bool | canBeDuplicated = false )

inline

insert a new zone to be parsed

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

## operator=()

ChartCParser & RagTime5ChartInternal::ChartCParser::operator= | ( | ChartCParser const & | orig | ) |

private delete

copy operator (not implemented)

## parseDataZone()

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

inline protected

parse a data block

Referenced by parseZone().

## parseField()

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

inline final virtual

parse a field

Reimplemented from RagTime5ClusterManager::ClusterParser.

## parseHeaderZone()

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

inline protected

parse the header zone

Referenced by parseZone().

## parseZone()

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

inline final virtual

parse a zone

Reimplemented from RagTime5ClusterManager::ClusterParser.

## Member Data Documentation

## m_asciiFile

libmwaw::DebugFile& RagTime5ChartInternal::ChartCParser::m_asciiFile

protected

the ascii file

Referenced by ChartCParser(), and parseHeaderZone().

## m_chart

std::shared_ptr<Chart> RagTime5ChartInternal::ChartCParser::m_chart

protected

the chart

Referenced by ChartCParser(), endZone(), getChart(), and parseHeaderZone().

## m_cluster

std::shared_ptr<ClusterChart> RagTime5ChartInternal::ChartCParser::m_cluster

protected

the current cluster

Referenced by ChartCParser(), endZone(), getChartCluster(), and getCluster().

## m_fieldIdToZoneTypeMap

std::map<int, ZoneType> RagTime5ChartInternal::ChartCParser::m_fieldIdToZoneTypeMap

protected

the list of id to zone type map

Referenced by ChartCParser(), checkFatherType(), insertZoneToBeParsed(), and parseDataZone().

## m_fieldName

std::string RagTime5ChartInternal::ChartCParser::m_fieldName

protected

the actual field name

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

## m_linkId

int RagTime5ChartInternal::ChartCParser::m_linkId

protected

the link id: 1: value double, 2: value text zone

Referenced by ChartCParser(), endZone(), parseDataZone(), and parseZone().

## m_what

int RagTime5ChartInternal::ChartCParser::m_what

protected

a index to know which field is parsed : 0: main, 1: common data, 2: list, 3: sub zone position, 4: unknown1, 5: the preferences

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

## m_zoneToParseSet

std::set<int> RagTime5ChartInternal::ChartCParser::m_zoneToParseSet

protected

the list of know zone remaining to be parsed

Referenced by ChartCParser(), getNewZoneToParse(), and insertZoneToBeParsed().

## m_zoneType

ZoneType RagTime5ChartInternal::ChartCParser::m_zoneType

protected

the current zone type

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

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

- RagTime5Chart.cxx