MSWriteParser Class Reference

This class parses Microsoft Write 3.0 and 3.1. More...

#include <MSWrite.h>

Inheritance diagram for MSWriteParser:
WPSParser DosWordParser

Public Member Functions

 MSWriteParser (RVNGInputStreamPtr &input, WPSHeaderPtr &header, libwps_tools_win::Font::Type encoding=libwps_tools_win::Font::WIN3_WEUROPE)
 
 ~MSWriteParser ()
 
void parse (librevenge::RVNGTextInterface *documentInterface)
 
- Public Member Functions inherited from WPSParser
 WPSParser (RVNGInputStreamPtr &input, WPSHeaderPtr &header)
 
virtual ~WPSParser ()
 

Protected Member Functions

void readStructures ()
 
virtual
libwps_tools_win::Font::Type 
getFileEncoding (libwps_tools_win::Font::Type hint)
 
void readFIB ()
 
virtual void readFFNTB ()
 
void readFOD (unsigned page, void(MSWriteParser::*parseFOD)(uint32_t fcFirst, uint32_t fcLim, unsigned size))
 
virtual void readPAP (uint32_t fcFirst, uint32_t fcLim, unsigned cch)
 
virtual void readCHP (uint32_t fcFirst, uint32_t fcLim, unsigned cch)
 
virtual void readSUMD ()
 
virtual void readFNTB ()
 
virtual void readSED ()
 
void readText (WPSEntry e, MSWriteParserInternal::Paragraph::Location location)
 
int numPages ()
 
void processObject (WPSPosition &pos, unsigned long lastPos)
 
bool processDDB (librevenge::RVNGBinaryData &bmpdata, WPSPosition &pos, unsigned width, unsigned height, unsigned byte_width, unsigned planes, unsigned bits_pixel, unsigned size)
 
bool processDIB (librevenge::RVNGBinaryData &bmpdata, unsigned size)
 
bool processWMF (librevenge::RVNGBinaryData &wmfdata, unsigned size)
 
void processEmbeddedOLE (WPSPosition &pos, unsigned long lastPos)
 
bool processStaticOLE (librevenge::RVNGBinaryData &, std::string &mimetype, WPSPosition &pos, unsigned long lastPos)
 
bool readString (std::string &res, unsigned long lastPos)
 
virtual void insertSpecial (uint8_t val, uint32_t fc, MSWriteParserInternal::Paragraph::Location location)
 
virtual void insertControl (uint8_t val, uint32_t fc)
 
void insertNote (bool annotation, uint32_t fcPos, librevenge::RVNGString &label)
 
unsigned insertString (const unsigned char *str, unsigned size, libwps_tools_win::Font::Type type)
 
void getHeaderFooters (uint32_t first, MSWriteParserInternal::Section &sep, WPSPageSpan &pageSpan)
 
void startSection (MSWriteParserInternal::Section &section)
 
bool checkFilePosition (uint32_t pos) const
 check if the file position is correct or not More...
 
- Protected Member Functions inherited from WPSParser
RVNGInputStreamPtrgetInput ()
 
RVNGInputStreamPtr getFileInput ()
 
WPSHeaderPtrgetHeader ()
 
int version () const
 
void setVersion (int vers)
 
libwps::DebugFileascii ()
 a DebugFile used to write what we recognize when we parse the document More...
 
NameMultiMapgetNameEntryMap ()
 
NameMultiMap const & getNameEntryMap () const
 

Static Protected Member Functions

static void getPageStyle (MSWriteParserInternal::Section &sep, WPSPageSpan &pageSpan)
 

Protected Attributes

uint32_t m_fileLength
 the last file position More...
 
uint32_t m_fcMac
 
std::vector
< MSWriteParserInternal::Paragraph
m_paragraphList
 
std::vector
< MSWriteParserInternal::Font
m_fontList
 
std::vector
< MSWriteParserInternal::Footnote
m_footnotes
 
std::vector
< MSWriteParserInternal::Section
m_sections
 
std::vector
< librevenge::RVNGString > 
m_fonts
 
libwps_tools_win::Font::Type m_fontType
 
shared_ptr< WPSContentListenerm_listener
 
librevenge::RVNGPropertyList m_metaData
 

Private Member Functions

 MSWriteParser (const MSWriteParser &)
 
MSWriteParseroperator= (const MSWriteParser &)
 
shared_ptr< WPSContentListenercreateListener (librevenge::RVNGTextInterface *interface)
 

Friends

class MSWriteParserInternal::SubDocument
 
struct MSWriteParserInternal::Paragraph
 
struct MSWriteParserInternal::Font
 

Additional Inherited Members

- Public Types inherited from WPSParser
typedef std::multimap
< std::string, WPSEntry
NameMultiMap
 a map to retrieve a file entry by name More...
 

Detailed Description

This class parses Microsoft Write 3.0 and 3.1.

Constructor & Destructor Documentation

MSWriteParser::MSWriteParser ( RVNGInputStreamPtr input,
WPSHeaderPtr header,
libwps_tools_win::Font::Type  encoding = libwps_tools_win::Font::WIN3_WEUROPE 
)
MSWriteParser::~MSWriteParser ( )
MSWriteParser::MSWriteParser ( const MSWriteParser )
private

Member Function Documentation

bool MSWriteParser::checkFilePosition ( uint32_t  pos) const
inlineprotected
shared_ptr< WPSContentListener > MSWriteParser::createListener ( librevenge::RVNGTextInterface *  interface)
private

Referenced by parse().

libwps_tools_win::Font::Type MSWriteParser::getFileEncoding ( libwps_tools_win::Font::Type  hint)
protectedvirtual

Reimplemented in DosWordParser.

Referenced by MSWriteParser().

void MSWriteParser::getHeaderFooters ( uint32_t  first,
MSWriteParserInternal::Section sep,
WPSPageSpan pageSpan 
)
protected

Referenced by createListener().

void MSWriteParser::getPageStyle ( MSWriteParserInternal::Section sep,
WPSPageSpan pageSpan 
)
staticprotected

Referenced by createListener().

void MSWriteParser::insertControl ( uint8_t  val,
uint32_t  fc 
)
protectedvirtual

Reimplemented in DosWordParser.

Referenced by readText().

void MSWriteParser::insertNote ( bool  annotation,
uint32_t  fcPos,
librevenge::RVNGString &  label 
)
protected
void MSWriteParser::insertSpecial ( uint8_t  val,
uint32_t  fc,
MSWriteParserInternal::Paragraph::Location  location 
)
protectedvirtual

Reimplemented in DosWordParser.

Referenced by readText().

unsigned MSWriteParser::insertString ( const unsigned char *  str,
unsigned  size,
libwps_tools_win::Font::Type  type 
)
protected

Referenced by readText().

int MSWriteParser::numPages ( )
protected
MSWriteParser& MSWriteParser::operator= ( const MSWriteParser )
private
void MSWriteParser::parse ( librevenge::RVNGTextInterface *  documentInterface)
virtual

Implements WPSParser.

bool MSWriteParser::processDDB ( librevenge::RVNGBinaryData &  bmpdata,
WPSPosition pos,
unsigned  width,
unsigned  height,
unsigned  byte_width,
unsigned  planes,
unsigned  bits_pixel,
unsigned  size 
)
protected

Referenced by processObject(), and processStaticOLE().

bool MSWriteParser::processDIB ( librevenge::RVNGBinaryData &  bmpdata,
unsigned  size 
)
protected

Referenced by processStaticOLE().

void MSWriteParser::processEmbeddedOLE ( WPSPosition pos,
unsigned long  lastPos 
)
protected

Referenced by processObject().

void MSWriteParser::processObject ( WPSPosition pos,
unsigned long  lastPos 
)
protected

Referenced by readText().

bool MSWriteParser::processStaticOLE ( librevenge::RVNGBinaryData &  b,
std::string &  mimetype,
WPSPosition pos,
unsigned long  lastPos 
)
protected
bool MSWriteParser::processWMF ( librevenge::RVNGBinaryData &  wmfdata,
unsigned  size 
)
protected

Referenced by processObject(), and processStaticOLE().

void MSWriteParser::readCHP ( uint32_t  fcFirst,
uint32_t  fcLim,
unsigned  cch 
)
protectedvirtual

Reimplemented in DosWordParser.

Referenced by readStructures().

void MSWriteParser::readFFNTB ( )
protectedvirtual

Reimplemented in DosWordParser.

Referenced by readStructures().

void MSWriteParser::readFIB ( )
protected

Referenced by readStructures().

void MSWriteParser::readFNTB ( )
protectedvirtual

Reimplemented in DosWordParser.

Referenced by readStructures().

void MSWriteParser::readFOD ( unsigned  page,
void(MSWriteParser::*)(uint32_t fcFirst, uint32_t fcLim, unsigned size)  parseFOD 
)
protected

Referenced by readStructures().

void MSWriteParser::readPAP ( uint32_t  fcFirst,
uint32_t  fcLim,
unsigned  cch 
)
protectedvirtual

Reimplemented in DosWordParser.

Referenced by readStructures().

void MSWriteParser::readSED ( )
protectedvirtual

Reimplemented in DosWordParser.

Referenced by readStructures().

bool MSWriteParser::readString ( std::string &  res,
unsigned long  lastPos 
)
protected
void MSWriteParser::readStructures ( )
protected

Referenced by parse().

void MSWriteParser::readSUMD ( )
protectedvirtual

Reimplemented in DosWordParser.

Referenced by readStructures().

void MSWriteParser::readText ( WPSEntry  e,
MSWriteParserInternal::Paragraph::Location  location 
)
protected
void MSWriteParser::startSection ( MSWriteParserInternal::Section section)
protected

Referenced by parse().

Friends And Related Function Documentation

friend struct MSWriteParserInternal::Font
friend
friend struct MSWriteParserInternal::Paragraph
friend

Member Data Documentation

uint32_t MSWriteParser::m_fcMac
protected
uint32_t MSWriteParser::m_fileLength
protected

the last file position

Referenced by checkFilePosition(), MSWriteParser(), and DosWordParser::readSED().

std::vector<MSWriteParserInternal::Font> MSWriteParser::m_fontList
protected
std::vector<librevenge::RVNGString> MSWriteParser::m_fonts
protected

Referenced by readCHP(), and readFFNTB().

std::vector<MSWriteParserInternal::Footnote> MSWriteParser::m_footnotes
protected
librevenge::RVNGPropertyList MSWriteParser::m_metaData
protected

Referenced by parse(), and DosWordParser::readSUMD().

std::vector<MSWriteParserInternal::Paragraph> MSWriteParser::m_paragraphList
protected

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

Generated on Sat Jul 29 2017 15:32:23 for libwps by doxygen 1.8.8