MsWrdText Class Reference

the main class to read the text part of Microsoft Word file More...

#include <MsWrdText.hxx>

Classes

struct  PLC
 Internal: the plc. More...
 

Public Member Functions

 MsWrdText (MsWrdParser &parser)
 constructor
 
virtual ~MsWrdText ()
 destructor
 
int version () const
 returns the file version
 
int numPages () const
 returns the number of pages
 
MWAWEntry getHeader () const
 returns the header entry
 
MWAWEntry getFooter () const
 returns the footer entry
 

Protected Member Functions

std::shared_ptr< MWAWParserState > & getParserState ()
 returns the parser state
 
bool sendMainText ()
 send a main zone
 
bool sendText (MWAWEntry const &textEntry, bool mainZone, bool tableCell=false)
 send a text zone
 
bool sendSection (int sectionId)
 try to open a section
 
bool readHeaderTextLength ()
 reads the three different zone size
 
bool createZones (long bot)
 finds the different zones
 
bool readTextStruct (MsWrdEntry &entry)
 read the text structure(some paragraph style+some text position?)
 
bool readPageBreak (MsWrdEntry &entry)
 read the page limit ?
 
bool readParagraphInfo (MsWrdEntry const &entry)
 read the paragraph height info
 
bool readFields (MsWrdEntry &entry, std::vector< long > const &fieldPos)
 read the field data
 
bool sendFieldComment (int id)
 send a field note to a listener
 
bool readFootnotesPos (MsWrdEntry &entry, std::vector< long > const &noteDef)
 read the footnote pos in text + val
 
bool readFootnotesData (MsWrdEntry &entry)
 read the footnote data
 
bool sendFootnote (int id)
 send a note to a listener
 
bool readFontNames (MsWrdEntry &entry)
 read the font names
 
void flushExtra ()
 sends the data which have not yet been sent to the listener
 
bool sendTable (MsWrdTextInternal::Table const &table)
 try to send a table.
 
long getMainTextLength () const
 returns the main text length
 
std::multimap< long, MsWrdText::PLC > & getTextPLCMap ()
 returns the text correspondance zone ( textpos, plc )
 
std::multimap< long, MsWrdText::PLC > & getFilePLCMap ()
 returns the file correspondance zone ( filepos, plc )
 
void prepareData ()
 prepare the data to be send
 
void prepareLines ()
 cut the text in line/cell pos
 
void convertFilePLCPos ()
 convert the file position in character position and compute the paragraph limit
 
void prepareParagraphProperties ()
 retrieve the paragraph properties
 
void prepareFontProperties ()
 retrieve the font properties
 
void prepareTableLimits ()
 find the table end position knowing the end cell/pos delimiter
 
bool updateTableBeginnningAt (long cPos, long &nextCPos)
 try to find a table which begin at position cPos, if so, update its data...
 
bool readLongZone (MsWrdEntry &entry, int sz, std::vector< long > &list)
 read a zone which consists in a list of int
 

Protected Attributes

MWAWParserStatePtr m_parserState
 the parser state
 
std::shared_ptr< MsWrdTextInternal::Statem_state
 the state
 
std::shared_ptr< MsWrdTextStylesm_stylesManager
 the style manager
 
MsWrdParserm_mainParser
 the main parser;
 

Private Member Functions

 MsWrdText (MsWrdText const &orig)=delete
 
MsWrdTextoperator= (MsWrdText const &orig)=delete
 

Friends

class MsWrdParser
 
class MsWrdTextStyles
 

Detailed Description

the main class to read the text part of Microsoft Word file

Constructor & Destructor Documentation

◆ MsWrdText() [1/2]

MsWrdText::MsWrdText ( MsWrdParser parser)
explicit

constructor

◆ ~MsWrdText()

MsWrdText::~MsWrdText ( )
virtual

destructor

◆ MsWrdText() [2/2]

MsWrdText::MsWrdText ( MsWrdText const &  orig)
privatedelete

Member Function Documentation

◆ convertFilePLCPos()

void MsWrdText::convertFilePLCPos ( )
protected

convert the file position in character position and compute the paragraph limit

Referenced by prepareData().

◆ createZones()

bool MsWrdText::createZones ( long  bot)
protected

finds the different zones

the break position

read the header footer limit

read the note

read the footenote

◆ flushExtra()

void MsWrdText::flushExtra ( )
protected

sends the data which have not yet been sent to the listener

◆ getFilePLCMap()

std::multimap< long, MsWrdText::PLC > & MsWrdText::getFilePLCMap ( )
protected

returns the file correspondance zone ( filepos, plc )

Referenced by MsWrdTextStyles::readPLC().

◆ getFooter()

MWAWEntry MsWrdText::getFooter ( ) const

returns the footer entry

◆ getHeader()

MWAWEntry MsWrdText::getHeader ( ) const

returns the header entry

◆ getMainTextLength()

long MsWrdText::getMainTextLength ( ) const
protected

returns the main text length

Referenced by MsWrdTextStyles::readSection().

◆ getParserState()

std::shared_ptr< MWAWParserState > & MsWrdText::getParserState ( )
inlineprotected

returns the parser state

◆ getTextPLCMap()

std::multimap< long, MsWrdText::PLC > & MsWrdText::getTextPLCMap ( )
protected

returns the text correspondance zone ( textpos, plc )

Referenced by MsWrdTextStyles::readSection().

◆ numPages()

int MsWrdText::numPages ( ) const

returns the number of pages

◆ operator=()

MsWrdText & MsWrdText::operator= ( MsWrdText const &  orig)
privatedelete

◆ prepareData()

void MsWrdText::prepareData ( )
protected

prepare the data to be send

Referenced by createZones().

◆ prepareFontProperties()

void MsWrdText::prepareFontProperties ( )
protected

retrieve the font properties

Referenced by prepareData().

◆ prepareLines()

void MsWrdText::prepareLines ( )
protected

cut the text in line/cell pos

Referenced by prepareData().

◆ prepareParagraphProperties()

void MsWrdText::prepareParagraphProperties ( )
protected

retrieve the paragraph properties

Referenced by prepareData().

◆ prepareTableLimits()

void MsWrdText::prepareTableLimits ( )
protected

find the table end position knowing the end cell/pos delimiter

Referenced by prepareData().

◆ readFields()

bool MsWrdText::readFields ( MsWrdEntry entry,
std::vector< long > const &  fieldPos 
)
protected

read the field data

Referenced by createZones().

◆ readFontNames()

bool MsWrdText::readFontNames ( MsWrdEntry entry)
protected

read the font names

Referenced by createZones().

◆ readFootnotesData()

bool MsWrdText::readFootnotesData ( MsWrdEntry entry)
protected

read the footnote data

Referenced by createZones().

◆ readFootnotesPos()

bool MsWrdText::readFootnotesPos ( MsWrdEntry entry,
std::vector< long > const &  noteDef 
)
protected

read the footnote pos in text + val

Referenced by createZones().

◆ readHeaderTextLength()

bool MsWrdText::readHeaderTextLength ( )
protected

reads the three different zone size

◆ readLongZone()

bool MsWrdText::readLongZone ( MsWrdEntry entry,
int  sz,
std::vector< long > &  list 
)
protected

read a zone which consists in a list of int

Referenced by createZones().

◆ readPageBreak()

bool MsWrdText::readPageBreak ( MsWrdEntry entry)
protected

read the page limit ?

Referenced by createZones().

◆ readParagraphInfo()

bool MsWrdText::readParagraphInfo ( MsWrdEntry const &  entry)
protected

read the paragraph height info

Referenced by createZones().

◆ readTextStruct()

bool MsWrdText::readTextStruct ( MsWrdEntry entry)
protected

read the text structure(some paragraph style+some text position?)

Referenced by createZones().

◆ sendFieldComment()

bool MsWrdText::sendFieldComment ( int  id)
protected

send a field note to a listener

◆ sendFootnote()

bool MsWrdText::sendFootnote ( int  id)
protected

send a note to a listener

◆ sendMainText()

bool MsWrdText::sendMainText ( )
protected

send a main zone

◆ sendSection()

bool MsWrdText::sendSection ( int  sectionId)
protected

try to open a section

Referenced by sendText().

◆ sendTable()

bool MsWrdText::sendTable ( MsWrdTextInternal::Table const &  table)
protected

try to send a table.

Referenced by sendText().

◆ sendText()

bool MsWrdText::sendText ( MWAWEntry const &  textEntry,
bool  mainZone,
bool  tableCell = false 
)
protected

send a text zone

Referenced by flushExtra(), sendFootnote(), sendMainText(), and sendTable().

◆ updateTableBeginnningAt()

bool MsWrdText::updateTableBeginnningAt ( long  cPos,
long &  nextCPos 
)
protected

try to find a table which begin at position cPos, if so, update its data...

Referenced by prepareParagraphProperties().

◆ version()

int MsWrdText::version ( ) const

Friends And Related Function Documentation

◆ MsWrdParser

friend class MsWrdParser
friend

◆ MsWrdTextStyles

friend class MsWrdTextStyles
friend

Referenced by MsWrdText().

Member Data Documentation

◆ m_mainParser

MsWrdParser* MsWrdText::m_mainParser
protected

the main parser;

Referenced by createZones(), and sendText().

◆ m_parserState

◆ m_state

◆ m_stylesManager


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

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