virtual class use to parse the cluster data More...
#include <RagTime5ClusterManager.hxx>
Public Member Functions | |
| 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) | |
Public Attributes | |
| 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 | |
Private Member Functions | |
| ClusterParser (ClusterParser const &orig)=delete | |
| ClusterParser & | operator= (ClusterParser const &orig)=delete |
virtual class use to parse the cluster data
|
inline |
constructor
Referenced by RagTime5GraphInternal::ButtonCParser::ButtonCParser(), RagTime5ChartInternal::ChartCParser::ChartCParser(), ClusterParser(), RagTime5ClusterManagerInternal::ColPatCParser::ColPatCParser(), RagTime5GraphInternal::GraphicCParser::GraphicCParser(), RagTime5ClusterManagerInternal::GroupCParser::GroupCParser(), RagTime5LayoutInternal::LayoutCParser::LayoutCParser(), operator=(), RagTime5GraphInternal::PictCParser::PictCParser(), RagTime5PipelineInternal::PipelineCParser::PipelineCParser(), RagTime5ClusterManagerInternal::RootChildCParser::RootChildCParser(), RagTime5ClusterManagerInternal::RootCParser::RootCParser(), RagTime5ClusterManagerInternal::SoundCParser::SoundCParser(), RagTime5SpreadsheetInternal::SpreadsheetCParser::SpreadsheetCParser(), RagTime5ClusterManagerInternal::StyleCParser::StyleCParser(), RagTime5TextInternal::TextCParser::TextCParser(), and RagTime5ClusterManagerInternal::UnknownCParser::UnknownCParser().
|
virtual |
destructor
|
explicitprivatedelete |
|
inlinevirtual |
end of a start zone call
Reimplemented in RagTime5ChartInternal::ChartCParser, RagTime5ClusterManagerInternal::GroupCParser, RagTime5ClusterManagerInternal::RootChildCParser, RagTime5ClusterManagerInternal::RootCParser, RagTime5ClusterManagerInternal::SoundCParser, RagTime5ClusterManagerInternal::StyleCParser, RagTime5GraphInternal::ButtonCParser, RagTime5GraphInternal::GraphicCParser, RagTime5GraphInternal::PictCParser, RagTime5LayoutInternal::LayoutCParser, RagTime5SpreadsheetInternal::SpreadsheetCParser, and RagTime5TextInternal::TextCParser.
Referenced by RagTime5ClusterManager::readCluster().
|
pure virtual |
return the current cluster
Implemented in RagTime5ChartInternal::ChartCParser, RagTime5ClusterManagerInternal::ColPatCParser, RagTime5ClusterManagerInternal::GroupCParser, RagTime5ClusterManagerInternal::RootChildCParser, RagTime5ClusterManagerInternal::RootCParser, RagTime5ClusterManagerInternal::SoundCParser, RagTime5ClusterManagerInternal::StyleCParser, RagTime5ClusterManagerInternal::UnknownCParser, RagTime5GraphInternal::ButtonCParser, RagTime5GraphInternal::GraphicCParser, RagTime5GraphInternal::PictCParser, RagTime5LayoutInternal::LayoutCParser, RagTime5PipelineInternal::PipelineCParser, RagTime5SpreadsheetInternal::SpreadsheetCParser, and RagTime5TextInternal::TextCParser.
Referenced by RagTime5ClusterManager::readCluster().
| std::string RagTime5ClusterManager::ClusterParser::getClusterDebugName | ( | int | id | ) |
returns "data"+id+"A" ( followed by the cluster type and name if know)
Referenced by RagTime5GraphInternal::GraphicCParser::parseHeaderZone(), RagTime5LayoutInternal::LayoutCParser::parseHeaderZone(), RagTime5SpreadsheetInternal::SpreadsheetCParser::parseHeaderZone(), RagTime5TextInternal::TextCParser::parseHeaderZone(), RagTime5LayoutInternal::LayoutCParser::parsePageZone(), RagTime5ClusterManagerInternal::ColPatCParser::parseZone(), RagTime5ClusterManagerInternal::RootChildCParser::parseZone(), RagTime5LayoutInternal::LayoutCParser::parseZone(), and RagTime5PipelineInternal::PipelineCParser::parseZone().
|
inlinevirtual |
returns to new zone to parse.
-1: means no preference, 0: means first zone, ...
Reimplemented in RagTime5ChartInternal::ChartCParser, RagTime5ClusterManagerInternal::RootCParser, RagTime5ClusterManagerInternal::SoundCParser, RagTime5GraphInternal::ButtonCParser, RagTime5GraphInternal::GraphicCParser, RagTime5GraphInternal::PictCParser, RagTime5LayoutInternal::LayoutCParser, and RagTime5SpreadsheetInternal::SpreadsheetCParser.
Referenced by RagTime5ClusterManager::readCluster().
|
inlinevirtual |
return the debug name corresponding to a zone
Referenced by RagTime5ClusterManager::readCluster().
|
inlinevirtual |
return the debug name corresponding to a cluster
|
inline |
return true if N correspond to a file/script name
Referenced by RagTime5ClusterManagerInternal::RootCParser::parseZone(), and RagTime5GraphInternal::ButtonCParser::parseZone().
|
privatedelete |
|
inlinevirtual |
parse a the data of a zone, n_dataId:m
Reimplemented in RagTime5ChartInternal::ChartCParser, RagTime5ClusterManagerInternal::ColPatCParser, RagTime5ClusterManagerInternal::GroupCParser, RagTime5ClusterManagerInternal::RootChildCParser, RagTime5ClusterManagerInternal::RootCParser, RagTime5ClusterManagerInternal::SoundCParser, RagTime5ClusterManagerInternal::StyleCParser, RagTime5GraphInternal::ButtonCParser, RagTime5GraphInternal::GraphicCParser, RagTime5GraphInternal::PictCParser, RagTime5LayoutInternal::LayoutCParser, RagTime5PipelineInternal::PipelineCParser, RagTime5SpreadsheetInternal::SpreadsheetCParser, and RagTime5TextInternal::TextCParser.
Referenced by RagTime5ClusterManager::readCluster().
|
inlinevirtual |
parse a zone
Reimplemented in RagTime5ChartInternal::ChartCParser, RagTime5ClusterManagerInternal::ColPatCParser, RagTime5ClusterManagerInternal::GroupCParser, RagTime5ClusterManagerInternal::RootChildCParser, RagTime5ClusterManagerInternal::RootCParser, RagTime5ClusterManagerInternal::SoundCParser, RagTime5ClusterManagerInternal::StyleCParser, RagTime5GraphInternal::ButtonCParser, RagTime5GraphInternal::GraphicCParser, RagTime5GraphInternal::PictCParser, RagTime5LayoutInternal::LayoutCParser, RagTime5PipelineInternal::PipelineCParser, RagTime5SpreadsheetInternal::SpreadsheetCParser, and RagTime5TextInternal::TextCParser.
Referenced by RagTime5ClusterManager::readCluster().
| bool RagTime5ClusterManager::ClusterParser::readLinkHeader | ( | MWAWInputStreamPtr & | input, |
| long | fSz, | ||
| Link & | link, | ||
| long(&) | values[4], | ||
| std::string & | message ) |
try to read a link header
Referenced by RagTime5ChartInternal::ChartCParser::parseDataZone(), RagTime5ClusterManagerInternal::RootCParser::parseDataZone(), RagTime5GraphInternal::GraphicCParser::parseDataZone(), RagTime5GraphInternal::PictCParser::parseDataZone(), RagTime5SpreadsheetInternal::SpreadsheetCParser::parseDataZone(), RagTime5TextInternal::TextCParser::parseDataZone(), RagTime5TextInternal::TextCParser::parseHeaderZone(), RagTime5ClusterManagerInternal::ColPatCParser::parseZone(), RagTime5ClusterManagerInternal::GroupCParser::parseZone(), RagTime5ClusterManagerInternal::RootChildCParser::parseZone(), RagTime5ClusterManagerInternal::SoundCParser::parseZone(), RagTime5ClusterManagerInternal::StyleCParser::parseZone(), RagTime5GraphInternal::ButtonCParser::parseZone(), and RagTime5LayoutInternal::LayoutCParser::parseZone().
|
inlinevirtual |
start a new zone
Reimplemented in RagTime5LayoutInternal::LayoutCParser.
Referenced by RagTime5ClusterManager::readCluster().
| int RagTime5ClusterManager::ClusterParser::m_dataId |
the actual zone id
Referenced by ClusterParser(), RagTime5ClusterManagerInternal::GroupCParser::endZone(), RagTime5ClusterManagerInternal::RootChildCParser::endZone(), RagTime5ClusterManagerInternal::RootCParser::endZone(), RagTime5ClusterManagerInternal::SoundCParser::endZone(), RagTime5ClusterManagerInternal::StyleCParser::endZone(), RagTime5GraphInternal::ButtonCParser::endZone(), RagTime5SpreadsheetInternal::SpreadsheetCParser::endZone(), RagTime5TextInternal::TextCParser::endZone(), RagTime5ChartInternal::ChartCParser::parseDataZone(), RagTime5ClusterManagerInternal::RootCParser::parseDataZone(), RagTime5GraphInternal::GraphicCParser::parseDataZone(), RagTime5GraphInternal::PictCParser::parseDataZone(), RagTime5SpreadsheetInternal::SpreadsheetCParser::parseDataZone(), RagTime5TextInternal::TextCParser::parseDataZone(), RagTime5ClusterManagerInternal::ColPatCParser::parseField(), RagTime5ClusterManagerInternal::GroupCParser::parseField(), RagTime5ClusterManagerInternal::RootChildCParser::parseField(), RagTime5ClusterManagerInternal::SoundCParser::parseField(), RagTime5ClusterManagerInternal::StyleCParser::parseField(), RagTime5GraphInternal::ButtonCParser::parseField(), RagTime5LayoutInternal::LayoutCParser::parseField(), RagTime5SpreadsheetInternal::SpreadsheetCParser::parseField(), RagTime5TextInternal::TextCParser::parseField(), RagTime5ChartInternal::ChartCParser::parseHeaderZone(), RagTime5ClusterManagerInternal::RootCParser::parseHeaderZone(), RagTime5ClusterManagerInternal::SoundCParser::parseHeaderZone(), RagTime5GraphInternal::ButtonCParser::parseHeaderZone(), RagTime5GraphInternal::GraphicCParser::parseHeaderZone(), RagTime5GraphInternal::PictCParser::parseHeaderZone(), RagTime5LayoutInternal::LayoutCParser::parseHeaderZone(), RagTime5SpreadsheetInternal::SpreadsheetCParser::parseHeaderZone(), RagTime5TextInternal::TextCParser::parseHeaderZone(), RagTime5ClusterManagerInternal::ColPatCParser::parseZone(), RagTime5ClusterManagerInternal::GroupCParser::parseZone(), RagTime5ClusterManagerInternal::RootChildCParser::parseZone(), RagTime5ClusterManagerInternal::RootCParser::parseZone(), RagTime5ClusterManagerInternal::SoundCParser::parseZone(), RagTime5ClusterManagerInternal::StyleCParser::parseZone(), RagTime5GraphInternal::ButtonCParser::parseZone(), RagTime5LayoutInternal::LayoutCParser::parseZone(), RagTime5PipelineInternal::PipelineCParser::parseZone(), RagTime5TextInternal::TextCParser::parseZone(), RagTime5TextInternal::TextCParser::parseZoneBlock(), RagTime5ClusterManager::readCluster(), and RagTime5LayoutInternal::LayoutCParser::startZone().
| bool RagTime5ClusterManager::ClusterParser::m_hiLoEndian |
zone endian
Referenced by ClusterParser(), isANameHeader(), and RagTime5ClusterManager::readCluster().
| Link RagTime5ClusterManager::ClusterParser::m_link |
the actual link
Referenced by ClusterParser(), RagTime5ChartInternal::ChartCParser::endZone(), RagTime5ClusterManagerInternal::GroupCParser::endZone(), RagTime5ClusterManagerInternal::RootChildCParser::endZone(), RagTime5ClusterManagerInternal::RootCParser::endZone(), RagTime5ClusterManagerInternal::SoundCParser::endZone(), RagTime5ClusterManagerInternal::StyleCParser::endZone(), RagTime5GraphInternal::ButtonCParser::endZone(), RagTime5GraphInternal::GraphicCParser::endZone(), RagTime5GraphInternal::PictCParser::endZone(), RagTime5LayoutInternal::LayoutCParser::endZone(), RagTime5SpreadsheetInternal::SpreadsheetCParser::endZone(), RagTime5TextInternal::TextCParser::endZone(), RagTime5ChartInternal::ChartCParser::parseDataZone(), RagTime5ClusterManagerInternal::RootCParser::parseDataZone(), RagTime5GraphInternal::GraphicCParser::parseDataZone(), RagTime5GraphInternal::PictCParser::parseDataZone(), RagTime5SpreadsheetInternal::SpreadsheetCParser::parseDataZone(), RagTime5TextInternal::TextCParser::parseDataZone(), RagTime5ChartInternal::ChartCParser::parseField(), RagTime5ClusterManagerInternal::GroupCParser::parseField(), RagTime5ClusterManagerInternal::RootChildCParser::parseField(), RagTime5ClusterManagerInternal::RootCParser::parseField(), RagTime5ClusterManagerInternal::SoundCParser::parseField(), RagTime5ClusterManagerInternal::StyleCParser::parseField(), RagTime5GraphInternal::ButtonCParser::parseField(), RagTime5GraphInternal::GraphicCParser::parseField(), RagTime5GraphInternal::PictCParser::parseField(), RagTime5LayoutInternal::LayoutCParser::parseField(), RagTime5SpreadsheetInternal::SpreadsheetCParser::parseField(), RagTime5TextInternal::TextCParser::parseField(), RagTime5GraphInternal::GraphicCParser::parseHeaderZone(), RagTime5GraphInternal::PictCParser::parseHeaderZone(), RagTime5ClusterManagerInternal::GroupCParser::parseZone(), RagTime5ClusterManagerInternal::RootChildCParser::parseZone(), RagTime5ClusterManagerInternal::SoundCParser::parseZone(), RagTime5ClusterManagerInternal::StyleCParser::parseZone(), RagTime5GraphInternal::ButtonCParser::parseZone(), RagTime5LayoutInternal::LayoutCParser::parseZone(), RagTime5PipelineInternal::PipelineCParser::parseZone(), and RagTime5ClusterManager::readCluster().
| std::string RagTime5ClusterManager::ClusterParser::m_name |
the cluster name
Referenced by ClusterParser(), getZoneName(), getZoneName(), and RagTime5ClusterManagerInternal::RootChildCParser::RootChildCParser().
| RagTime5ClusterManager& RagTime5ClusterManager::ClusterParser::m_parser |
the main parser
Referenced by ClusterParser(), and getClusterDebugName().
| int RagTime5ClusterManager::ClusterParser::m_type |
the cluster type
Referenced by ClusterParser(), RagTime5ChartInternal::ChartCParser::parseHeaderZone(), RagTime5ClusterManagerInternal::SoundCParser::parseHeaderZone(), RagTime5GraphInternal::ButtonCParser::parseHeaderZone(), RagTime5GraphInternal::GraphicCParser::parseHeaderZone(), RagTime5GraphInternal::PictCParser::parseHeaderZone(), RagTime5LayoutInternal::LayoutCParser::parseHeaderZone(), RagTime5SpreadsheetInternal::SpreadsheetCParser::parseHeaderZone(), RagTime5TextInternal::TextCParser::parseHeaderZone(), RagTime5ClusterManagerInternal::GroupCParser::parseZone(), RagTime5ClusterManagerInternal::RootChildCParser::parseZone(), RagTime5ClusterManagerInternal::StyleCParser::parseZone(), and RagTime5PipelineInternal::PipelineCParser::parseZone().