RagTime5SpreadsheetInternal::SpreadsheetCParser Struct Referencefinal

low level: parser of main spreadsheet cluster More...

Inheritance diagram for RagTime5SpreadsheetInternal::SpreadsheetCParser:
RagTime5ClusterManager::ClusterParser

Public Types

enum  {
  F_borderRoot , F_borderH , F_borderV , F_cellsTree ,
  F_cellsTreeValue , F_cellsUnion , F_dims , F_graphPLC ,
  F_name , F_nameRoot =F_name+3 , F_sheetList , F_nextId =F_sheetList+3 ,
  F_parentList , F_childList , F_refBlock , F_refPos ,
  F_textPLC , F_unknA , F_unknARoot
}
 

Public Member Functions

 SpreadsheetCParser (RagTime5ClusterManager &parser, int type)
 constructor
 
 ~SpreadsheetCParser () final
 destructor
 
std::shared_ptr< ClusterSpreadsheetgetSpreadsheetCluster ()
 return the spreadsheet cluster
 
std::shared_ptr< RagTime5ClusterManager::ClustergetCluster () final
 return the current cluster
 
std::shared_ptr< SheetgetSpreadsheet ()
 return the spreadsheet
 
void setExpectedType (int id, int type)
 set a data id 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::shared_ptr< ClustergetCluster ()=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< ClusterSpreadsheetm_cluster
 the current cluster
 
std::shared_ptr< Sheetm_sheet
 the sheet
 
std::string m_fieldName
 the actual field name
 
std::vector< int > m_defaultPLCValues
 the default plc values
 
std::map< MWAWVec2i, int > m_PLCNumRowByPlanesMap
 the list of row plc by planes
 
std::map< int, int > m_expectedIdToType
 the expected id
 
std::stack< int > m_idStack
 the id stack
 

Private Member Functions

 SpreadsheetCParser (SpreadsheetCParser const &orig)=delete
 copy constructor (not implemented)
 
SpreadsheetCParseroperator= (SpreadsheetCParser const &orig)=delete
 copy operator (not implemented)
 

Additional Inherited Members

- Public Attributes inherited from RagTime5ClusterManager::ClusterParser
RagTime5ClusterManagerm_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 main spreadsheet cluster

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
F_borderRoot 
F_borderH 
F_borderV 
F_cellsTree 
F_cellsTreeValue 
F_cellsUnion 
F_dims 
F_graphPLC 
F_name 
F_nameRoot 
F_sheetList 
F_nextId 
F_parentList 
F_childList 
F_refBlock 
F_refPos 
F_textPLC 
F_unknA 
F_unknARoot 

Constructor & Destructor Documentation

◆ SpreadsheetCParser() [1/2]

RagTime5SpreadsheetInternal::SpreadsheetCParser::SpreadsheetCParser ( RagTime5ClusterManager parser,
int  type 
)
inline

constructor

◆ ~SpreadsheetCParser()

RagTime5SpreadsheetInternal::SpreadsheetCParser::~SpreadsheetCParser ( )
final

destructor

◆ SpreadsheetCParser() [2/2]

RagTime5SpreadsheetInternal::SpreadsheetCParser::SpreadsheetCParser ( SpreadsheetCParser const &  orig)
privatedelete

copy constructor (not implemented)

Member Function Documentation

◆ endZone()

void RagTime5SpreadsheetInternal::SpreadsheetCParser::endZone ( )
inlinefinalvirtual

end of a start zone call

Reimplemented from RagTime5ClusterManager::ClusterParser.

◆ getCluster()

std::shared_ptr< RagTime5ClusterManager::Cluster > RagTime5SpreadsheetInternal::SpreadsheetCParser::getCluster ( )
inlinefinalvirtual

return the current cluster

Implements RagTime5ClusterManager::ClusterParser.

◆ getNewZoneToParse()

int RagTime5SpreadsheetInternal::SpreadsheetCParser::getNewZoneToParse ( )
inlinefinalvirtual

returns to new zone to parse.

Reimplemented from RagTime5ClusterManager::ClusterParser.

◆ getSpreadsheet()

std::shared_ptr< Sheet > RagTime5SpreadsheetInternal::SpreadsheetCParser::getSpreadsheet ( )
inline

return the spreadsheet

Referenced by RagTime5Spreadsheet::readSpreadsheetCluster().

◆ getSpreadsheetCluster()

std::shared_ptr< ClusterSpreadsheet > RagTime5SpreadsheetInternal::SpreadsheetCParser::getSpreadsheetCluster ( )
inline

return the spreadsheet cluster

Referenced by RagTime5Spreadsheet::readSpreadsheetCluster().

◆ operator=()

SpreadsheetCParser & RagTime5SpreadsheetInternal::SpreadsheetCParser::operator= ( SpreadsheetCParser const &  orig)
privatedelete

copy operator (not implemented)

◆ parseDataZone()

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

parse a data block

◆ parseField()

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

parse a field

Reimplemented from RagTime5ClusterManager::ClusterParser.

◆ parseHeaderZone()

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

parse the header zone

◆ parseZone()

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

parse a zone

Reimplemented from RagTime5ClusterManager::ClusterParser.

◆ setExpectedType()

void RagTime5SpreadsheetInternal::SpreadsheetCParser::setExpectedType ( int  id,
int  type 
)
inline

set a data id type

Member Data Documentation

◆ m_cluster

std::shared_ptr<ClusterSpreadsheet> RagTime5SpreadsheetInternal::SpreadsheetCParser::m_cluster
protected

the current cluster

◆ m_defaultPLCValues

std::vector<int> RagTime5SpreadsheetInternal::SpreadsheetCParser::m_defaultPLCValues
protected

the default plc values

◆ m_expectedIdToType

std::map<int,int> RagTime5SpreadsheetInternal::SpreadsheetCParser::m_expectedIdToType
protected

the expected id

◆ m_fieldName

std::string RagTime5SpreadsheetInternal::SpreadsheetCParser::m_fieldName
protected

the actual field name

◆ m_idStack

std::stack<int> RagTime5SpreadsheetInternal::SpreadsheetCParser::m_idStack
protected

the id stack

◆ m_PLCNumRowByPlanesMap

std::map<MWAWVec2i,int> RagTime5SpreadsheetInternal::SpreadsheetCParser::m_PLCNumRowByPlanesMap
protected

the list of row plc by planes

◆ m_sheet

std::shared_ptr<Sheet> RagTime5SpreadsheetInternal::SpreadsheetCParser::m_sheet
protected

the sheet


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

Generated on Wed May 3 2023 07:18:29 for libmwaw by doxygen 1.9.6