The class which parses the main zones of a mac MS Works document v4. More...
#include <MsWks4Zone.hxx>
Public Member Functions | |
MsWks4Zone (MWAWInputStreamPtr const &input, MWAWParserStatePtr const &parserState, MWAWParser &parser, std::string const &oleName) | |
constructor More... | |
~MsWks4Zone () | |
destructor More... | |
Protected Member Functions | |
void | init () |
inits all internal variables More... | |
MWAWInputStreamPtr | getInput () |
returns the actual input More... | |
bool | parseHeaderIndex (MWAWInputStreamPtr &input) |
tries to find the beginning of the list of indices, then try to find all entries in this list. More... | |
bool | parseHeaderIndexEntry (MWAWInputStreamPtr &input) |
parses an index entry More... | |
bool | createZones (bool mainOle) |
finds and parses all the zones to prepare the data More... | |
void | readContentZones (MWAWEntry const &entry, bool mainOle) |
final reading of a text zone More... | |
MWAWTextListenerPtr | createListener (librevenge::RVNGTextInterface *interface) |
creates the main listener More... | |
double | getTextHeight () const |
returns the page height, ie. paper size less margin (in inches) less header/footer size More... | |
void | newPage (int number, bool soft=false) |
adds a new page More... | |
void | readFootNote (int id) |
sends text corresponding to the footnote id to the listener (via MsWks4Text) More... | |
MWAWEntry | getTextPosition () const |
return the text positions ( used for frame text) More... | |
bool | readPRNT (MWAWInputStreamPtr input, MWAWEntry const &entry, MWAWPageSpan &page) |
reads the PRNT zone which contains the printer properties ( page dimension, margins, ...) More... | |
bool | readDOP (MWAWInputStreamPtr input, MWAWEntry const &entry, MWAWPageSpan &page) |
parses the DIO zone which contains the document properties (dimension, ...) More... | |
bool | readFRAM (MWAWInputStreamPtr input, MWAWEntry const &entry) |
parses the FRAM zone which contains some information about frames (header, footer, ...) More... | |
bool | readRLRB (MWAWInputStreamPtr input, MWAWEntry const &entry) |
parses the RLRB zone which seems to contain some position in the page ? More... | |
bool | readSELN (MWAWInputStreamPtr input, MWAWEntry const &entry) |
parses the SELN zone which seems to contain some information about the actual More... | |
void | setAscii (std::string const &oleName) |
inits the ascii file More... | |
libmwaw::DebugFile & | ascii () |
a DebugFile used to write what we recognize when we parse the document More... | |
Protected Attributes | |
MWAWParser * | m_mainParser |
the main parser More... | |
std::shared_ptr< MWAWParserState > | m_parserState |
the parser state More... | |
std::shared_ptr< MsWks4ZoneInternal::State > | m_state |
the internal state More... | |
std::shared_ptr< MsWksDocument > | m_document |
the zone data More... | |
Private Member Functions | |
MsWks4Zone (MsWks4Zone const &orig)=delete | |
MsWks4Zone & | operator= (MsWks4Zone const &orig)=delete |
Friends | |
class | MsWksDocument |
class | MsWksDRParser |
class | MsWksParser |
class | MsWks4Text |
The class which parses the main zones of a mac MS Works document v4.
This class must be associated with a MsWksParser or a MsWksDocument, which gives it the oles to parse. This oles can be MN0, MacWorks/QHdr, MacWorks/QFtr, MacWorks/QFootnotes and MacWorks/QFrm<number> .
It creates a MsWksGraph, a MsWks4Text to parse the the graphic and the text parts.
It reads the entries:
MsWks4Zone::MsWks4Zone | ( | MWAWInputStreamPtr const & | input, |
MWAWParserStatePtr const & | parserState, | ||
MWAWParser & | parser, | ||
std::string const & | oleName | ||
) |
constructor
MsWks4Zone::~MsWks4Zone | ( | ) |
destructor
|
privatedelete |
|
protected |
a DebugFile used to write what we recognize when we parse the document
|
protected |
creates the main listener
|
protected |
finds and parses all the zones to prepare the data
Referenced by MsWksDocument::sendTextbox().
|
protected |
returns the actual input
|
protected |
returns the page height, ie. paper size less margin (in inches) less header/footer size
Referenced by createListener().
|
protected |
return the text positions ( used for frame text)
Referenced by MsWksDocument::sendTextbox().
|
protected |
inits all internal variables
Referenced by MsWks4Zone().
|
protected |
adds a new page
Referenced by readContentZones().
|
privatedelete |
|
protected |
tries to find the beginning of the list of indices, then try to find all entries in this list.
Stores result in nameTable, offsetTable
Referenced by createZones().
|
protected |
parses an index entry
Referenced by parseHeaderIndex().
|
protected |
final reading of a text zone
Referenced by MsWksDocument::sendTextbox().
|
protected |
parses the DIO zone which contains the document properties (dimension, ...)
Referenced by createZones().
|
protected |
sends text corresponding to the footnote id to the listener (via MsWks4Text)
|
protected |
parses the FRAM zone which contains some information about frames (header, footer, ...)
Referenced by createZones().
|
protected |
reads the PRNT zone which contains the printer properties ( page dimension, margins, ...)
Referenced by createZones().
|
protected |
parses the RLRB zone which seems to contain some position in the page ?
Referenced by createZones().
|
protected |
parses the SELN zone which seems to contain some information about the actual
Referenced by createZones().
|
protected |
inits the ascii file
Referenced by MsWks4Zone().
|
friend |
|
friend |
Referenced by MsWks4Zone().
|
friend |
|
friend |
|
protected |
the zone data
Referenced by ascii(), createListener(), createZones(), getInput(), getTextPosition(), init(), MsWks4Zone(), newPage(), parseHeaderIndex(), parseHeaderIndexEntry(), readContentZones(), readDOP(), readFootNote(), readFRAM(), readPRNT(), readRLRB(), readSELN(), and setAscii().
|
protected |
the main parser
Referenced by readContentZones().
|
protected |
the parser state
Referenced by createListener(), createZones(), getTextHeight(), MsWks4Zone(), newPage(), and readContentZones().
|
protected |
the internal state
Referenced by createListener(), createZones(), init(), newPage(), readContentZones(), readDOP(), and readFRAM().