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().