Wt  4.11.1
Public Member Functions | List of all members
Wt::Chart::SeriesIterator Class Reference

Abstract base class for iterating over series data in a chart. More...

#include <Wt/Chart/WCartesianChart.h>

Inherited by Wt::Chart::ExtremesIterator, Wt::Chart::LabelRenderIterator, Wt::Chart::MarkerMatchIterator, Wt::Chart::MarkerRenderIterator, and Wt::Chart::SeriesRenderIterator.

Public Member Functions

virtual ~SeriesIterator ()
 Destructor.
 
virtual void startSegment (int currentXSegment, int currentYSegment, const WRectF &currentSegmentArea)
 Start handling a new segment. More...
 
virtual void endSegment ()
 End handling a particular segment. More...
 
virtual bool startSeries (const WDataSeries &series, double groupWidth, int numBarGroups, int currentBarGroup)
 Start iterating a particular series. More...
 
virtual void endSeries ()
 End iterating a particular series.
 
virtual void newValue (const WDataSeries &series, double x, double y, double stackY, int xRow, int xColumn, int yRow, int yColumn)
 Process a value. More...
 
int currentXSegment () const
 Returns the current X segment.
 
int currentYSegment () const
 Returns the current Y segment.
 

Detailed Description

Abstract base class for iterating over series data in a chart.

This class is specialized for rendering series data.

See also
WCartesianChart::iterateSeries()

Member Function Documentation

◆ endSegment()

void Wt::Chart::SeriesIterator::endSegment ( )
virtual

End handling a particular segment.

See also
startSegment()

◆ newValue()

void Wt::Chart::SeriesIterator::newValue ( const WDataSeries series,
double  x,
double  y,
double  stackY,
int  xRow,
int  xColumn,
int  yRow,
int  yColumn 
)
virtual

Process a value.

Processes a value with model coordinates (x, y). The y value may differ from the model's y value, because of stacked series. The y value here corresponds to the location on the chart, after stacking.

The stackY argument is the y value from the previous series (also after stacking). It will be 0, unless this series is stacked.

◆ startSegment()

void Wt::Chart::SeriesIterator::startSegment ( int  currentXSegment,
int  currentYSegment,
const WRectF currentSegmentArea 
)
virtual

Start handling a new segment.

Because of a 'break' specified in an axis, axes may be divided in one or two segments (in fact only the API limits this now to two). The iterator will iterate all segments separately, but each time with a different clipping region specified in the painter, corresponding to that segment.

The currentSegmentArea specifies the clipping area.

◆ startSeries()

bool Wt::Chart::SeriesIterator::startSeries ( const WDataSeries series,
double  groupWidth,
int  numBarGroups,
int  currentBarGroup 
)
virtual

Start iterating a particular series.

Returns whether the series values should be iterated. The groupWidth is the width (in pixels) of a single bar group. The chart contains numBarGroups, and the current series is in the currentBarGroup'th group.