MacWrtProStructures Class Reference

the main class to read the structures part of MacWrite Pro file More...

`#include <MacWrtProStructures.hxx>`

## Public Member Functions
| MacWrtProStructures (MacWrtProParser &mainParser)
| constructor
virtual | ~MacWrtProStructures ()
| destructor
int | version () const
| returns the file version.

## Protected Member Functions
void | init ()
| inits all internal variables
bool | createZones (std::shared_ptr< MWAWStream > &stream, int numPages)
| finds the different objects zones
bool | createZonesII (std::shared_ptr< MWAWStream > &stream, int numPages)
| finds the different objects zones in a MacWriteII file
int | numPages () const
| returns the number of pages
bool | sendMainZone ()
| send the main zone
void | updatePageSpan (int page, bool hasTitlePage, MWAWPageSpan &pageSpan)
| update the page span
void | flushExtra ()
| flush not send zones
void | buildPageStructures ()
| look for pages structures
void | buildTableStructures ()
| look for tables structures and if so, prepare data
bool | readStyles (std::shared_ptr< MWAWStream > &stream)
| try to read the paragraph styles zone which begins at address 0x200
bool | readStyle (std::shared_ptr< MWAWStream > &stream, int styleId)
| try to read a style
bool | readCharStyles (std::shared_ptr< MWAWStream > &stream)
| try to read the character styles zone
bool | readParagraphs (std::shared_ptr< MWAWStream > &stream)
| try to read a list of paragraph
bool | readParagraph (std::shared_ptr< MWAWStream > &stream, MacWrtProStructuresInternal::Paragraph &para)
| try to read a paragraph
bool | readGraphicsList (std::shared_ptr< MWAWStream > &stream, int nuumPages)
| try to read the list of graphic entries: 1.0 1.5
std::shared_ptr< MacWrtProStructuresInternal::Graphic > | readGraphic (std::shared_ptr< MWAWStream > &stream)
| try to read a graphic entry: 1.0, 1.5
bool | readPagesListII (std::shared_ptr< MWAWStream > const &stream, int numPages)
| try to parse the list of page: II
bool | readPageII (std::shared_ptr< MWAWStream > const &stream, int wh, MacWrtProStructuresInternal::Page &page)
| try to read a page entry: II
bool | readGraphicII (std::shared_ptr< MWAWStream > const &stream, int id, bool mainGraphic, MacWrtProStructuresInternal::Graphic &graphic)
| try to read a graphic structure: II
bool | readFontsName (std::shared_ptr< MWAWStream > &stream)
| try to read the fonts zone
bool | readFontsDef (std::shared_ptr< MWAWStream > &stream)
| try to read the list of fonts
bool | readFont (std::shared_ptr< MWAWStream > &stream, MacWrtProStructuresInternal::Font &font)
| try to read a font
bool | readSections (std::shared_ptr< MWAWStream > &stream, std::vector< MacWrtProStructuresInternal::Section > &sections)
| try to read the section info ?
bool | readSelection (std::shared_ptr< MWAWStream > &stream)
| try to read a 16 bytes the zone which follow the char styles zone ( the selection?)
bool | readStructB (std::shared_ptr< MWAWStream > &stream)
| try to read a zone which follow the fonts zone(checkme)
bool | getColor (int colId, MWAWColor &color) const
| try to return the color corresponding to colId
bool | getPattern (int patId, float &patternPercent) const
| try to return the pattern corresponding to patId
bool | getColor (int colId, int patId, MWAWColor &color) const
| try to return the color corresponding to colId and patId
bool | isSent (int graphicId)
| returns true if the graphic is already sent ( or does not exists)
bool | send (int graphicId, bool mainZone=false)
| try to send a graphic which corresponds to graphicid
MWAWTextListenerPtr & | getTextListener ()
| returns the actual listener

## Static Protected Member Functions
static bool | readString (MWAWInputStreamPtr input, std::string &res)
| try to read a string

## Protected Attributes
MWAWParserStatePtr | m_parserState
| the parser state
MacWrtProParser & | m_mainParser
| the main parser
std::shared_ptr< MacWrtProStructuresInternal::State > | m_state
| the state
std::string | m_asciiName
| the debug file name

## Friends
class | MacWrtProParser
class | MacWrtProParserInternal::SubDocument
struct | MacWrtProStructuresInternal::Cell
class | MacWrtProStructuresListenerState

## Detailed Description

the main class to read the structures part of MacWrite Pro file

## Constructor & Destructor Documentation

## ◆ MacWrtProStructures()

MacWrtProStructures::MacWrtProStructures | ( | MacWrtProParser & | mainParser | ) |
| explicit

constructor

## ◆ ~MacWrtProStructures()

MacWrtProStructures::~MacWrtProStructures | ( |  | ) |
| virtual

destructor

## Member Function Documentation

## ◆ buildPageStructures()

void MacWrtProStructures::buildPageStructures | ( |  | ) |
| protected

look for pages structures

Referenced by createZones().

## ◆ buildTableStructures()

void MacWrtProStructures::buildTableStructures | ( |  | ) |
| protected

look for tables structures and if so, prepare data

Referenced by createZones().

## ◆ createZones()

bool MacWrtProStructures::createZones | ( | std::shared_ptr< MWAWStream > & | stream,
|  | int | numPages )
| protected

finds the different objects zones

## ◆ createZonesII()

bool MacWrtProStructures::createZonesII | ( | std::shared_ptr< MWAWStream > & | stream,
|  | int | numPages )
| protected

finds the different objects zones in a MacWriteII file

Note
  : this function is called by createZones

Referenced by createZones().

## ◆ flushExtra()

void MacWrtProStructures::flushExtra | ( |  | ) |
| protected

flush not send zones

## ◆ getColor() [1/2]

bool MacWrtProStructures::getColor | ( | int | colId,
|  | int | patId,
|  | MWAWColor & | color ) const
| protected

try to return the color corresponding to colId and patId

## ◆ getColor() [2/2]

bool MacWrtProStructures::getColor | ( | int | colId,
|  | MWAWColor & | color ) const
| protected

try to return the color corresponding to colId

Referenced by getColor(), readFont(), and readGraphic().

## ◆ getPattern()

bool MacWrtProStructures::getPattern | ( | int | patId,
|  | float & | patternPercent ) const
| protected

try to return the pattern corresponding to patId

Referenced by getColor().

## ◆ getTextListener()

MWAWTextListenerPtr & MacWrtProStructures::getTextListener | ( |  | ) |
| protected

returns the actual listener

## ◆ init()

void MacWrtProStructures::init | ( |  | ) |
| protected

inits all internal variables

Referenced by MacWrtProStructures().

## ◆ isSent()

bool MacWrtProStructures::isSent | ( | int | graphicId | ) |
| protected

returns true if the graphic is already sent ( or does not exists)

## ◆ numPages()

int MacWrtProStructures::numPages | ( |  | ) | const
| protected

returns the number of pages

Referenced by createZones(), createZonesII(), MacWrtProStructuresListenerState, readGraphicsList(), and readPagesListII().

## ◆ readCharStyles()

bool MacWrtProStructures::readCharStyles | ( | std::shared_ptr< MWAWStream > & | stream | ) |
| protected

try to read the character styles zone

Referenced by createZones(), and createZonesII().

## ◆ readFont()

bool MacWrtProStructures::readFont | ( | std::shared_ptr< MWAWStream > & | stream,
|  | MacWrtProStructuresInternal::Font & | font )
| protected

try to read a font

Referenced by readCharStyles(), readFontsDef(), and readStyle().

## ◆ readFontsDef()

bool MacWrtProStructures::readFontsDef | ( | std::shared_ptr< MWAWStream > & | stream | ) |
| protected

try to read the list of fonts

Referenced by createZones(), and createZonesII().

## ◆ readFontsName()

bool MacWrtProStructures::readFontsName | ( | std::shared_ptr< MWAWStream > & | stream | ) |
| protected

try to read the fonts zone

Referenced by createZones(), and createZonesII().

## ◆ readGraphic()

std::shared_ptr< MacWrtProStructuresInternal::Graphic > MacWrtProStructures::readGraphic | ( | std::shared_ptr< MWAWStream > & | stream | ) |
| protected

try to read a graphic entry: 1.0, 1.5

Referenced by readGraphicsList().

## ◆ readGraphicII()

bool MacWrtProStructures::readGraphicII | ( | std::shared_ptr< MWAWStream > const & | stream,
|  | int | id,
|  | bool | mainGraphic,
|  | MacWrtProStructuresInternal::Graphic & | graphic )
| protected

try to read a graphic structure: II

Referenced by readPageII().

## ◆ readGraphicsList()

bool MacWrtProStructures::readGraphicsList | ( | std::shared_ptr< MWAWStream > & | stream,
|  | int | nuumPages )
| protected

try to read the list of graphic entries: 1.0 1.5

Referenced by createZones().

## ◆ readPageII()

bool MacWrtProStructures::readPageII | ( | std::shared_ptr< MWAWStream > const & | stream,
|  | int | wh,
|  | MacWrtProStructuresInternal::Page & | page )
| protected

try to read a page entry: II

Referenced by readPagesListII().

## ◆ readPagesListII()

bool MacWrtProStructures::readPagesListII | ( | std::shared_ptr< MWAWStream > const & | stream,
|  | int | numPages )
| protected

try to parse the list of page: II

Referenced by createZonesII().

## ◆ readParagraph()

bool MacWrtProStructures::readParagraph | ( | std::shared_ptr< MWAWStream > & | stream,
|  | MacWrtProStructuresInternal::Paragraph & | para )
| protected

try to read a paragraph

seems difficult to set bottom a percentage of the line unit, so do the strict minimum...

Referenced by readParagraphs(), and readStyle().

## ◆ readParagraphs()

bool MacWrtProStructures::readParagraphs | ( | std::shared_ptr< MWAWStream > & | stream | ) |
| protected

try to read a list of paragraph

Referenced by createZones(), and createZonesII().

## ◆ readSections()

bool MacWrtProStructures::readSections | ( | std::shared_ptr< MWAWStream > & | stream,
|  | std::vector< MacWrtProStructuresInternal::Section > & | sections )
| protected

try to read the section info ?

Referenced by createZones().

## ◆ readSelection()

bool MacWrtProStructures::readSelection | ( | std::shared_ptr< MWAWStream > & | stream | ) |
| protected

try to read a 16 bytes the zone which follow the char styles zone ( the selection?)

Referenced by createZones().

## ◆ readString()

bool MacWrtProStructures::readString | ( | MWAWInputStreamPtr | input,
|  | std::string & | res )
| static protected

try to read a string

Referenced by createZones(), and readGraphicsList().

## ◆ readStructB()

bool MacWrtProStructures::readStructB | ( | std::shared_ptr< MWAWStream > & | stream | ) |
| protected

try to read a zone which follow the fonts zone(checkme)

Referenced by createZones().

## ◆ readStyle()

bool MacWrtProStructures::readStyle | ( | std::shared_ptr< MWAWStream > & | stream,
|  | int | styleId )
| protected

try to read a style

Referenced by readStyles().

## ◆ readStyles()

bool MacWrtProStructures::readStyles | ( | std::shared_ptr< MWAWStream > & | stream | ) |
| protected

try to read the paragraph styles zone which begins at address 0x200

Referenced by createZones().

## ◆ send()

bool MacWrtProStructures::send | ( | int | graphicId,
|  | bool | mainZone = false )
| protected

try to send a graphic which corresponds to graphicid

note: graphicId=-noteId to send footnote in MW2

Referenced by flushExtra(), and sendMainZone().

## ◆ sendMainZone()

bool MacWrtProStructures::sendMainZone | ( |  | ) |
| protected

send the main zone

## ◆ updatePageSpan()

void MacWrtProStructures::updatePageSpan | ( | int | page,
|  | bool | hasTitlePage,
|  | MWAWPageSpan & | pageSpan )
| protected

update the page span

## ◆ version()

int MacWrtProStructures::version | ( |  | ) | const

returns the file version.

this version is only correct after the header is parsed

Referenced by createZones(), createZonesII(), flushExtra(), getColor(), getPattern(), readCharStyles(), readFont(), readFontsDef(), readFontsName(), readParagraph(), readParagraphs(), send(), sendMainZone(), and updatePageSpan().

## Friends And Related Symbol Documentation

## ◆ MacWrtProParser

friend class MacWrtProParser
| friend

Referenced by MacWrtProParser, MacWrtProStructures(), and MacWrtProStructuresListenerState.

## ◆ MacWrtProParserInternal::SubDocument

friend class MacWrtProParserInternal::SubDocument
| friend

## ◆ MacWrtProStructuresInternal::Cell

friend struct MacWrtProStructuresInternal::Cell
| friend

## ◆ MacWrtProStructuresListenerState

friend class MacWrtProStructuresListenerState
| friend

Referenced by MacWrtProStructuresListenerState, and sendMainZone().

## Member Data Documentation

## ◆ m_asciiName

std::string MacWrtProStructures::m_asciiName
| protected

the debug file name

Referenced by MacWrtProStructures().

## ◆ m_mainParser

MacWrtProParser& MacWrtProStructures::m_mainParser
| protected

the main parser

Referenced by buildPageStructures(), createZonesII(), MacWrtProStructures(), readGraphicsList(), send(), and updatePageSpan().

## ◆ m_parserState

MWAWParserStatePtr MacWrtProStructures::m_parserState
| protected

the parser state

Referenced by flushExtra(), getTextListener(), MacWrtProStructures(), readCharStyles(), readFontsDef(), readFontsName(), readStyle(), send(), and version().

## ◆ m_state

std::shared_ptr<MacWrtProStructuresInternal::State> MacWrtProStructures::m_state
| protected

the state

Referenced by buildPageStructures(), buildTableStructures(), createZones(), createZonesII(), flushExtra(), init(), isSent(), MacWrtProStructures(), numPages(), readFontsDef(), readGraphic(), readGraphicsList(), readPagesListII(), readParagraphs(), send(), sendMainZone(), updatePageSpan(), and version().

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

- MacWrtProStructures.hxx
- MacWrtProStructures.cxx