Qwt User's Guide 6.1.5

Public Types | Public Member Functions | Protected Member Functions | List of all members
QwtPlotIntervalCurve Class Reference

QwtPlotIntervalCurve represents a series of samples, where each value is associated with an interval ( ). More...

`#include <qwt_plot_intervalcurve.h>`

Inheritance diagram for QwtPlotIntervalCurve:
[legend]

## Public Types

enum | CurveStyle { NoCurve, Tube, UserCurve = 100 }
| Curve styles. The default setting is QwtPlotIntervalCurve::Tube. More...
enum | PaintAttribute { ClipPolygons = 0x01, ClipSymbol = 0x02 }
typedef QFlags< PaintAttribute > | PaintAttributes
| Paint attributes.
Public Types inherited from QwtPlotItem
enum | RttiValues { Rtti_PlotItem = 0, Rtti_PlotGrid, Rtti_PlotScale, Rtti_PlotLegend, Rtti_PlotMarker, Rtti_PlotCurve, Rtti_PlotSpectroCurve, Rtti_PlotIntervalCurve, Rtti_PlotHistogram, Rtti_PlotSpectrogram, Rtti_PlotSVG, Rtti_PlotTradingCurve, Rtti_PlotBarChart, Rtti_PlotMultiBarChart, Rtti_PlotShape, Rtti_PlotTextLabel,
Rtti_PlotZone, Rtti_PlotUserItem = 1000
}
| Runtime type information. More...
enum | ItemAttribute { Legend = 0x01, AutoScale = 0x02, Margins = 0x04 }
| Plot Item Attributes. More...
enum | ItemInterest { ScaleInterest = 0x01, LegendInterest = 0x02 }
| Plot Item Interests. More...
enum | RenderHint { RenderAntialiased = 0x1 }
| Render hints. More...
typedef QFlags< ItemAttribute > | ItemAttributes
| Plot Item Attributes.
typedef QFlags< ItemInterest > | ItemInterests
| Plot Item Interests.
typedef QFlags< RenderHint > | RenderHints
| Render hints.

## Public Member Functions

| QwtPlotIntervalCurve (const QString &title=QString())
| QwtPlotIntervalCurve (const QwtText &title)
virtual | ~QwtPlotIntervalCurve ()
| Destructor.
virtual int | rtti () const
void | setPaintAttribute (PaintAttribute, bool on=true)
bool | testPaintAttribute (PaintAttribute) const
void | setSamples (const QVector< QwtIntervalSample > &)
void | setSamples (QwtSeriesData< QwtIntervalSample > *)
void | setPen (const QColor &, qreal width=0.0, Qt::PenStyle=Qt::SolidLine)
void | setPen (const QPen &)
| Assign a pen. More...
const QPen & | pen () const
void | setBrush (const QBrush &)
const QBrush & | brush () const
void | setStyle (CurveStyle style)
CurveStyle | style () const
void | setSymbol (const QwtIntervalSymbol *)
const QwtIntervalSymbol * | symbol () const
virtual void | drawSeries (QPainter *, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect, int from, int to) const
virtual QRectF | boundingRect () const
virtual QwtGraphic | legendIcon (int index, const QSizeF &) const
Public Member Functions inherited from QwtPlotSeriesItem
| QwtPlotSeriesItem (const QString &title=QString())
| QwtPlotSeriesItem (const QwtText &title)
virtual | ~QwtPlotSeriesItem ()
| Destructor.
void | setOrientation (Qt::Orientation)
Qt::Orientation | orientation () const
virtual void | draw (QPainter *, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &) const
| Draw the complete series. More...
virtual void | updateScaleDiv (const QwtScaleDiv &, const QwtScaleDiv &)
| Update the item to changes of the axes scale division. More...
Public Member Functions inherited from QwtPlotItem
| QwtPlotItem (const QwtText &title=QwtText())
virtual | ~QwtPlotItem ()
| Destroy the QwtPlotItem.
void | attach (QwtPlot *plot)
| Attach the item to a plot. More...
void | detach ()
| This method detaches a QwtPlotItem from any QwtPlot it has been associated with. More...
QwtPlot * | plot () const
| Return attached plot.
void | setTitle (const QString &title)
void | setTitle (const QwtText &title)
const QwtText & | title () const
void | setItemAttribute (ItemAttribute, bool on=true)
bool | testItemAttribute (ItemAttribute) const
void | setItemInterest (ItemInterest, bool on=true)
bool | testItemInterest (ItemInterest) const
void | setRenderHint (RenderHint, bool on=true)
bool | testRenderHint (RenderHint) const
void | setRenderThreadCount (uint numThreads)
uint | renderThreadCount () const
void | setLegendIconSize (const QSize &)
QSize | legendIconSize () const
double | z () const
void | setZ (double z)
| Set the z value. More...
void | show ()
| Show the item.
void | hide ()
| Hide the item.
virtual void | setVisible (bool)
bool | isVisible () const
void | setAxes (int xAxis, int yAxis)
void | setXAxis (int axis)
int | xAxis () const
| Return xAxis.
void | setYAxis (int axis)
int | yAxis () const
| Return yAxis.
virtual void | itemChanged ()
virtual void | legendChanged ()
virtual void | getCanvasMarginHint (const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect, double &left, double &top, double &right, double &bottom) const
| Calculate a hint for the canvas margin. More...
virtual void | updateLegend (const QwtPlotItem *, const QList< QwtLegendData > &)
| Update the item to changes of the legend info. More...
QRectF | scaleRect (const QwtScaleMap &, const QwtScaleMap &) const
| Calculate the bounding scale rectangle of 2 maps. More...
QRectF | paintRect (const QwtScaleMap &, const QwtScaleMap &) const
| Calculate the bounding paint rectangle of 2 maps. More...
virtual QList< QwtLegendData > | legendData () const
| Return all information, that is needed to represent the item on the legend. More...
Public Member Functions inherited from QwtSeriesStore< QwtIntervalSample >
| QwtSeriesStore ()
| Constructor The store contains no series.
| ~QwtSeriesStore ()
| Destructor.
void | setData (QwtSeriesData< QwtIntervalSample > *series)
QwtSeriesData< QwtIntervalSample > * | data ()
const QwtSeriesData< QwtIntervalSample > * | data () const
QwtIntervalSample | sample (int index) const
virtual size_t | dataSize () const
virtual QRectF | dataRect () const
virtual void | setRectOfInterest (const QRectF &rect)
QwtSeriesData< QwtIntervalSample > * | swapData (QwtSeriesData< QwtIntervalSample > *series)

## Protected Member Functions

void | init ()
| Initialize internal members.
virtual void | drawTube (QPainter *, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect, int from, int to) const
virtual void | drawSymbols (QPainter *, const QwtIntervalSymbol &, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect, int from, int to) const
Protected Member Functions inherited from QwtPlotSeriesItem
virtual void | dataChanged ()
| dataChanged() indicates, that the series has been changed.
Protected Member Functions inherited from QwtPlotItem
QwtGraphic | defaultIcon (const QBrush &, const QSizeF &) const
| Return a default icon from a brush. More...
Protected Member Functions inherited from QwtAbstractSeriesStore
virtual | ~QwtAbstractSeriesStore ()
| Destructor.

## Detailed Description

QwtPlotIntervalCurve represents a series of samples, where each value is associated with an interval ( ).

The representation depends on the style() and an optional symbol() that is displayed for each interval. QwtPlotIntervalCurve might be used to display error bars or the area between 2 curves.

## Member Enumeration Documentation

## ◆ CurveStyle

enum QwtPlotIntervalCurve::CurveStyle

Curve styles. The default setting is QwtPlotIntervalCurve::Tube.

See also
  setStyle(), style()

Enumerator
NoCurve | Don't draw a curve. Note: This doesn't affect the symbols.
Tube | Build 2 curves from the upper and lower limits of the intervals and draw them with the pen(). The area between the curves is filled with the brush().
UserCurve | Styles >= QwtPlotIntervalCurve::UserCurve are reserved for derived classes that overload drawSeries() with additional application specific curve types.

## ◆ PaintAttribute

enum QwtPlotIntervalCurve::PaintAttribute

Attributes to modify the drawing algorithm.

See also
  setPaintAttribute(), testPaintAttribute()

Enumerator
ClipPolygons | Clip polygons before painting them. In situations, where points are far outside the visible area (f.e when zooming deep) this might be a substantial improvement for the painting performance.
ClipSymbol | Check if a symbol is on the plot canvas before painting it.

## Constructor & Destructor Documentation

## ◆ QwtPlotIntervalCurve() [1/2]

QwtPlotIntervalCurve::QwtPlotIntervalCurve | ( | const QString & | title = `QString()` | ) |

explicit

Constructor

Parameters

  title | Title of the curve

## ◆ QwtPlotIntervalCurve() [2/2]

QwtPlotIntervalCurve::QwtPlotIntervalCurve | ( | const QwtText & | title | ) |

explicit

Constructor

Parameters

  title | Title of the curve

## Member Function Documentation

## ◆ boundingRect()

QRectF QwtPlotIntervalCurve::boundingRect | ( |  | ) | const

virtual

Returns
  Bounding rectangle of all samples. For an empty series the rectangle is invalid.

Reimplemented from QwtPlotSeriesItem.

## ◆ brush()

const QBrush & QwtPlotIntervalCurve::brush | ( |  | ) | const

Returns
  Brush used to fill the area in Tube style()

See also
  setBrush(), setStyle(), CurveStyle

## ◆ drawSeries()

void QwtPlotIntervalCurve::drawSeries | ( | QPainter * | painter,
|  | const QwtScaleMap & | xMap,
|  | const QwtScaleMap & | yMap,
|  | const QRectF & | canvasRect,
|  | int | from,
|  | int | to
| ) |  | const

virtual

Draw a subset of the samples

Parameters

  painter | Painter
  xMap | Maps x-values into pixel coordinates.
  yMap | Maps y-values into pixel coordinates.
  canvasRect | Contents rectangle of the canvas
  from | Index of the first sample to be painted
  to | Index of the last sample to be painted. If to < 0 the series will be painted to its last sample.

See also
  drawTube(), drawSymbols()

Implements QwtPlotSeriesItem.

## ◆ drawSymbols()

void QwtPlotIntervalCurve::drawSymbols | ( | QPainter * | painter,
|  | const QwtIntervalSymbol & | symbol,
|  | const QwtScaleMap & | xMap,
|  | const QwtScaleMap & | yMap,
|  | const QRectF & | canvasRect,
|  | int | from,
|  | int | to
| ) |  | const

protected virtual

Draw symbols for a subset of the samples

Parameters

  painter | Painter
  symbol | Interval symbol
  xMap | x map
  yMap | y map
  canvasRect | Contents rectangle of the canvas
  from | Index of the first sample to be painted
  to | Index of the last sample to be painted

See also
  setSymbol(), drawSeries(), drawTube()

## ◆ drawTube()

void QwtPlotIntervalCurve::drawTube | ( | QPainter * | painter,
|  | const QwtScaleMap & | xMap,
|  | const QwtScaleMap & | yMap,
|  | const QRectF & | canvasRect,
|  | int | from,
|  | int | to
| ) |  | const

protected virtual

Draw a tube

Builds 2 curves from the upper and lower limits of the intervals and draws them with the pen(). The area between the curves is filled with the brush().

Parameters

  painter | Painter
  xMap | Maps x-values into pixel coordinates.
  yMap | Maps y-values into pixel coordinates.
  canvasRect | Contents rectangle of the canvas
  from | Index of the first sample to be painted
  to | Index of the last sample to be painted. If to < 0 the series will be painted to its last sample.

See also
  drawSeries(), drawSymbols()

## ◆ legendIcon()

QwtGraphic QwtPlotIntervalCurve::legendIcon | ( | int | index,
|  | const QSizeF & | size
| ) |  | const

virtual

Returns
  Icon for the legend

In case of Tube style() the icon is a plain rectangle filled with the brush(). If a symbol is assigned it is scaled to size.

Parameters

  index | Index of the legend entry ( ignored as there is only one )
  size | Icon size

See also
  QwtPlotItem::setLegendIconSize(), QwtPlotItem::legendData()

Reimplemented from QwtPlotItem.

## ◆ pen()

const QPen & QwtPlotIntervalCurve::pen | ( |  | ) | const

Returns
  Pen used to draw the lines

See also
  setPen(), brush()

## ◆ rtti()

int QwtPlotIntervalCurve::rtti | ( |  | ) | const

virtual

Returns
  QwtPlotItem::Rtti_PlotIntervalCurve

Reimplemented from QwtPlotItem.

## ◆ setBrush()

void QwtPlotIntervalCurve::setBrush | ( | const QBrush & | brush | ) |

Assign a brush.

The brush is used to fill the area in Tube style().

Parameters

  brush | Brush

See also
  brush(), pen(), setStyle(), CurveStyle

## ◆ setPaintAttribute()

void QwtPlotIntervalCurve::setPaintAttribute | ( | PaintAttribute | attribute,
|  | bool | on = `true`
| ) |  |

Specify an attribute how to draw the curve

Parameters

  attribute | Paint attribute
  on | On/Off

See also
  testPaintAttribute()

## ◆ setPen() [1/2]

void QwtPlotIntervalCurve::setPen | ( | const QColor & | color,
|  | qreal | width = `0.0`,
|  | Qt::PenStyle | style = `Qt::SolidLine`
| ) |  |

Build and assign a pen

In Qt5 the default pen width is 1.0 ( 0.0 in Qt4 ) what makes it non cosmetic ( see QPen::isCosmetic() ). This method has been introduced to hide this incompatibility.

Parameters

  color | Pen color
  width | Pen width
  style | Pen style

See also
  pen(), brush()

## ◆ setPen() [2/2]

void QwtPlotIntervalCurve::setPen | ( | const QPen & | pen | ) |

Assign a pen.

Parameters

  pen | New pen

See also
  pen(), brush()

## ◆ setSamples() [1/2]

void QwtPlotIntervalCurve::setSamples | ( | const QVector< QwtIntervalSample > & | samples | ) |

Initialize data with an array of samples.

Parameters

  samples | Vector of samples

## ◆ setSamples() [2/2]

void QwtPlotIntervalCurve::setSamples | ( | QwtSeriesData< QwtIntervalSample > * | data | ) |

Assign a series of samples

setSamples() is just a wrapper for setData() without any additional value - beside that it is easier to find for the developer.

Parameters

  data | Data

Warning
  The item takes ownership of the data object, deleting it when its not used anymore.

## ◆ setStyle()

void QwtPlotIntervalCurve::setStyle | ( | CurveStyle | style | ) |

Set the curve's drawing style

Parameters

  style | Curve style

See also
  CurveStyle, style()

## ◆ setSymbol()

void QwtPlotIntervalCurve::setSymbol | ( | const QwtIntervalSymbol * | symbol | ) |

Assign a symbol.

Parameters

  symbol | Symbol

See also
  symbol()

## ◆ style()

QwtPlotIntervalCurve::CurveStyle QwtPlotIntervalCurve::style | ( |  | ) | const

Returns
  Style of the curve

See also
  setStyle()

## ◆ symbol()

const QwtIntervalSymbol * QwtPlotIntervalCurve::symbol | ( |  | ) | const

Returns
  Current symbol or NULL, when no symbol has been assigned

See also
  setSymbol()

## ◆ testPaintAttribute()

bool QwtPlotIntervalCurve::testPaintAttribute | ( | PaintAttribute | attribute | ) | const

Returns
  True, when attribute is enabled

See also
  PaintAttribute, setPaintAttribute()