RagTime5Parser Class Reference

the main class to read a RagTime v5 file More...

#include <RagTime5Parser.hxx>

Inheritance diagram for RagTime5Parser:
MWAWTextParser MWAWParser

Public Member Functions

 RagTime5Parser (MWAWInputStreamPtr input, MWAWRSRCParserPtr rsrcParser, MWAWHeader *header)
 constructor More...
 
virtual ~RagTime5Parser ()
 destructor More...
 
bool checkHeader (MWAWHeader *header, bool strict=false)
 checks if the document header is correct (or not) More...
 
void parse (librevenge::RVNGTextInterface *documentInterface)
 virtual function used to parse the input More...
 
- Public Member Functions inherited from MWAWParser
virtual ~MWAWParser ()
 virtual destructor More...
 
int version () const
 returns the works version More...
 
MWAWParserStatePtr getParserState ()
 returns the parser state More...
 
MWAWHeadergetHeader ()
 returns the header More...
 
MWAWInputStreamPtrgetInput ()
 returns the actual input More...
 
MWAWListenerPtr getMainListener ()
 returns the main listener More...
 
MWAWGraphicListenerPtrgetGraphicListener ()
 returns the graphic listener More...
 
MWAWPresentationListenerPtrgetPresentationListener ()
 returns the presentation listener More...
 
MWAWSpreadsheetListenerPtrgetSpreadsheetListener ()
 returns the spreadsheet listener More...
 
MWAWTextListenerPtrgetTextListener ()
 returns the text listener More...
 
MWAWFontConverterPtrgetFontConverter ()
 returns the font converter More...
 
MWAWPageSpan const & getPageSpan () const
 returns the actual page dimension More...
 
MWAWPageSpangetPageSpan ()
 returns the actual page dimension More...
 
double getFormLength () const
 returns the form length More...
 
double getFormWidth () const
 returns the form width More...
 
double getPageLength () const
 returns the page length (form length without margin ) More...
 
double getPageWidth () const
 returns the page width (form width without margin ) More...
 
MWAWRSRCParserPtrgetRSRCParser ()
 returns the rsrc parser More...
 
libmwaw::DebugFileascii ()
 a DebugFile used to write what we recognize when we parse the document More...
 

Protected Member Functions

void init ()
 inits all internal variables More...
 
shared_ptr
< RagTime5ClusterManager
getClusterManager ()
 returns the cluster manager More...
 
shared_ptr< RagTime5StructManagergetStructManager ()
 returns the structure manager More...
 
bool readChartCluster (RagTime5Zone &zone, int zoneType)
 try to read a chart cluster (via the spreadsheet manager) More...
 
bool readGraphicCluster (RagTime5Zone &zone, int zoneType)
 try to read a graphic cluster (via the graphic manager) More...
 
bool readPictureCluster (RagTime5Zone &zone, int zoneType)
 try to read a picture cluster (via the graphic manager) More...
 
bool readSpreadsheetCluster (RagTime5Zone &zone, int zoneType)
 try to read a spreadsheet cluster (via the spreadsheet manager) More...
 
bool readTextCluster (RagTime5Zone &zone, int zoneType)
 try to read a text cluster (via the text manager) More...
 
void createDocument (librevenge::RVNGTextInterface *documentInterface)
 creates the listener which will be associated to the document More...
 
bool sendZones ()
 try to send the different zones More...
 
void newPage (int number)
 adds a new page More...
 
bool createZones ()
 finds the different objects zones More...
 
bool findDataZones (MWAWEntry const &entry)
 try to create the main data zones list More...
 
shared_ptr< RagTime5ZonegetDataZone (int dataId) const
 returns the zone corresponding to a data id (or 0) More...
 
bool update (RagTime5Zone &zone)
 try to update a zone: create a new input if the zone is stored in different positions, ... More...
 
bool readZoneData (RagTime5Zone &zone)
 try to read the zone data More...
 
bool unpackZone (RagTime5Zone &zone, MWAWEntry const &entry, std::vector< unsigned char > &data)
 try to unpack a zone More...
 
bool unpackZone (RagTime5Zone &zone)
 try to unpack a zone More...
 
bool readClusterZones ()
 try to read the different cluster zones More...
 
bool readClusterZone (RagTime5Zone &zone, int type=-1)
 try to read a cluster zone More...
 
bool readClusterLinkList (RagTime5Zone &zone, RagTime5ClusterManager::Link const &link)
 try to read a cluster link zone More...
 
bool readClusterLinkList (RagTime5ClusterManager::Link const &link, RagTime5ClusterManager::Link const &nameLink, std::vector< int > &list, std::string const &name="")
 try to read a cluster list link zone More...
 
bool readString (RagTime5Zone &zone, std::string &string)
 try to read a string zone ( zone with id1=21,id2=23:24) More...
 
bool readUnicodeString (RagTime5Zone &zone)
 try to read a unicode string zone More...
 
bool readLongListWithSize (int dataId, int fSz, std::vector< long > &list, std::string const &zoneName="")
 try to read a int/long zone data More...
 
bool readPositions (int posId, std::vector< long > &listPosition)
 try to read a positions zone in data More...
 
bool readLongList (RagTime5ClusterManager::Link const &link, std::vector< long > &list)
 try to read/get the list of long of a L_LongList More...
 
bool readUnicodeStringList (RagTime5ClusterManager::Link const &link, std::map< int, librevenge::RVNGString > &idToStringMap)
 try to read a list of unicode string zone More...
 
bool readDocumentVersion (RagTime5Zone &zone)
 try to read the document version zone More...
 
bool readClusterRootData (RagTime5ClusterManager::ClusterRoot &cluster)
 try to read the main cluster More...
 
bool readFormats (RagTime5ClusterManager::Cluster &cluster)
 try to read the list of format More...
 
bool readClusterFieldsData (RagTime5ClusterManager::Cluster &cluster)
 try to read the field data More...
 
bool readClusterLayoutData (RagTime5ClusterManager::ClusterLayout &cluster)
 try to read the layout cluster (type 4001) More...
 
bool readClusterPipelineData (RagTime5ClusterManager::Cluster &cluster)
 try to read the pipeline cluster data More...
 
bool readDocInfoClusterData (RagTime5Zone &zone, MWAWEntry const &entry)
 try to read the main doc info cluster data More...
 
bool readClusterScriptData (RagTime5ClusterManager::ClusterScript &cluster)
 try to read the unknown clusterA data More...
 
bool readUnknownClusterBData (RagTime5ClusterManager::Cluster &cluster)
 try to read the unknown clusterB data More...
 
bool readUnknownClusterCData (RagTime5ClusterManager::Cluster &cluster)
 try to read the unknown clusterC data More...
 
bool readStructZone (RagTime5ClusterManager::Cluster &cluster, RagTime5StructManager::FieldParser &parser, int headerSz)
 try to read a structured zone More...
 
bool readStructData (RagTime5Zone &zone, long endPos, int n, int headerSz, RagTime5StructManager::FieldParser &parser, librevenge::RVNGString const &dataName)
 try to read a data in a structured zone More...
 
bool readStructMainZone (RagTime5Zone &zone)
 try to read a main structured zone (unknown content) More...
 
bool readListZone (RagTime5ClusterManager::Link const &link)
 try to read a list zone More...
 
bool readListZone (RagTime5ClusterManager::Link const &link, RagTime5StructManager::DataParser &parser)
 try to read a list zone More...
 
bool readFixedSizeZone (RagTime5ClusterManager::Link const &link, std::string const &name)
 try to read a fixed size zone More...
 
bool readFixedSizeZone (RagTime5ClusterManager::Link const &link, RagTime5StructManager::DataParser &parser)
 try to read a fixed size zone More...
 
bool checkClusterList (std::vector< int > const &list)
 check a cluster list More...
 
void flushExtra ()
 flush unsent zone (debugging function) More...
 
- Protected Member Functions inherited from MWAWTextParser
 MWAWTextParser (MWAWInputStreamPtr input, MWAWRSRCParserPtr rsrcParser, MWAWHeader *header)
 constructor (protected) More...
 
 MWAWTextParser (MWAWParserStatePtr state)
 constructor using a state More...
 
- Protected Member Functions inherited from MWAWParser
 MWAWParser (MWAWParserState::Type type, MWAWInputStreamPtr input, MWAWRSRCParserPtr rsrcParser, MWAWHeader *header)
 constructor (protected) More...
 
 MWAWParser (MWAWParserStatePtr state)
 constructor using a state More...
 
void setVersion (int vers)
 sets the document's version More...
 
void setGraphicListener (MWAWGraphicListenerPtr &listener)
 sets the graphic listener More...
 
void resetGraphicListener ()
 resets the listener More...
 
void setPresentationListener (MWAWPresentationListenerPtr &listener)
 sets the presentation listener More...
 
void resetPresentationListener ()
 resets the listener More...
 
void setSpreadsheetListener (MWAWSpreadsheetListenerPtr &listener)
 sets the spreadsheet listener More...
 
void resetSpreadsheetListener ()
 resets the listener More...
 
void setTextListener (MWAWTextListenerPtr &listener)
 sets the text listener More...
 
void resetTextListener ()
 resets the listener More...
 
void setFontConverter (MWAWFontConverterPtr fontConverter)
 sets the font convertor More...
 
void setAsciiName (char const *name)
 Debugging: change the default ascii file. More...
 
std::string const & asciiName () const
 return the ascii file name More...
 

Protected Attributes

shared_ptr
< RagTime5ParserInternal::State
m_state
 the state More...
 
shared_ptr< RagTime5Graphm_graphParser
 the graph manager More...
 
shared_ptr< RagTime5Spreadsheetm_spreadsheetParser
 the spreadsheet manager More...
 
shared_ptr< RagTime5Textm_textParser
 the text manager More...
 
shared_ptr< RagTime5StructManagerm_structManager
 the structure manager More...
 
shared_ptr
< RagTime5ClusterManager
m_clusterManager
 the cluster manager More...
 

Friends

class RagTime5Graph
 
class RagTime5Spreadsheet
 
class RagTime5Text
 
class RagTime5ClusterManager
 
struct RagTime5ParserInternal::DocInfoFieldParser
 
class RagTime5ParserInternal::SubDocument
 

Detailed Description

the main class to read a RagTime v5 file

Constructor & Destructor Documentation

RagTime5Parser::RagTime5Parser ( MWAWInputStreamPtr  input,
MWAWRSRCParserPtr  rsrcParser,
MWAWHeader header 
)

constructor

RagTime5Parser::~RagTime5Parser ( )
virtual

destructor

Member Function Documentation

bool RagTime5Parser::checkHeader ( MWAWHeader header,
bool  strict = false 
)
virtual

checks if the document header is correct (or not)

Implements MWAWParser.

Referenced by parse().

void RagTime5Parser::createDocument ( librevenge::RVNGTextInterface *  documentInterface)
protected

creates the listener which will be associated to the document

Referenced by parse().

bool RagTime5Parser::createZones ( )
protected

finds the different objects zones

Referenced by parse().

bool RagTime5Parser::findDataZones ( MWAWEntry const &  entry)
protected

try to create the main data zones list

Referenced by createZones().

void RagTime5Parser::flushExtra ( )
protected

flush unsent zone (debugging function)

shared_ptr< RagTime5StructManager > RagTime5Parser::getStructManager ( )
protected

returns the structure manager

void RagTime5Parser::init ( )
protected

inits all internal variables

Referenced by RagTime5Parser().

void RagTime5Parser::newPage ( int  number)
protected

adds a new page

void RagTime5Parser::parse ( librevenge::RVNGTextInterface *  documentInterface)
virtual

virtual function used to parse the input

Implements MWAWTextParser.

bool RagTime5Parser::readChartCluster ( RagTime5Zone zone,
int  zoneType 
)
protected

try to read a chart cluster (via the spreadsheet manager)

Referenced by RagTime5ClusterManager::readCluster().

bool RagTime5Parser::readClusterFieldsData ( RagTime5ClusterManager::Cluster cluster)
protected

try to read the field data

Referenced by readClusterZone().

bool RagTime5Parser::readClusterLayoutData ( RagTime5ClusterManager::ClusterLayout cluster)
protected

try to read the layout cluster (type 4001)

Referenced by readClusterZone().

bool RagTime5Parser::readClusterLinkList ( RagTime5Zone zone,
RagTime5ClusterManager::Link const &  link 
)
protected
bool RagTime5Parser::readClusterLinkList ( RagTime5ClusterManager::Link const &  link,
RagTime5ClusterManager::Link const &  nameLink,
std::vector< int > &  list,
std::string const &  name = "" 
)
protected

try to read a cluster list link zone

bool RagTime5Parser::readClusterPipelineData ( RagTime5ClusterManager::Cluster cluster)
protected

try to read the pipeline cluster data

Referenced by readClusterZone().

bool RagTime5Parser::readClusterRootData ( RagTime5ClusterManager::ClusterRoot cluster)
protected

try to read the main cluster

the field def cluster list

Referenced by readClusterZone().

bool RagTime5Parser::readClusterScriptData ( RagTime5ClusterManager::ClusterScript cluster)
protected

try to read the unknown clusterA data

Referenced by readClusterZone().

bool RagTime5Parser::readClusterZone ( RagTime5Zone zone,
int  type = -1 
)
protected
bool RagTime5Parser::readClusterZones ( )
protected

try to read the different cluster zones

Referenced by createZones().

bool RagTime5Parser::readDocInfoClusterData ( RagTime5Zone zone,
MWAWEntry const &  entry 
)
protected

try to read the main doc info cluster data

Referenced by RagTime5ParserInternal::DocInfoFieldParser::parseField().

bool RagTime5Parser::readDocumentVersion ( RagTime5Zone zone)
protected

try to read the document version zone

Referenced by readZoneData().

bool RagTime5Parser::readFixedSizeZone ( RagTime5ClusterManager::Link const &  link,
RagTime5StructManager::DataParser parser 
)
protected

try to read a fixed size zone

bool RagTime5Parser::readFormats ( RagTime5ClusterManager::Cluster cluster)
protected

try to read the list of format

Referenced by readClusterZone().

bool RagTime5Parser::readGraphicCluster ( RagTime5Zone zone,
int  zoneType 
)
protected

try to read a graphic cluster (via the graphic manager)

Referenced by RagTime5ClusterManager::readCluster().

bool RagTime5Parser::readListZone ( RagTime5ClusterManager::Link const &  link,
RagTime5StructManager::DataParser parser 
)
protected

try to read a list zone

bool RagTime5Parser::readLongList ( RagTime5ClusterManager::Link const &  link,
std::vector< long > &  list 
)
protected

try to read/get the list of long of a L_LongList

Referenced by RagTime5ClusterManager::readClusterMainList(), readClusterRootData(), and RagTime5Graph::readGraphicCluster().

bool RagTime5Parser::readLongListWithSize ( int  dataId,
int  fSz,
std::vector< long > &  list,
std::string const &  zoneName = "" 
)
protected

try to read a int/long zone data

Referenced by readLongList(), and readPositions().

bool RagTime5Parser::readPictureCluster ( RagTime5Zone zone,
int  zoneType 
)
protected

try to read a picture cluster (via the graphic manager)

Referenced by RagTime5ClusterManager::readCluster().

bool RagTime5Parser::readPositions ( int  posId,
std::vector< long > &  listPosition 
)
protected
bool RagTime5Parser::readSpreadsheetCluster ( RagTime5Zone zone,
int  zoneType 
)
protected

try to read a spreadsheet cluster (via the spreadsheet manager)

Referenced by RagTime5ClusterManager::readCluster().

bool RagTime5Parser::readString ( RagTime5Zone zone,
std::string &  string 
)
protected

try to read a string zone ( zone with id1=21,id2=23:24)

Referenced by createZones(), and readZoneData().

bool RagTime5Parser::readStructData ( RagTime5Zone zone,
long  endPos,
int  n,
int  headerSz,
RagTime5StructManager::FieldParser parser,
librevenge::RVNGString const &  dataName 
)
protected

try to read a data in a structured zone

Referenced by readStructZone().

bool RagTime5Parser::readStructMainZone ( RagTime5Zone zone)
protected

try to read a main structured zone (unknown content)

Referenced by readZoneData().

bool RagTime5Parser::readTextCluster ( RagTime5Zone zone,
int  zoneType 
)
protected

try to read a text cluster (via the text manager)

Referenced by RagTime5ClusterManager::readCluster().

bool RagTime5Parser::readUnicodeString ( RagTime5Zone zone)
protected

try to read a unicode string zone

Referenced by readClusterScriptData(), RagTime5Text::readTextCluster(), and readZoneData().

bool RagTime5Parser::readUnicodeStringList ( RagTime5ClusterManager::Link const &  link,
std::map< int, librevenge::RVNGString > &  idToStringMap 
)
protected
bool RagTime5Parser::readUnknownClusterBData ( RagTime5ClusterManager::Cluster cluster)
protected

try to read the unknown clusterB data

Referenced by readClusterZone().

bool RagTime5Parser::readUnknownClusterCData ( RagTime5ClusterManager::Cluster cluster)
protected

try to read the unknown clusterC data

Referenced by readClusterZone().

bool RagTime5Parser::readZoneData ( RagTime5Zone zone)
protected

try to read the zone data

Referenced by createZones().

bool RagTime5Parser::sendZones ( )
protected

try to send the different zones

bool RagTime5Parser::unpackZone ( RagTime5Zone zone,
MWAWEntry const &  entry,
std::vector< unsigned char > &  data 
)
protected

try to unpack a zone

Referenced by createZones(), and unpackZone().

bool RagTime5Parser::unpackZone ( RagTime5Zone zone)
protected

try to unpack a zone

bool RagTime5Parser::update ( RagTime5Zone zone)
protected

try to update a zone: create a new input if the zone is stored in different positions, ...

Referenced by createZones().

Friends And Related Function Documentation

friend class RagTime5ClusterManager
friend

Referenced by init().

friend class RagTime5Graph
friend

Referenced by init().

friend class RagTime5Spreadsheet
friend

Referenced by init().

friend class RagTime5Text
friend

Referenced by init().

Member Data Documentation

shared_ptr<RagTime5ClusterManager> RagTime5Parser::m_clusterManager
protected
shared_ptr<RagTime5Graph> RagTime5Parser::m_graphParser
protected
shared_ptr<RagTime5Spreadsheet> RagTime5Parser::m_spreadsheetParser
protected

the spreadsheet manager

Referenced by init(), readChartCluster(), and readSpreadsheetCluster().

shared_ptr<RagTime5StructManager> RagTime5Parser::m_structManager
protected
shared_ptr<RagTime5Text> RagTime5Parser::m_textParser
protected

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

Generated on Thu Jul 9 2015 20:26:39 for libmwaw by doxygen 1.8.8