RagTime5ChartInternal::ChartCParser Struct Referencefinal

low level: parser of chart cluster More...

Inheritance diagram for RagTime5ChartInternal::ChartCParser:
RagTime5ClusterManager::ClusterParser

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 More...
 
 ~ChartCParser () final
 destructor More...
 
std::shared_ptr< RagTime5ClusterManager::ClustergetCluster () final
 return the current cluster More...
 
std::shared_ptr< ClusterChartgetChartCluster ()
 return the current cluster More...
 
std::shared_ptr< ChartgetChart ()
 return the chart More...
 
void insertZoneToBeParsed (int id, ZoneType const &type, bool canBeDuplicated=false)
 insert a new zone to be parsed More...
 
bool checkFatherType (int id, Type type) const
 try to check the father type More...
 
int getNewZoneToParse () final
 returns to new zone to parse. More...
 
void endZone () final
 end of a start zone call More...
 
bool parseZone (MWAWInputStreamPtr &input, long fSz, int N, int flag, libmwaw::DebugStream &f) final
 parse a zone More...
 
bool parseField (RagTime5StructManager::Field const &field, int, libmwaw::DebugStream &f) final
 parse a field More...
 
- Public Member Functions inherited from RagTime5ClusterManager::ClusterParser
 ClusterParser (RagTime5ClusterManager &parser, int type, std::string const &zoneName)
 constructor More...
 
virtual ~ClusterParser ()
 destructor More...
 
virtual std::string getZoneName () const
 return the debug name corresponding to a zone More...
 
virtual std::string getZoneName (int n, int m=-1) const
 return the debug name corresponding to a cluster More...
 
virtual void startZone ()
 start a new zone More...
 
bool isANameHeader (long N) const
 return true if N correspond to a file/script name More...
 
bool readLinkHeader (MWAWInputStreamPtr &input, long fSz, Link &link, long(&values)[4], std::string &message)
 try to read a link header More...
 
std::string getClusterDebugName (int id)
 returns "data"+id+"A" ( followed by the cluster type and name if know) More...
 

Protected Member Functions

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

Protected Attributes

std::shared_ptr< ClusterChartm_cluster
 the current cluster More...
 
std::shared_ptr< Chartm_chart
 the chart More...
 
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 More...
 
int m_linkId
 the link id: 1: value double, 2: value text zone More...
 
std::string m_fieldName
 the actual field name More...
 
ZoneType m_zoneType
 the current zone type More...
 
std::map< int, ZoneTypem_fieldIdToZoneTypeMap
 the list of id to zone type map More...
 
std::set< int > m_zoneToParseSet
 the list of know zone remaining to be parsed More...
 
libmwaw::DebugFilem_asciiFile
 the ascii file More...
 

Private Member Functions

 ChartCParser (ChartCParser const &orig)=delete
 copy constructor (not implemented) More...
 
ChartCParseroperator= (ChartCParser const &orig)=delete
 copy operator (not implemented) More...
 

Additional Inherited Members

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

Detailed Description

low level: parser of chart cluster

Member Enumeration Documentation

◆ 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

◆ ~ChartCParser()

RagTime5ChartInternal::ChartCParser::~ChartCParser ( )
final

destructor

◆ ChartCParser() [2/2]

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

copy constructor (not implemented)

Member Function Documentation

◆ checkFatherType()

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

try to check the father type

◆ endZone()

void RagTime5ChartInternal::ChartCParser::endZone ( )
inlinefinalvirtual

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

return the current cluster

Implements RagTime5ClusterManager::ClusterParser.

◆ getNewZoneToParse()

int RagTime5ChartInternal::ChartCParser::getNewZoneToParse ( )
inlinefinalvirtual

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

◆ operator=()

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

copy operator (not implemented)

◆ parseDataZone()

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

parse a data block

◆ parseField()

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

parse a field

Reimplemented from RagTime5ClusterManager::ClusterParser.

◆ parseHeaderZone()

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

parse the header zone

◆ parseZone()

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

parse a zone

Reimplemented from RagTime5ClusterManager::ClusterParser.

Member Data Documentation

◆ m_asciiFile

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

the ascii file

◆ m_chart

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

the chart

◆ m_cluster

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

the current cluster

◆ m_fieldIdToZoneTypeMap

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

the list of id to zone type map

◆ m_fieldName

std::string RagTime5ChartInternal::ChartCParser::m_fieldName
protected

the actual field name

◆ m_linkId

int RagTime5ChartInternal::ChartCParser::m_linkId
protected

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

◆ 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

◆ m_zoneToParseSet

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

the list of know zone remaining to be parsed

◆ m_zoneType

ZoneType RagTime5ChartInternal::ChartCParser::m_zoneType
protected

the current zone type


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

Generated on Fri Sep 18 2020 18:14:52 for libmwaw by doxygen 1.8.20