Qwt User's Guide 6.0.0
Public Types | Public Member Functions | Protected Member Functions

QwtPlotIntervalCurve Class Reference

QwtPlotIntervalCurve represents a series of samples, where each value is associated with an interval ( $[y1,y2] = f(x)$ ). More...

#include <qwt_plot_intervalcurve.h>

Inheritance diagram for QwtPlotIntervalCurve:
Inheritance graph
[legend]

List of all members.

Public Types

enum  CurveStyle {
  NoCurve,
  Tube,
  UserCurve = 100
}
enum  PaintAttribute {
  ClipPolygons = 0x01,
  ClipSymbol = 0x02
}
typedef QFlags< PaintAttributePaintAttributes

Public Member Functions

 QwtPlotIntervalCurve (const QString &title=QString::null)
 QwtPlotIntervalCurve (const QwtText &title)
virtual ~QwtPlotIntervalCurve ()
virtual int rtti () const
void setPaintAttribute (PaintAttribute, bool on=true)
bool testPaintAttribute (PaintAttribute) const
void setSamples (const QVector< QwtIntervalSample > &)
void setPen (const QPen &)
const QPen & pen () const
void setBrush (const QBrush &)
const QBrush & brush () const
void setStyle (CurveStyle style)
CurveStyle style () const
void setSymbol (const QwtIntervalSymbol *)
const QwtIntervalSymbolsymbol () const
virtual void drawSeries (QPainter *p, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect, int from, int to) const
virtual QRectF boundingRect () const
virtual void drawLegendIdentifier (QPainter *, const QRectF &) const

Protected Member Functions

void init ()
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

Detailed Description

QwtPlotIntervalCurve represents a series of samples, where each value is associated with an interval ( $[y1,y2] = f(x)$ ).

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


Member Typedef Documentation

Paint attributes.


Member Enumeration Documentation

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.

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::QwtPlotIntervalCurve ( const QString &  title = QString::null) [explicit]

Constructor

Parameters:
titleTitle of the curve
QwtPlotIntervalCurve::QwtPlotIntervalCurve ( const QwtText title) [explicit]

Constructor

Parameters:
titleTitle of the curve
QwtPlotIntervalCurve::~QwtPlotIntervalCurve ( ) [virtual]

Destructor.


Member Function Documentation

QRectF QwtPlotIntervalCurve::boundingRect ( ) const [virtual]
Returns:
Bounding rectangle of all samples. For an empty series the rectangle is invalid.

Reimplemented from QwtPlotSeriesItem< QwtIntervalSample >.

const QBrush & QwtPlotIntervalCurve::brush ( ) const
Returns:
Brush used to fill the area in Tube style()
See also:
setBrush(), setStyle(), CurveStyle
void QwtPlotIntervalCurve::drawLegendIdentifier ( QPainter *  painter,
const QRectF &  rect 
) const [virtual]

In case of Tibe stale() a plain rectangle is painted without a pen filled the brush(). If a symbol is assigned it is painted cebtered into rect.

Parameters:
painterPainter
rectBounding rectangle for the identifier

Reimplemented from QwtLegendItemManager.

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:
painterPainter
xMapMaps x-values into pixel coordinates.
yMapMaps y-values into pixel coordinates.
canvasRectContents rect of the canvas
fromIndex of the first sample to be painted
toIndex of the last sample to be painted. If to < 0 the series will be painted to its last sample.
See also:
drawTube(), drawSymbols()

Implements QwtPlotAbstractSeriesItem.

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:
painterPainter
symbolInterval symbol
xMapx map
yMapy map
canvasRectContents rect of the canvas
fromIndex of the first sample to be painted
toIndex of the last sample to be painted
See also:
setSymbol(), drawSeries(), 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:
painterPainter
xMapMaps x-values into pixel coordinates.
yMapMaps y-values into pixel coordinates.
canvasRectContents rect of the canvas
fromIndex of the first sample to be painted
toIndex of the last sample to be painted. If to < 0 the series will be painted to its last sample.
See also:
drawSeries(), drawSymbols()
void QwtPlotIntervalCurve::init ( ) [protected]

Initialize internal members.

const QPen & QwtPlotIntervalCurve::pen ( ) const

Return the pen used to draw the lines.

See also:
setPen(), brush()
int QwtPlotIntervalCurve::rtti ( ) const [virtual]
Returns:
QwtPlotItem::Rtti_PlotIntervalCurve

Reimplemented from QwtPlotItem.

void QwtPlotIntervalCurve::setBrush ( const QBrush &  brush)

Assign a brush.

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

Parameters:
brushBrush
See also:
brush(), pen(), setStyle(), CurveStyle
void QwtPlotIntervalCurve::setPaintAttribute ( PaintAttribute  attribute,
bool  on = true 
)

Specify an attribute how to draw the curve

Parameters:
attributePaint attribute
onOn/Off
See also:
testPaintAttribute()
void QwtPlotIntervalCurve::setPen ( const QPen &  pen)

Assign a pen.

Parameters:
penNew pen
See also:
pen(), brush()
void QwtPlotIntervalCurve::setSamples ( const QVector< QwtIntervalSample > &  samples)

Initialize data with an array of samples.

Parameters:
samplesVector of samples
void QwtPlotIntervalCurve::setStyle ( CurveStyle  style)

Set the curve's drawing style

Parameters:
styleCurve style
See also:
CurveStyle, style()
void QwtPlotIntervalCurve::setSymbol ( const QwtIntervalSymbol symbol)

Assign a symbol.

Parameters:
symbolSymbol
See also:
symbol()
QwtPlotIntervalCurve::CurveStyle QwtPlotIntervalCurve::style ( ) const

Return the current style.

See also:
setStyle()
const QwtIntervalSymbol * QwtPlotIntervalCurve::symbol ( ) const
Returns:
Current symbol or NULL, when no symbol has been assigned
See also:
setSymbol()
bool QwtPlotIntervalCurve::testPaintAttribute ( PaintAttribute  attribute) const

Return the current paint attributes.

See also:
PaintAttribute, setPaintAttribute()