MsWksGraph Class Reference

the main class to read the graphic of a Microsoft Works file More...

#include <MsWksGraph.hxx>

List of all members.

Classes

struct  SendData
 small struct used which picture need to be send More...
struct  Style
 Internal: the graphic style of MsWksGraph. More...

Public Member Functions

 MsWksGraph (MsWksDocument &document)
 constructor
virtual ~MsWksGraph ()
 destructor
void setPageLeftTop (MWAWVec2f const &leftTop)
 define the page left top dimension in point
int version () const
 returns the file version
int numPages (int zoneId) const
 returns the number of pages
void send (int id, MWAWPosition const &pos)
 send a zone (textbox, ...).
void sendAll (int zoneId, bool mainZone)
 send all the picture corresponding to a zone
void sendObjects (SendData const &what)
 sends all the object of a page, frame, ...
void computePositions (int zoneId, std::vector< int > &linesHeight, std::vector< int > &pagesHeight)
 try to update positions knowing pages and lines height

Protected Member Functions

void flushExtra ()
 sends the data which have not yet been sent to the listener
bool readPictHeader (MsWksGraphInternal::Zone &pict)
 read the picture header
bool readGradient (Style &style)
 read the gradient structure ( v4)
int getEntryPictureV1 (int zoneId, MWAWEntry &zone, bool autoSend=true)
 checks if the next zone is a v1 picture and returns a zone id ( or -1).
int getEntryPicture (int zoneId, MWAWEntry &zone, bool autoSend=true, int order=-1000)
 checks if the next zone is a v2 picture and returns a zone id ( or -1)
bool readRB (MWAWInputStreamPtr input, MWAWEntry const &entry, int kind)
 reads the RBDR or a RBIL zone: a zone which seems to regroup all pages pictures in v3-v4 document
bool readPictureV4 (MWAWInputStreamPtr input, MWAWEntry const &entry)
 reads a Pict zone: a zone which seems to code in v4 : header/footer picture
bool readText (MsWksGraphInternal::TextBox &textBox)
 try to read a text zone
void sendTextBox (int zId, MWAWListenerPtr listener)
 try to send a text box zone v1-3
void checkTextBoxLinks (MsWksGraphInternal::RBZone &rbZone)
 check the text box link v4
bool getZoneGraphicStyle (int zoneId, MWAWGraphicStyle &style) const
 returns the graphic style of the zone defined by zoneId
bool getZonePosition (int zoneId, MWAWPosition::AnchorTo anchor, MWAWPosition &pos) const
 returns the position of the zone defined by zoneId
void sendFrameText (MWAWEntry const &entry, std::string const &frame)
 ask m_mainParser to send a frame text(v4)
void sendTable (int id)
 try to a table zone
void sendChart (int zoneId)
 try to send a chart
shared_ptr
< MsWksGraphInternal::GroupZone
readGroup (MsWksGraphInternal::Zone &group)
 try to read the group data
void sendGroup (int zoneId, MWAWPosition const &pos)
 try to send a group
void sendGroupChild (int zoneId, MWAWPosition const &pos)
 try to send a group elements by elemenys
bool canCreateGraphic (MsWksGraphInternal::GroupZone const &group) const
 returns true if we can create a graphic for the whole group
void sendGroup (MsWksGraphInternal::GroupZone const &group, MWAWGraphicListenerPtr &listener) const
 send the group as a graphic zone
bool readFont (MWAWFont &font)
 reads the textbox font

Protected Attributes

MWAWParserStatePtr m_parserState
 the parser state
shared_ptr
< MsWksGraphInternal::State
m_state
 the state
MWAWParserm_mainParser
 the main parser;
MsWksDocumentm_document
 the main document
shared_ptr< MsWksTablem_tableParser
 the table manager

Private Member Functions

 MsWksGraph (MsWksGraph const &orig)
MsWksGraphoperator= (MsWksGraph const &orig)

Friends

class MsWksDocument
class MsWksTable
class MsWksParser
class MsWks4Zone
class MsWksDBParser
class MsWksDRParser
class MsWksSSParser
class MsWksGraphInternal::SubDocument

Detailed Description

the main class to read the graphic of a Microsoft Works file


Constructor & Destructor Documentation

constructor

MsWksGraph::~MsWksGraph ( ) [virtual]

destructor

MsWksGraph::MsWksGraph ( MsWksGraph const &  orig) [private]

Member Function Documentation

bool MsWksGraph::canCreateGraphic ( MsWksGraphInternal::GroupZone const &  group) const [protected]

returns true if we can create a graphic for the whole group

Referenced by sendGroup(), and sendGroupChild().

check the text box link v4

Referenced by readRB().

void MsWksGraph::computePositions ( int  zoneId,
std::vector< int > &  linesHeight,
std::vector< int > &  pagesHeight 
)

try to update positions knowing pages and lines height

void MsWksGraph::flushExtra ( ) [protected]

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

int MsWksGraph::getEntryPicture ( int  zoneId,
MWAWEntry zone,
bool  autoSend = true,
int  order = -1000 
) [protected]

checks if the next zone is a v2 picture and returns a zone id ( or -1)

Referenced by MsWksTable::readChart(), readGroup(), and readRB().

int MsWksGraph::getEntryPictureV1 ( int  zoneId,
MWAWEntry zone,
bool  autoSend = true 
) [protected]

checks if the next zone is a v1 picture and returns a zone id ( or -1).

bool MsWksGraph::getZoneGraphicStyle ( int  zoneId,
MWAWGraphicStyle style 
) const [protected]

returns the graphic style of the zone defined by zoneId

bool MsWksGraph::getZonePosition ( int  zoneId,
MWAWPosition::AnchorTo  anchor,
MWAWPosition pos 
) const [protected]

returns the position of the zone defined by zoneId

Referenced by MsWksTable::sendChart().

int MsWksGraph::numPages ( int  zoneId) const

returns the number of pages

MsWksGraph& MsWksGraph::operator= ( MsWksGraph const &  orig) [private]
bool MsWksGraph::readFont ( MWAWFont font) [protected]

reads the textbox font

Referenced by readText().

bool MsWksGraph::readGradient ( MsWksGraph::Style style) [protected]

read the gradient structure ( v4)

Referenced by readPictHeader().

try to read the group data

Referenced by getEntryPicture().

read the picture header

Referenced by getEntryPicture().

bool MsWksGraph::readPictureV4 ( MWAWInputStreamPtr  input,
MWAWEntry const &  entry 
) [protected]

reads a Pict zone: a zone which seems to code in v4 : header/footer picture

bool MsWksGraph::readRB ( MWAWInputStreamPtr  input,
MWAWEntry const &  entry,
int  kind 
) [protected]

reads the RBDR or a RBIL zone: a zone which seems to regroup all pages pictures in v3-v4 document

kind=0: uses entry to define the position kind=1: entry size then data kind=2: marker, entry size then data

bool MsWksGraph::readText ( MsWksGraphInternal::TextBox textBox) [protected]

try to read a text zone

Referenced by getEntryPicture().

void MsWksGraph::send ( int  id,
MWAWPosition const &  pos 
)

send a zone (textbox, ...).

Note:
if pos.size() is not defined, this function will retrieve the position, .. using the corresponding zone's data

Referenced by flushExtra(), sendAll(), MsWksTable::sendChart(), sendGroupChild(), and sendObjects().

void MsWksGraph::sendAll ( int  zoneId,
bool  mainZone 
)

send all the picture corresponding to a zone

void MsWksGraph::sendChart ( int  zoneId) [protected]

try to send a chart

Referenced by MsWksGraphInternal::SubDocument::parse().

void MsWksGraph::sendFrameText ( MWAWEntry const &  entry,
std::string const &  frame 
) [protected]

ask m_mainParser to send a frame text(v4)

Referenced by MsWksGraphInternal::SubDocument::parse().

void MsWksGraph::sendGroup ( int  zoneId,
MWAWPosition const &  pos 
) [protected]

try to send a group

Referenced by send(), sendGroup(), and sendGroupChild().

void MsWksGraph::sendGroup ( MsWksGraphInternal::GroupZone const &  group,
MWAWGraphicListenerPtr listener 
) const [protected]

send the group as a graphic zone

void MsWksGraph::sendGroupChild ( int  zoneId,
MWAWPosition const &  pos 
) [protected]

try to send a group elements by elemenys

Referenced by MsWksGraphInternal::SubDocument::parse(), and sendGroup().

sends all the object of a page, frame, ...

Referenced by MsWksGraphInternal::SubDocument::parse().

void MsWksGraph::sendTable ( int  id) [protected]

try to a table zone

Referenced by MsWksGraphInternal::SubDocument::parse().

void MsWksGraph::sendTextBox ( int  zId,
MWAWListenerPtr  listener 
) [protected]

try to send a text box zone v1-3

Referenced by MsWksGraphInternal::SubDocument::parse().

void MsWksGraph::setPageLeftTop ( MWAWVec2f const &  leftTop)

define the page left top dimension in point

int MsWksGraph::version ( ) const

returns the file version

Referenced by getEntryPicture(), readFont(), readGroup(), readPictHeader(), and readRB().


Friends And Related Function Documentation

friend class MsWks4Zone [friend]
friend class MsWksDBParser [friend]
friend class MsWksDocument [friend]
friend class MsWksDRParser [friend]
friend class MsWksGraphInternal::SubDocument [friend]
friend class MsWksParser [friend]
friend class MsWksSSParser [friend]
friend class MsWksTable [friend]

Referenced by MsWksGraph().


Member Data Documentation

the main parser;

Referenced by MsWksGraph().

shared_ptr<MsWksTable> MsWksGraph::m_tableParser [protected]

the table manager

Referenced by getEntryPicture(), MsWksGraph(), send(), sendChart(), and sendTable().


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