RagTime5ClusterManager Class Reference

basic class used to manage RagTime 5/6 zones More...

`#include <RagTime5ClusterManager.hxx>`

## Classes
struct | Link
| a link to a small zone (or set of zones) in RagTime 5/6 documents More...
struct | NameLink
| a link to a name zone in RagTime 5/6 documents More...
struct | Cluster
| the cluster data More...
struct | ClusterRoot
| the cluster for root More...
struct | ClusterParser
| virtual class use to parse the cluster data More...

## Public Member Functions
| RagTime5ClusterManager (RagTime5Document &doc)
| constructor
| ~RagTime5ClusterManager ()
| destructor
bool | sendClusterMainList ()
| try to send the root cluster zone
bool | readCluster (RagTime5Zone &zone, ClusterParser &parser, bool warnForUnparsed=true)
| try to read a cluster zone
bool | readCluster (RagTime5Zone &zone, std::shared_ptr< Cluster > &cluster, int type=-1)
| try to read a cluster zone
std::shared_ptr< Cluster > | readRootCluster (RagTime5Zone &zone)
| try to read the root cluster zone
bool | readClusterMainList (ClusterRoot &root, std::vector< int > &list, std::vector< int > const &clusterIdList)
| try to read the cluster root list (in general Data14)
bool | readClusterGObjProperties (RagTime5Zone &zone)
| try to read a level 2 child of a cluster (picture resizing, ...)
bool | readUnknownClusterC (Link const &link)
| try to read some unknown cluster
int | getClusterFileType (RagTime5Zone &zone)
| try to find a cluster zone type ( heuristic when the cluster type is unknown )
int | getClusterType (RagTime5Zone &zone, int fileType)
| returns the local zone type
bool | getClusterBasicHeaderInfo (RagTime5Zone &zone, long &N, long &fSz, long &debHeaderPos)
| try to return basic information about the header cluster's zone
bool | readFieldHeader (RagTime5Zone &zone, long endPos, std::string const &headerName, long &endDataPos, long expectedLVal=-99999)
| try to read a field header, if ok set the endDataPos positions
std::string | getClusterDebugName (int id)
| returns "data"+id+"A" ( followed by the cluster type and name if know)
void | setClusterName (int id, librevenge::RVNGString const &name)
| define a cluster name (used to associate graph name)
Cluster::Type | getClusterType (int zId) const
| returns the cluster type corresponding to zone id or C_Unknown (if the zone is not a cluster or was not parsed)

## Static Public Member Functions
static std::string | printType (unsigned long fileType)
| debug: print a file type

## Protected Attributes
std::shared_ptr< RagTime5ClusterManagerInternal::State > | m_state
| the state
RagTime5Document & | m_document
| the main parser
std::shared_ptr< RagTime5StructManager > | m_structManager
| the structure manager

## Private Member Functions
| RagTime5ClusterManager (RagTime5ClusterManager const &orig)=delete
RagTime5ClusterManager | operator= (RagTime5ClusterManager const &orig)=delete

## Friends
struct | ClusterParser

## Detailed Description

basic class used to manage RagTime 5/6 zones

## Constructor & Destructor Documentation

## ◆ RagTime5ClusterManager() [1/2]

RagTime5ClusterManager::RagTime5ClusterManager | ( | RagTime5Document & | doc | ) |
| explicit

constructor

Referenced by RagTime5ClusterManager::ClusterParser::ClusterParser(), operator=(), and RagTime5ClusterManager().

## ◆ ~RagTime5ClusterManager()

RagTime5ClusterManager::~RagTime5ClusterManager | ( |  | ) |

destructor

## ◆ RagTime5ClusterManager() [2/2]

RagTime5ClusterManager::RagTime5ClusterManager | ( | RagTime5ClusterManager const & | orig | ) |
| private delete

## Member Function Documentation

## ◆ getClusterBasicHeaderInfo()

bool RagTime5ClusterManager::getClusterBasicHeaderInfo | ( | RagTime5Zone & | zone,
|  | long & | N,
|  | long & | fSz,
|  | long & | debHeaderPos )

try to return basic information about the header cluster's zone

Referenced by getClusterFileType(), and getClusterType().

## ◆ getClusterDebugName()

std::string RagTime5ClusterManager::getClusterDebugName | ( | int | id | ) |

returns "data"+id+"A" ( followed by the cluster type and name if know)

## ◆ getClusterFileType()

int RagTime5ClusterManager::getClusterFileType | ( | RagTime5Zone & | zone | ) |

try to find a cluster zone type ( heuristic when the cluster type is unknown )

Referenced by getClusterType(), and readClusterMainList().

## ◆ getClusterType() [1/2]

RagTime5ClusterManager::Cluster::Type RagTime5ClusterManager::getClusterType | ( | int | zId | ) | const

returns the cluster type corresponding to zone id or C_Unknown (if the zone is not a cluster or was not parsed)

## ◆ getClusterType() [2/2]

int RagTime5ClusterManager::getClusterType | ( | RagTime5Zone & | zone,
|  | int | fileType )

returns the local zone type

Referenced by readClusterMainList().

## ◆ operator=()

RagTime5ClusterManager RagTime5ClusterManager::operator= | ( | RagTime5ClusterManager const & | orig | ) |
| private delete

## ◆ printType()

std::string RagTime5ClusterManager::printType | ( | unsigned long | fileType | ) |
| inline static

debug: print a file type

Referenced by RagTime5ClusterManagerInternal::RootCParser::parseDataZone(), RagTime5GraphInternal::GraphicCParser::parseDataZone(), RagTime5GraphInternal::PictCParser::parseDataZone(), RagTime5SpreadsheetInternal::SpreadsheetCParser::parseDataZone(), RagTime5ClusterManagerInternal::RootCParser::parseHeaderZone(), RagTime5GraphInternal::ButtonCParser::parseHeaderZone(), RagTime5ClusterManagerInternal::ColPatCParser::parseZone(), RagTime5ClusterManagerInternal::StyleCParser::parseZone(), RagTime5GraphInternal::ButtonCParser::parseZone(), and RagTime5ClusterManager::ClusterParser::readLinkHeader().

## ◆ readCluster() [1/2]

bool RagTime5ClusterManager::readCluster | ( | RagTime5Zone & | zone,
|  | RagTime5ClusterManager::ClusterParser & | parser,
|  | bool | warnForUnparsed = true )

try to read a cluster zone

Referenced by readRootCluster().

## ◆ readCluster() [2/2]

bool RagTime5ClusterManager::readCluster | ( | RagTime5Zone & | zone,
|  | std::shared_ptr< Cluster > & | cluster,
|  | int | type = -1 )

try to read a cluster zone

## ◆ readClusterGObjProperties()

bool RagTime5ClusterManager::readClusterGObjProperties | ( | RagTime5Zone & | zone | ) |

try to read a level 2 child of a cluster (picture resizing, ...)

## ◆ readClusterMainList()

bool RagTime5ClusterManager::readClusterMainList | ( | RagTime5ClusterManager::ClusterRoot & | root,
|  | std::vector< int > & | list,
|  | std::vector< int > const & | clusterIdList )

try to read the cluster root list (in general Data14)

## ◆ readFieldHeader()

bool RagTime5ClusterManager::readFieldHeader | ( | RagTime5Zone & | zone,
|  | long | endPos,
|  | std::string const & | headerName,
|  | long & | endDataPos,
|  | long | expectedLVal = -99999 )

try to read a field header, if ok set the endDataPos positions

Referenced by getClusterBasicHeaderInfo(), and readCluster().

## ◆ readRootCluster()

std::shared_ptr< RagTime5ClusterManager::Cluster > RagTime5ClusterManager::readRootCluster | ( | RagTime5Zone & | zone | ) |

try to read the root cluster zone

## ◆ readUnknownClusterC()

bool RagTime5ClusterManager::readUnknownClusterC | ( | Link const & | link | ) |

try to read some unknown cluster

## ◆ sendClusterMainList()

bool RagTime5ClusterManager::sendClusterMainList | ( |  | ) |

try to send the root cluster zone

## ◆ setClusterName()

void RagTime5ClusterManager::setClusterName | ( | int | id,
|  | librevenge::RVNGString const & | name )

define a cluster name (used to associate graph name)

## Friends And Related Symbol Documentation

## ◆ ClusterParser

friend struct ClusterParser
| friend

## Member Data Documentation

## ◆ m_document

RagTime5Document& RagTime5ClusterManager::m_document
| protected

the main parser

Referenced by RagTime5ClusterManager(), readClusterGObjProperties(), readClusterMainList(), readUnknownClusterC(), and sendClusterMainList().

## ◆ m_state

std::shared_ptr<RagTime5ClusterManagerInternal::State> RagTime5ClusterManager::m_state
| protected

the state

Referenced by getClusterDebugName(), getClusterType(), RagTime5ClusterManager(), readCluster(), readClusterMainList(), sendClusterMainList(), and setClusterName().

## ◆ m_structManager

std::shared_ptr<RagTime5StructManager> RagTime5ClusterManager::m_structManager
| protected

the structure manager

Referenced by RagTime5ClusterManager(), readCluster(), and readClusterMainList().

The documentation for this class was generated from the following files:

- RagTime5ClusterManager.hxx
- RagTime5ClusterManager.cxx