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< RagTime5ZonegetDataZone (int dataId) const
 returns the zone corresponding to a data id (or 0) More...
 
RagTime5ClusterManager::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) More...
 
RagTime5ClusterManager::Cluster::Type getPipelineContainerType (int pipelineId) const
 try to return the container's type corresponding to an id More...
 
shared_ptr< RagTime5ClusterManagergetClusterManager ()
 returns the cluster manager More...
 
shared_ptr< RagTime5StructManagergetStructManager ()
 returns the structure manager More...
 
shared_ptr< RagTime5StyleManagergetStyleManager ()
 returns the style manager More...
 
shared_ptr< RagTime5ClusterManager::ClusterreadChartCluster (RagTime5Zone &zone, int zoneType)
 try to read a chart cluster (via the spreadsheet manager) More...
 
shared_ptr< RagTime5ClusterManager::ClusterreadGraphicCluster (RagTime5Zone &zone, int zoneType)
 try to read a graphic cluster (via the graphic manager) More...
 
shared_ptr< RagTime5ClusterManager::ClusterreadLayoutCluster (RagTime5Zone &zone, int zoneType)
 try to read a layout cluster (via the layout manager) More...
 
shared_ptr< RagTime5ClusterManager::ClusterreadPipelineCluster (RagTime5Zone &zone, int zoneType)
 try to read a pipeline cluster (via the pipeline manager) More...
 
shared_ptr< RagTime5ClusterManager::ClusterreadPictureCluster (RagTime5Zone &zone, int zoneType)
 try to read a picture cluster (via the graphic manager) More...
 
shared_ptr< RagTime5ClusterManager::ClusterreadSpreadsheetCluster (RagTime5Zone &zone, int zoneType)
 try to read a spreadsheet cluster (via the spreadsheet manager) More...
 
shared_ptr< RagTime5ClusterManager::ClusterreadTextCluster (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...
 
bool send (int zoneId, MWAWListenerPtr listener, MWAWPosition const &pos, int partId=0, int part2Id=0)
 try to send a cluster zone (mainly unimplemented) 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...
 
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 readZoneInfo ()
 try to read the main zone info zone and the main cluster(and child) More...
 
bool readClusterZone (RagTime5Zone &zone, int type=-1)
 try to read a cluster zone More...
 
bool readClusterLinkList (RagTime5Zone &zone, RagTime5ClusterManager::Link const &link, std::vector< RagTime5StructManager::ZoneLink > &listLinks)
 try to read a cluster link zone More...
 
bool readClusterLinkList (RagTime5ClusterManager::Link const &link, RagTime5ClusterManager::Link const &nameLink, std::vector< RagTime5StructManager::ZoneLink > &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, std::string const &what="")
 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 readClusterFieldsData (RagTime5ClusterManager::Cluster &cluster)
 try to read the field 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 script data More...
 
bool readScriptComment (RagTime5Zone &zone)
 try to read a script comment zone More...
 
bool readClusterGProp (RagTime5ClusterManager::Cluster &cluster)
 try to read the cluster with contains main graphic object properties 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 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< RagTime5StructManager::ZoneLink > const &list)
 check a cluster list 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::Statem_state
 the state More...
 
shared_ptr< RagTime5Chartm_chartParser
 the chart manager More...
 
shared_ptr< RagTime5Graphm_graphParser
 the graph manager More...
 
shared_ptr< RagTime5Layoutm_layoutParser
 the layout manager More...
 
shared_ptr< RagTime5Pipelinem_pipelineParser
 the pipeline manager More...
 
shared_ptr< RagTime5Spreadsheetm_spreadsheetParser
 the spreadsheet manager More...
 
shared_ptr< RagTime5Textm_textParser
 the text manager More...
 
shared_ptr< RagTime5ClusterManagerm_clusterManager
 the cluster manager More...
 
shared_ptr< RagTime5StructManagerm_structManager
 the structure manager More...
 
shared_ptr< RagTime5StyleManagerm_styleManager
 the style manager More...
 

Friends

class RagTime5Chart
 
class RagTime5Graph
 
class RagTime5Layout
 
class RagTime5Pipeline
 
class RagTime5Spreadsheet
 
class RagTime5Text
 
class RagTime5ClusterManager
 
struct RagTime5ParserInternal::DocInfoFieldParser
 
class RagTime5StyleManager
 
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::checkClusterList ( std::vector< int > const &  list)
protected

check a cluster list

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)

Referenced by parse().

RagTime5ClusterManager::Cluster::Type RagTime5Parser::getClusterType ( int  zId) const
protected

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

Referenced by RagTime5Pipeline::getContainerType(), RagTime5Spreadsheet::send(), RagTime5Graph::send(), and RagTime5Layout::updateLayout().

RagTime5ClusterManager::Cluster::Type RagTime5Parser::getPipelineContainerType ( int  pipelineId) const
protected

try to return the container's type corresponding to an id

Referenced by RagTime5Graph::send().

shared_ptr< RagTime5StructManager > RagTime5Parser::getStructManager ( )
protected

returns the structure manager

shared_ptr< RagTime5StyleManager > RagTime5Parser::getStyleManager ( )
protected

returns the style 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.

shared_ptr< RagTime5ClusterManager::Cluster > 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::readClusterGProp ( RagTime5ClusterManager::Cluster cluster)
protected

try to read the cluster with contains main graphic object properties

Referenced by readClusterZone().

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

try to read a cluster list link zone

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 script data

Referenced by readClusterZone().

bool RagTime5Parser::readClusterZone ( RagTime5Zone zone,
int  type = -1 
)
protected
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

shared_ptr< RagTime5ClusterManager::Cluster > RagTime5Parser::readGraphicCluster ( RagTime5Zone zone,
int  zoneType 
)
protected

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

Referenced by RagTime5ClusterManager::readCluster().

shared_ptr< RagTime5ClusterManager::Cluster > RagTime5Parser::readLayoutCluster ( RagTime5Zone zone,
int  zoneType 
)
protected

try to read a layout cluster (via the layout 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
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().

shared_ptr< RagTime5ClusterManager::Cluster > RagTime5Parser::readPictureCluster ( RagTime5Zone zone,
int  zoneType 
)
protected

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

Referenced by RagTime5ClusterManager::readCluster().

shared_ptr< RagTime5ClusterManager::Cluster > RagTime5Parser::readPipelineCluster ( RagTime5Zone zone,
int  zoneType 
)
protected

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

Referenced by RagTime5ClusterManager::readCluster().

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

try to read a script comment zone

Referenced by readClusterScriptData(), and readZoneData().

shared_ptr< RagTime5ClusterManager::Cluster > 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 RagTime5ClusterManager::readClusterGObjProperties(), and readStructZone().

shared_ptr< RagTime5ClusterManager::Cluster > 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,
std::string const &  what = "" 
)
protected

try to read a unicode string zone

Referenced by readScriptComment(), and readZoneData().

bool RagTime5Parser::readUnicodeStringList ( RagTime5ClusterManager::Link const &  link,
std::map< int, librevenge::RVNGString > &  idToStringMap 
)
protected
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 flushExtra().

bool RagTime5Parser::readZoneInfo ( )
protected

try to read the main zone info zone and the main cluster(and child)

Referenced by createZones().

bool RagTime5Parser::send ( int  zoneId,
MWAWListenerPtr  listener,
MWAWPosition const &  pos,
int  partId = 0,
int  part2Id = 0 
)
protected
bool RagTime5Parser::sendZones ( )
protected

try to send the different zones

Referenced by parse().

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 RagTime5Chart
friend

Referenced by init().

friend class RagTime5ClusterManager
friend

Referenced by init().

friend class RagTime5Graph
friend

Referenced by init().

friend class RagTime5Layout
friend

Referenced by init().

friend class RagTime5Pipeline
friend

Referenced by init().

friend class RagTime5Spreadsheet
friend

Referenced by init().

friend class RagTime5StyleManager
friend

Referenced by init().

friend class RagTime5Text
friend

Referenced by init().

Member Data Documentation

shared_ptr<RagTime5Chart> RagTime5Parser::m_chartParser
protected

the chart manager

Referenced by init(), and readChartCluster().

shared_ptr<RagTime5ClusterManager> RagTime5Parser::m_clusterManager
protected
shared_ptr<RagTime5Graph> RagTime5Parser::m_graphParser
protected
shared_ptr<RagTime5Layout> RagTime5Parser::m_layoutParser
protected

the layout manager

Referenced by createDocument(), init(), readLayoutCluster(), and sendZones().

shared_ptr<RagTime5Pipeline> RagTime5Parser::m_pipelineParser
protected

the pipeline manager

Referenced by getPipelineContainerType(), init(), readPipelineCluster(), and send().

shared_ptr<RagTime5Spreadsheet> RagTime5Parser::m_spreadsheetParser
protected

the spreadsheet manager

Referenced by flushExtra(), init(), readSpreadsheetCluster(), and send().

shared_ptr<RagTime5StructManager> RagTime5Parser::m_structManager
protected
shared_ptr<RagTime5StyleManager> RagTime5Parser::m_styleManager
protected

the style manager

Referenced by getStyleManager(), init(), and readClusterZone().

shared_ptr<RagTime5Text> RagTime5Parser::m_textParser
protected

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

Generated on Fri Feb 19 2016 02:07:08 for libmwaw by doxygen 1.8.11