The class which parses text zones in a pc MS Works document v1-4. More...
#include <WPS4Text.h>
Public Member Functions | |
WPS4Text (WPS4Parser &parser, RVNGInputStreamPtr &input) | |
contructor More... | |
~WPS4Text () | |
destructor More... | |
void | setListener (WPSContentListenerPtr &listen) |
sets the listener More... | |
int | numPages () const |
returns the number of pages More... | |
void | flushExtra () |
sends the data which have not yet been sent to the listener More... | |
![]() | |
virtual | ~WPSTextParser () |
virtual destructor More... | |
int | version () const |
returns the file version More... | |
RVNGInputStreamPtr & | getInput () |
returns the actual input More... | |
Protected Types | |
typedef bool(WPS4Text::* | DataParser )(long bot, long eot, int id, long endPos, std::string &mess) |
definition of the plc data parser (low level) More... | |
![]() | |
typedef bool(WPSTextParser::* | FDPParser )(long endPos, int &id, std::string &mess) |
callback when a new attribute is found in an FDPP/FDPC entry More... | |
Protected Member Functions | |
WPS4Parser & | mainParser () |
return the main parser More... | |
WPS4Parser const & | mainParser () const |
return the main parser More... | |
libwps_tools_win::Font::Type | getDefaultFontType () const |
returns the default codepage to use for the document More... | |
WPSEntry | getHeaderEntry () const |
returns the header entry (if such entry exists, if not returns an invalid entry) More... | |
WPSEntry | getFooterEntry () const |
returns the footer entry (if such entry exists, if not returns an invalid entry) More... | |
WPSEntry | getMainTextEntry () const |
returns the main text entry (if such entry exists, if not returns an invalid entry) More... | |
bool | readText (WPSEntry const &entry) |
reads a text section and sends it to a listener More... | |
bool | readEntries () |
finds all text entries (TEXT, SHdr, SFtr, BTEC, BTEP, FTNp, FTNp, BKMK, FONT, CHRT) More... | |
bool | readStructures () |
parsed all the text entries More... | |
bool | findFDPStructures (int which) |
finds the FDPC/FDPP structure using the BTEC/BTEP entries More... | |
bool | findFDPStructuresByHand (int which) |
finds the FDPC/FDPP structure by searching after the text zone More... | |
bool | readPLC (WPSEntry const &zone, std::vector< long > &textPtrs, std::vector< long > &listValues, DataParser parser=0L) |
reads a PLC (Pointer List Composant ?) in zone entry More... | |
bool | defDataParser (long bot, long eot, int id, long endPos, std::string &mess) |
default plc reader More... | |
bool | readFontNames (WPSEntry const &entry) |
reads the font names More... | |
bool | readFont (long endPos, int &id, std::string &mess) |
reads a font properties More... | |
bool | readParagraph (long endPos, int &id, std::string &mess) |
reads a paragraph properties More... | |
bool | readDosLink (WPSEntry const &entry) |
reads the ZZDLink ( a list of filename ) More... | |
bool | objectDataParser (long bot, long eot, int id, long endPos, std::string &mess) |
reads a object properties ( position in text, size and definition in file) More... | |
bool | readFootNotes (WPSEntry const &ftnD, WPSEntry const &ftnP) |
reads the footnotes positions and definitions ( zones FTNd and FTNp) More... | |
bool | footNotesDataParser (long bot, long eot, int id, long endPos, std::string &mess) |
reads a book mark property ( string) More... | |
bool | bkmkDataParser (long bot, long eot, int id, long endPos, std::string &mess) |
reads a book mark property ( string) More... | |
bool | dttmDataParser (long bot, long eot, int id, long endPos, std::string &mess) |
reads a date time property More... | |
![]() | |
WPSTextParser (WPSParser &parser, RVNGInputStreamPtr &input) | |
constructor More... | |
std::multimap< std::string, WPSEntry > & | getNameEntryMap () |
returns the map type->entry More... | |
std::multimap< std::string, WPSEntry > const & | getNameEntryMap () const |
returns the map type->entry More... | |
std::vector< DataFOD > | mergeSortedFODLists (std::vector< DataFOD > const &lst1, std::vector< DataFOD > const &lst2) const |
function which takes two sorted list of attribute (by text position). More... | |
bool | readFDP (WPSEntry const &entry, std::vector< DataFOD > &fods, FDPParser parser) |
parses a FDPP or a FDPC entry (which contains a list of ATTR_TEXT/ATTR_PARAG with their definition ) and adds found data in listFODs More... | |
libwps::DebugFile & | ascii () |
a DebugFile used to write what we recognize when we parse the document More... | |
Protected Attributes | |
WPSContentListenerPtr | m_listener |
the listener More... | |
shared_ptr < WPS4TextInternal::State > | m_state |
the internal state More... | |
![]() | |
int | m_version |
the file version More... | |
RVNGInputStreamPtr | m_input |
the main input More... | |
WPSParser & | m_mainParser |
pointer to the main zone parser; More... | |
WPSEntry | m_textPositions |
an entry which corresponds to the complete text zone More... | |
std::vector< DataFOD > | m_FODList |
the list of a FOD More... | |
libwps::DebugFile & | m_asciiFile |
the ascii file More... | |
Friends | |
class | WPS4Parser |
The class which parses text zones in a pc MS Works document v1-4.
This class must be associated with a WPS4Parser. It finds and reads:
|
protected |
definition of the plc data parser (low level)
input | the file's input |
endPos | the end of the properties' definition, |
bot | param eot defined the text zone corresponding to these properties |
id | the number of this properties |
mess | a string which can be filled to indicate unparsed data |
WPS4Text::WPS4Text | ( | WPS4Parser & | parser, |
RVNGInputStreamPtr & | input | ||
) |
contructor
WPS4Text::~WPS4Text | ( | ) |
destructor
|
protected |
reads a book mark property ( string)
Referenced by readStructures().
|
protected |
default plc reader
Referenced by readPLC().
|
protected |
reads a date time property
Referenced by readStructures().
|
protected |
finds the FDPC/FDPP structure using the BTEC/BTEP entries
which | == 0 means FDPP |
Referenced by readStructures().
|
protected |
finds the FDPC/FDPP structure by searching after the text zone
which | == 0 means FDPP |
Referenced by readStructures().
void WPS4Text::flushExtra | ( | ) |
sends the data which have not yet been sent to the listener
|
protected |
reads a book mark property ( string)
Referenced by readFootNotes().
|
protected |
returns the default codepage to use for the document
Referenced by footNotesDataParser(), readFont(), readFontNames(), and readText().
|
protected |
returns the footer entry (if such entry exists, if not returns an invalid entry)
|
protected |
returns the header entry (if such entry exists, if not returns an invalid entry)
|
protected |
returns the main text entry (if such entry exists, if not returns an invalid entry)
|
inlineprotected |
return the main parser
Referenced by objectDataParser(), readEntries(), readFont(), readParagraph(), and readText().
|
inlineprotected |
return the main parser
int WPS4Text::numPages | ( | ) | const |
returns the number of pages
|
protected |
reads a object properties ( position in text, size and definition in file)
Referenced by readStructures().
|
protected |
reads the ZZDLink ( a list of filename )
Referenced by readStructures().
|
protected |
finds all text entries (TEXT, SHdr, SFtr, BTEC, BTEP, FTNp, FTNp, BKMK, FONT, CHRT)
|
protected |
reads a font properties
Referenced by readStructures().
|
protected |
reads the font names
Referenced by readStructures().
reads the footnotes positions and definitions ( zones FTNd and FTNp)
Referenced by readStructures().
|
protected |
reads a paragraph properties
Referenced by readStructures().
|
protected |
reads a PLC (Pointer List Composant ?) in zone entry
zone | the zone of the data in the file, |
textPtrs | lists of offset in text zones where properties changes |
listValues | lists of properties values (filled only if values are simple types: int, ..) |
parser | the parser to use to read the values |
Referenced by findFDPStructures(), readFootNotes(), and readStructures().
|
protected |
parsed all the text entries
|
protected |
reads a text section and sends it to a listener
Referenced by flushExtra().
|
inline |
sets the listener
|
friend |
|
protected |
the listener
Referenced by flushExtra(), readText(), and setListener().
|
mutableprotected |
the internal state
Referenced by bkmkDataParser(), dttmDataParser(), findFDPStructures(), findFDPStructuresByHand(), flushExtra(), footNotesDataParser(), getFooterEntry(), getHeaderEntry(), getMainTextEntry(), objectDataParser(), readDosLink(), readEntries(), readFont(), readFontNames(), readFootNotes(), readParagraph(), readStructures(), readText(), and WPS4Text().