Qwt User's Guide  6.0.2
Public Types | Public Member Functions | Protected Member Functions
QwtPlotIntervalCurve Class Reference

#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< PaintAttribute > PaintAttributes

Public Member Functions

 QwtPlotIntervalCurve (const QString &title=QString::null)
 QwtPlotIntervalCurve (const QwtText &title)
virtual ~QwtPlotIntervalCurve ()
virtual QRectF boundingRect () const
const QBrush & brush () const
virtual void drawLegendIdentifier (QPainter *, const QRectF &) const
virtual void drawSeries (QPainter *p, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect, int from, int to) const
const QPen & pen () const
virtual int rtti () const
void setBrush (const QBrush &)
void setPaintAttribute (PaintAttribute, bool on=true)
void setPen (const QPen &)
void setSamples (const QVector< QwtIntervalSample > &)
void setStyle (CurveStyle style)
void setSymbol (const QwtIntervalSymbol *)
CurveStyle style () const
const QwtIntervalSymbol * symbol () const
bool testPaintAttribute (PaintAttribute) const
- Public Member Functions inherited from QwtPlotSeriesItem< QwtIntervalSample >
 QwtPlotSeriesItem (const QString &title=QString::null)
 QwtPlotSeriesItem (const QwtText &title)
virtual ~QwtPlotSeriesItem ()
QwtSeriesData
< QwtIntervalSample > * 
data ()
const QwtSeriesData
< QwtIntervalSample > * 
data () const
size_t dataSize () const
QwtIntervalSample sample (int index) const
void setData (QwtSeriesData< QwtIntervalSample > *)
virtual void updateScaleDiv (const QwtScaleDiv &, const QwtScaleDiv &)
- Public Member Functions inherited from QwtPlotAbstractSeriesItem
 QwtPlotAbstractSeriesItem (const QString &title=QString::null)
 QwtPlotAbstractSeriesItem (const QwtText &title)
virtual ~QwtPlotAbstractSeriesItem ()
virtual void draw (QPainter *p, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &) const
Qt::Orientation orientation () const
void setOrientation (Qt::Orientation)
- Public Member Functions inherited from QwtPlotItem
 QwtPlotItem (const QwtText &title=QwtText())
virtual ~QwtPlotItem ()
void attach (QwtPlot *plot)
void detach ()
void hide ()
bool isVisible () const
virtual void itemChanged ()
virtual QWidget * legendItem () const
QRectF paintRect (const QwtScaleMap &, const QwtScaleMap &) const
QwtPlot * plot () const
QRectF scaleRect (const QwtScaleMap &, const QwtScaleMap &) const
void setAxes (int xAxis, int yAxis)
void setItemAttribute (ItemAttribute, bool on=true)
void setRenderHint (RenderHint, bool on=true)
void setTitle (const QString &title)
void setTitle (const QwtText &title)
virtual void setVisible (bool)
void setXAxis (int axis)
void setYAxis (int axis)
void setZ (double z)
void show ()
bool testItemAttribute (ItemAttribute) const
bool testRenderHint (RenderHint) const
const QwtText & title () const
virtual void updateLegend (QwtLegend *) const
int xAxis () const
int yAxis () const
double z () const
- Public Member Functions inherited from QwtLegendItemManager
 QwtLegendItemManager ()
virtual ~QwtLegendItemManager ()

Protected Member Functions

virtual void drawSymbols (QPainter *, const QwtIntervalSymbol &, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect, int from, int to) const
virtual void drawTube (QPainter *, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect, int from, int to) const
void init ()

Additional Inherited Members

- Protected Attributes inherited from QwtPlotSeriesItem< QwtIntervalSample >
QwtSeriesData
< QwtIntervalSample > * 
d_series

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 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

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

Draw the identifier for the legend.

In case of Tube style() a plain rectangle filled with the brush() is painted. If a symbol is assigned it is painted centered 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
protectedvirtual

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
protectedvirtual

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