LotusChart Class Reference

This class parses Microsoft Works chart file. More...

#include <LotusChart.h>

Public Member Functions

 LotusChart (LotusParser &parser)
 constructor
 
void cleanState ()
 clean internal state
 
void updateState ()
 update internal state (must be called one time before sending data)
 
 ~LotusChart ()
 destructor
 
void setListener (WKSContentListenerPtr &listen)
 sets the listener
 

Protected Member Functions

int version () const
 return the file version
 
int getNumCharts () const
 return the number of chart
 
std::map< std::string, int > getNameToChartIdMap () const
 returns a map chart name to chart id map
 
void updateChart (LotusChartInternal::Chart &chart, int id)
 update a chart, so that it can be send
 
bool sendCharts ()
 try to send the charts(for Windows .wk3 file)
 
bool sendChart (int cId, WPSPosition const &pos, WPSGraphicStyle const &style)
 try to send a chart
 
bool sendText (std::shared_ptr< WPSStream > stream, WPSEntry const &entry)
 try to send the text
 
bool readChart (std::shared_ptr< WPSStream > stream)
 reads a structure which define a chart: 11
 
bool readChartName (std::shared_ptr< WPSStream > stream)
 reads the chart name or title: 12
 
bool readMacHeader (std::shared_ptr< WPSStream > stream, long endPos, int &chartId)
 reads a chart data: 2710 (wk3mac)
 
bool readMacPlacement (std::shared_ptr< WPSStream > stream, long endPos)
 reads a placement position(wk3mac): 2774
 
bool readMacLegend (std::shared_ptr< WPSStream > stream, long endPos)
 reads a legend position(wk3mac): 277e
 
bool readMacPlotArea (std::shared_ptr< WPSStream > stream, long endPos)
 reads a plot area position(wk3mac): 2788
 
bool readMacAxis (std::shared_ptr< WPSStream > stream, long endPos)
 reads an axis style(wk3mac): 27d8
 
bool readMacSerie (std::shared_ptr< WPSStream > stream, long endPos)
 reads a serie style(wk3mac): 27e2
 
bool readMacFloor (std::shared_ptr< WPSStream > stream, long endPos)
 reads a 3D floor style(wk3mac): 2846
 
bool readMacPosition (std::shared_ptr< WPSStream > stream, long endPos)
 reads a manual position(wk3mac): 2904
 
bool readPlotArea (std::shared_ptr< WPSStream > stream, long endPos)
 reads a plot area style: 2a30 (unsure)
 
bool readSerie (std::shared_ptr< WPSStream > stream, long endPos)
 reads a serie style: 2a31
 
bool readSerieName (std::shared_ptr< WPSStream > stream, long endPos)
 reads a serie name: 2a32 (serie 6-...)
 
bool readFramesStyle (std::shared_ptr< WPSStream > stream, long endPos)
 reads a some frame styles: 2a35
 
bool convert (LotusParser::Link const &link, WKSChart::Position(&positions)[2]) const
 convert a link zone in a chart position(if possible)
 

Static Protected Member Functions

static bool readSerieWidth (std::shared_ptr< WPSStream > stream, long endPos)
 reads a serie width style: 2a33
 
static bool readFontsStyle (std::shared_ptr< WPSStream > stream, long endPos)
 reads a list of font style: 2a34
 

Private Member Functions

 LotusChart (LotusChart const &orig)=delete
 
LotusChartoperator= (LotusChart const &orig)=delete
 

Private Attributes

std::shared_ptr< WKSContentListenerm_listener
 
LotusParserm_mainParser
 the listener (if set)
 
std::shared_ptr< LotusStyleManagerm_styleManager
 the style manager
 
std::shared_ptr< LotusChartInternal::Statem_state
 the internal state
 

Friends

class LotusParser
 
class LotusChartInternal::Chart
 

Detailed Description

This class parses Microsoft Works chart file.

Constructor & Destructor Documentation

◆ LotusChart() [1/2]

LotusChart::LotusChart ( LotusParser parser)
explicit

constructor

◆ ~LotusChart()

LotusChart::~LotusChart ( )

destructor

◆ LotusChart() [2/2]

LotusChart::LotusChart ( LotusChart const &  orig)
privatedelete

Member Function Documentation

◆ cleanState()

void LotusChart::cleanState ( )

clean internal state

◆ convert()

bool LotusChart::convert ( LotusParser::Link const &  link,
WKSChart::Position(&)  positions[2] 
) const
protected

convert a link zone in a chart position(if possible)

Referenced by updateChart().

◆ getNameToChartIdMap()

std::map< std::string, int > LotusChart::getNameToChartIdMap ( ) const
protected

returns a map chart name to chart id map

◆ getNumCharts()

int LotusChart::getNumCharts ( ) const
protected

return the number of chart

◆ operator=()

LotusChart & LotusChart::operator= ( LotusChart const &  orig)
privatedelete

◆ readChart()

bool LotusChart::readChart ( std::shared_ptr< WPSStream stream)
protected

reads a structure which define a chart: 11

◆ readChartName()

bool LotusChart::readChartName ( std::shared_ptr< WPSStream stream)
protected

reads the chart name or title: 12

◆ readFontsStyle()

bool LotusChart::readFontsStyle ( std::shared_ptr< WPSStream stream,
long  endPos 
)
staticprotected

reads a list of font style: 2a34

◆ readFramesStyle()

bool LotusChart::readFramesStyle ( std::shared_ptr< WPSStream stream,
long  endPos 
)
protected

reads a some frame styles: 2a35

◆ readMacAxis()

bool LotusChart::readMacAxis ( std::shared_ptr< WPSStream stream,
long  endPos 
)
protected

reads an axis style(wk3mac): 27d8

◆ readMacFloor()

bool LotusChart::readMacFloor ( std::shared_ptr< WPSStream stream,
long  endPos 
)
protected

reads a 3D floor style(wk3mac): 2846

◆ readMacHeader()

bool LotusChart::readMacHeader ( std::shared_ptr< WPSStream stream,
long  endPos,
int &  chartId 
)
protected

reads a chart data: 2710 (wk3mac)

◆ readMacLegend()

bool LotusChart::readMacLegend ( std::shared_ptr< WPSStream stream,
long  endPos 
)
protected

reads a legend position(wk3mac): 277e

◆ readMacPlacement()

bool LotusChart::readMacPlacement ( std::shared_ptr< WPSStream stream,
long  endPos 
)
protected

reads a placement position(wk3mac): 2774

◆ readMacPlotArea()

bool LotusChart::readMacPlotArea ( std::shared_ptr< WPSStream stream,
long  endPos 
)
protected

reads a plot area position(wk3mac): 2788

◆ readMacPosition()

bool LotusChart::readMacPosition ( std::shared_ptr< WPSStream stream,
long  endPos 
)
protected

reads a manual position(wk3mac): 2904

◆ readMacSerie()

bool LotusChart::readMacSerie ( std::shared_ptr< WPSStream stream,
long  endPos 
)
protected

reads a serie style(wk3mac): 27e2

◆ readPlotArea()

bool LotusChart::readPlotArea ( std::shared_ptr< WPSStream stream,
long  endPos 
)
protected

reads a plot area style: 2a30 (unsure)

◆ readSerie()

bool LotusChart::readSerie ( std::shared_ptr< WPSStream stream,
long  endPos 
)
protected

reads a serie style: 2a31

◆ readSerieName()

bool LotusChart::readSerieName ( std::shared_ptr< WPSStream stream,
long  endPos 
)
protected

reads a serie name: 2a32 (serie 6-...)

◆ readSerieWidth()

bool LotusChart::readSerieWidth ( std::shared_ptr< WPSStream stream,
long  endPos 
)
staticprotected

reads a serie width style: 2a33

◆ sendChart()

bool LotusChart::sendChart ( int  cId,
WPSPosition const &  pos,
WPSGraphicStyle const &  style 
)
protected

try to send a chart

Referenced by sendCharts().

◆ sendCharts()

bool LotusChart::sendCharts ( )
protected

try to send the charts(for Windows .wk3 file)

◆ sendText()

bool LotusChart::sendText ( std::shared_ptr< WPSStream stream,
WPSEntry const &  entry 
)
protected

try to send the text

Referenced by LotusChartInternal::Chart::sendContent().

◆ setListener()

void LotusChart::setListener ( WKSContentListenerPtr listen)
inline

sets the listener

◆ updateChart()

void LotusChart::updateChart ( LotusChartInternal::Chart chart,
int  id 
)
protected

update a chart, so that it can be send

Referenced by updateState().

◆ updateState()

void LotusChart::updateState ( )

update internal state (must be called one time before sending data)

◆ version()

int LotusChart::version ( ) const
protected

return the file version

Referenced by readSerie(), updateChart(), and updateState().

Friends And Related Symbol Documentation

◆ LotusChartInternal::Chart

friend class LotusChartInternal::Chart
friend

◆ LotusParser

friend class LotusParser
friend

Member Data Documentation

◆ m_listener

std::shared_ptr<WKSContentListener> LotusChart::m_listener
private

◆ m_mainParser

LotusParser& LotusChart::m_mainParser
private

the listener (if set)

the main parser

Referenced by convert(), readChart(), readChartName(), readSerieName(), sendText(), updateChart(), and version().

◆ m_state

◆ m_styleManager

std::shared_ptr<LotusStyleManager> LotusChart::m_styleManager
private

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

Generated on Thu Jul 27 2023 11:31:48 for libwps by doxygen 1.9.7