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

#include <qwt_plot_intervalcurve.h>

Inherits QwtPlotSeriesItem< QwtIntervalSample >.

List of all members.

Public Types

enum  CurveStyle {
  NoCurve,
  Tube,
  UserCurve = 100
}
enum  ItemAttribute {
  Legend = 0x01,
  AutoScale = 0x02
}
typedef QFlags< ItemAttributeItemAttributes
enum  PaintAttribute {
  ClipPolygons = 0x01,
  ClipSymbol = 0x02
}
typedef QFlags< PaintAttributePaintAttributes
enum  RenderHint { RenderAntialiased = 1 }
typedef QFlags< RenderHintRenderHints
enum  RttiValues {
  Rtti_PlotItem = 0,
  Rtti_PlotGrid,
  Rtti_PlotScale,
  Rtti_PlotMarker,
  Rtti_PlotCurve,
  Rtti_PlotSpectroCurve,
  Rtti_PlotIntervalCurve,
  Rtti_PlotHistogram,
  Rtti_PlotSpectrogram,
  Rtti_PlotSVG,
  Rtti_PlotUserItem = 1000
}

Public Member Functions

void attach (QwtPlot *plot)
virtual QRectF boundingRect () const
const QBrush & brush () const
QwtSeriesData
< QwtIntervalSample > * 
data ()
const QwtSeriesData
< QwtIntervalSample > * 
data () const
size_t dataSize () const
void detach ()
virtual void draw (QPainter *p, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &) 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
void hide ()
bool isVisible () const
virtual void itemChanged ()
virtual QWidget * legendItem () const
Qt::Orientation orientation () const
QRectF paintRect (const QwtScaleMap &, const QwtScaleMap &) const
const QPen & pen () const
QwtPlotplot () const
 QwtPlotIntervalCurve (const QString &title=QString::null)
 QwtPlotIntervalCurve (const QwtText &title)
virtual int rtti () const
QwtIntervalSample sample (int index) const
QRectF scaleRect (const QwtScaleMap &, const QwtScaleMap &) const
void setAxes (int xAxis, int yAxis)
void setBrush (const QBrush &)
void setData (QwtSeriesData< QwtIntervalSample > *)
void setItemAttribute (ItemAttribute, bool on=true)
void setOrientation (Qt::Orientation)
void setPaintAttribute (PaintAttribute, bool on=true)
void setPen (const QPen &)
void setRenderHint (RenderHint, bool on=true)
void setSamples (const QVector< QwtIntervalSample > &)
void setStyle (CurveStyle style)
void setSymbol (const QwtIntervalSymbol *)
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 ()
CurveStyle style () const
const QwtIntervalSymbolsymbol () const
bool testItemAttribute (ItemAttribute) const
bool testPaintAttribute (PaintAttribute) const
bool testRenderHint (RenderHint) const
const QwtTexttitle () const
virtual void updateLegend (QwtLegend *) const
virtual void updateScaleDiv (const QwtScaleDiv &, const QwtScaleDiv &)
int xAxis () const
int yAxis () const
double z () const
virtual ~QwtPlotIntervalCurve ()

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

Protected Attributes

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

typedef QFlags<ItemAttribute> QwtPlotItem::ItemAttributes [inherited]

Plot Item Attributes.

Paint attributes.

typedef QFlags<RenderHint> QwtPlotItem::RenderHints [inherited]

Render hints.


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.

enum QwtPlotItem::ItemAttribute [inherited]

Plot Item Attributes

See also:
setItemAttribute(), testItemAttribute()
Enumerator:
Legend 

The item is represented on the legend.

AutoScale 

The boundingRect() of the item is included in the autoscaling calculation.

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.

enum QwtPlotItem::RenderHint [inherited]

Render hints.

Enumerator:
RenderAntialiased 

Enable antialiasing.

enum QwtPlotItem::RttiValues [inherited]

Runtime type information.

RttiValues is used to cast plot items, without having to enable runtime type information of the compiler.

Enumerator:
Rtti_PlotItem 

Unspecific value, that can be used, when it doesn't matter.

Rtti_PlotGrid 

For QwtPlotGrid.

Rtti_PlotScale 

For QwtPlotScaleItem.

Rtti_PlotMarker 

For QwtPlotMarker.

Rtti_PlotCurve 

For QwtPlotCurve.

Rtti_PlotSpectroCurve 

For QwtPlotSpectroCurve.

Rtti_PlotIntervalCurve 

For QwtPlotIntervalCurve.

Rtti_PlotHistogram 

For QwtPlotHistogram.

Rtti_PlotSpectrogram 

For QwtPlotSpectrogram.

Rtti_PlotSVG 

For QwtPlotSvgItem.

Rtti_PlotUserItem 

Values >= Rtti_PlotUserItem are reserved for plot items not implemented in the Qwt library.


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

void QwtPlotItem::attach ( QwtPlot plot) [inherited]

Attach the item to a plot.

This method will attach a QwtPlotItem to the QwtPlot argument. It will first detach the QwtPlotItem from any plot from a previous call to attach (if necessary). If a NULL argument is passed, it will detach from any QwtPlot it was attached to.

Parameters:
plotPlot widget
See also:
detach()
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 QwtPlotItem::detach ( ) [inherited]

This method detaches a QwtPlotItem from any QwtPlot it has been associated with.

detach() is equivalent to calling attach( NULL )

See also:
attach()
void QwtPlotAbstractSeriesItem::draw ( QPainter *  painter,
const QwtScaleMap xMap,
const QwtScaleMap yMap,
const QRectF &  canvasRect 
) const [virtual, inherited]

Draw the complete series.

Parameters:
painterPainter
xMapMaps x-values into pixel coordinates.
yMapMaps y-values into pixel coordinates.
canvasRectContents rect of the canvas

Implements QwtPlotItem.

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 [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 QwtPlotItem::hide ( ) [inherited]

Hide the item.

void QwtPlotIntervalCurve::init ( ) [protected]

Initialize internal members.

bool QwtPlotItem::isVisible ( ) const [inherited]
Returns:
true if visible
See also:
setVisible(), show(), hide()
void QwtPlotItem::itemChanged ( ) [virtual, inherited]

Update the legend and call QwtPlot::autoRefresh for the parent plot.

See also:
updateLegend()
QWidget * QwtPlotItem::legendItem ( ) const [virtual, inherited]

Allocate the widget that represents the item on the legend.

The default implementation returns a QwtLegendItem(), but an item could be represented by any type of widget, by overloading legendItem() and updateLegend().

Returns:
QwtLegendItem()
See also:
updateLegend() QwtLegend()

Implements QwtLegendItemManager.

Qt::Orientation QwtPlotAbstractSeriesItem::orientation ( ) const [inherited]
Returns:
Orientation of the plot item
See also:
setOrientation()
QRectF QwtPlotItem::paintRect ( const QwtScaleMap xMap,
const QwtScaleMap yMap 
) const [inherited]

Calculate the bounding paint rect of 2 maps.

Parameters:
xMapX map
yMapX map
Returns:
Bounding paint rect of the scale maps, normalized
const QPen & QwtPlotIntervalCurve::pen ( ) const

Return the pen used to draw the lines.

See also:
setPen(), brush()
QwtPlot * QwtPlotItem::plot ( ) const [inherited]

Return attached plot.

int QwtPlotIntervalCurve::rtti ( ) const [virtual]
Returns:
QwtPlotItem::Rtti_PlotIntervalCurve

Reimplemented from QwtPlotItem.

QRectF QwtPlotItem::scaleRect ( const QwtScaleMap xMap,
const QwtScaleMap yMap 
) const [inherited]

Calculate the bounding scale rect of 2 maps.

Parameters:
xMapX map
yMapX map
Returns:
Bounding scale rect of the scale maps, normalized
void QwtPlotItem::setAxes ( int  xAxis,
int  yAxis 
) [inherited]

Set X and Y axis

The item will painted according to the coordinates its Axes.

Parameters:
xAxisX Axis
yAxisY Axis
See also:
setXAxis(), setYAxis(), xAxis(), yAxis()
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 QwtPlotItem::setItemAttribute ( ItemAttribute  attribute,
bool  on = true 
) [inherited]

Toggle an item attribute

Parameters:
attributeAttribute type
ontrue/false
See also:
testItemAttribute(), ItemAttribute
void QwtPlotAbstractSeriesItem::setOrientation ( Qt::Orientation  orientation) [inherited]

Set the orientation of the item.

The orientation() might be used in specific way by a plot item. F.e. a QwtPlotCurve uses it to identify how to display the curve int QwtPlotCurve::Steps or QwtPlotCurve::Sticks style.

See also:
orientation()
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 QwtPlotItem::setRenderHint ( RenderHint  hint,
bool  on = true 
) [inherited]

Toggle an render hint

Parameters:
hintRender hint
ontrue/false
See also:
testRenderHint(), RenderHint
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()
void QwtPlotItem::setTitle ( const QString &  title) [inherited]

Set a new title

Parameters:
titleTitle
See also:
title()
void QwtPlotItem::setTitle ( const QwtText title) [inherited]

Set a new title

Parameters:
titleTitle
See also:
title()
void QwtPlotItem::setVisible ( bool  on) [virtual, inherited]

Show/Hide the item

Parameters:
onShow if true, otherwise hide
See also:
isVisible(), show(), hide()
void QwtPlotItem::setXAxis ( int  axis) [inherited]

Set the X axis

The item will painted according to the coordinates its Axes.

Parameters:
axisX Axis
See also:
setAxes(), setYAxis(), xAxis()
void QwtPlotItem::setYAxis ( int  axis) [inherited]

Set the Y axis

The item will painted according to the coordinates its Axes.

Parameters:
axisY Axis
See also:
setAxes(), setXAxis(), yAxis()
void QwtPlotItem::setZ ( double  z) [inherited]

Set the z value.

Plot items are painted in increasing z-order.

Parameters:
zZ-value
See also:
z(), QwtPlotDict::itemList()
void QwtPlotItem::show ( ) [inherited]

Show the item.

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 QwtPlotItem::testItemAttribute ( ItemAttribute  attribute) const [inherited]

Test an item attribute

Parameters:
attributeAttribute type
Returns:
true/false
See also:
setItemAttribute(), ItemAttribute
bool QwtPlotIntervalCurve::testPaintAttribute ( PaintAttribute  attribute) const

Return the current paint attributes.

See also:
PaintAttribute, setPaintAttribute()
bool QwtPlotItem::testRenderHint ( RenderHint  hint) const [inherited]

Test a render hint

Parameters:
hintRender hint
Returns:
true/false
See also:
setRenderHint(), RenderHint
const QwtText & QwtPlotItem::title ( ) const [inherited]
Returns:
Title of the item
See also:
setTitle()
void QwtPlotItem::updateLegend ( QwtLegend legend) const [virtual, inherited]

Update the widget that represents the item on the legend.

updateLegend() is called from itemChanged() to adopt the widget representing the item on the legend to its new configuration.

The default implementation updates a QwtLegendItem(), but an item could be represented by any type of widget, by overloading legendItem() and updateLegend().

Parameters:
legendLegend
See also:
legendItem(), itemChanged(), QwtLegend()

Implements QwtLegendItemManager.

Reimplemented in QwtPlotCurve, and QwtPlotMarker.

virtual void QwtPlotSeriesItem< QwtIntervalSample >::updateScaleDiv ( const QwtScaleDiv xScaleDiv,
const QwtScaleDiv yScaleDiv 
) [virtual, inherited]

Update the rect of interest according to the current scale ranges

Parameters:
xScaleDivScale division of the x-axis
yScaleDivScale division of the y-axis
See also:
QwtSeriesData<T>::setRectOfInterest()

Reimplemented from QwtPlotItem.

int QwtPlotItem::xAxis ( ) const [inherited]

Return xAxis.

int QwtPlotItem::yAxis ( ) const [inherited]

Return yAxis.

double QwtPlotItem::z ( ) const [inherited]

Plot items are painted in increasing z-order.

Returns:
setZ(), QwtPlotDict::itemList()

Member Data Documentation

Series.

qmi style