low level: parser of chart cluster More...
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 | |
![]() | |
ClusterParser (RagTime5ClusterManager &parser, int type, std::string const &zoneName) | |
constructor | |
virtual | ~ClusterParser () |
destructor | |
virtual std::shared_ptr< Cluster > | getCluster ()=0 |
return the current cluster | |
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 | |
virtual bool | parseZone (MWAWInputStreamPtr &, long, int, int, libmwaw::DebugStream &) |
parse a zone | |
virtual void | endZone () |
end of a start zone call | |
virtual bool | parseField (RagTime5StructManager::Field const &, int, libmwaw::DebugStream &) |
parse a the data of a zone, n_dataId:m | |
virtual int | getNewZoneToParse () |
returns to new zone to parse. | |
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 | |
![]() | |
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 | |
low level: parser of chart cluster
the different field types
|
inline |
constructor
|
final |
destructor
|
privatedelete |
copy constructor (not implemented)
|
inline |
try to check the father type
|
inlinefinalvirtual |
end of a start zone call
Reimplemented from RagTime5ClusterManager::ClusterParser.
|
inline |
return the chart
Referenced by RagTime5Chart::readChartCluster().
|
inline |
return the current cluster
Referenced by RagTime5Chart::readChartCluster().
|
inlinefinalvirtual |
return the current cluster
Implements RagTime5ClusterManager::ClusterParser.
|
inlinefinalvirtual |
returns to new zone to parse.
-1: means no preference, 0: means first zone, ...
Reimplemented from RagTime5ClusterManager::ClusterParser.
|
inline |
insert a new zone to be parsed
|
privatedelete |
copy operator (not implemented)
|
inlineprotected |
parse a data block
|
inlinefinalvirtual |
parse a field
Reimplemented from RagTime5ClusterManager::ClusterParser.
|
inlineprotected |
parse the header zone
|
inlinefinalvirtual |
parse a zone
Reimplemented from RagTime5ClusterManager::ClusterParser.
|
protected |
the ascii file
|
protected |
the chart
|
protected |
the current cluster
|
protected |
the list of id to zone type map
|
protected |
the actual field name
|
protected |
the link id: 1: value double, 2: value text zone
|
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
|
protected |
the list of know zone remaining to be parsed
|
protected |
the current zone type