QWT API (English) 7.3.0
Qt Widget Library for Technical Applications - English API Documentation
Loading...
Searching...
No Matches
Classes | 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 ( $[y1,y2] = f(x)$ ) More...

#include <qwt_plot_intervalcurve.h>

Inheritance diagram for QwtPlotIntervalCurve:
QwtPlotSeriesItem QwtSeriesStore< QwtIntervalSample > QwtPlotItem QwtAbstractSeriesStore QwtAbstractSeriesStore

Classes

class  PrivateData
 

Public Types

enum  CurveStyle { NoCurve , Tube , UserCurve = 100 }
 Curve styles. More...
 
enum  PaintAttribute { ClipPolygons = 0x01 , ClipSymbol = 0x02 }
 Attributes to modify the drawing algorithm. More...
 
- 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_PlotGraphic , Rtti_PlotTradingCurve ,
  Rtti_PlotBarChart , Rtti_PlotMultiBarChart , Rtti_PlotShape , Rtti_PlotTextLabel ,
  Rtti_PlotZone , Rtti_PlotVectorField , Rtti_PlotArrowMarker , Rtti_PlotBoxChart ,
  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...
 

Public Member Functions

 QwtPlotIntervalCurve (const QString &title=QString())
 
 QwtPlotIntervalCurve (const QwtText &title)
 Constructor.
 
virtual int rtti () const override
 Get the runtime type information.
 
void attach (QwtPlot *plot) override
 Attach the interval curve to a plot.
 
void setPaintAttribute (PaintAttribute, bool on=true)
 Specify an attribute how to draw the curve.
 
bool testPaintAttribute (PaintAttribute) const
 Test if a paint attribute is enabled.
 
void setSamples (const QVector< QwtIntervalSample > &)
 Initialize data with an array of samples.
 
void setSamples (QwtSeriesData< QwtIntervalSample > *)
 Assign a series of samples.
 
void setPen (const QColor &, qreal width=0.0, Qt::PenStyle=Qt::SolidLine)
 Build and assign a pen.
 
void setPen (const QPen &)
 Assign a pen.
 
const QPen & pen () const
 Get the pen used to draw the lines.
 
void setBrush (const QBrush &)
 Assign a brush.
 
const QBrush & brush () const
 Get the brush used to fill the area in Tube style()
 
void setStyle (CurveStyle style)
 Set the curve's drawing style.
 
CurveStyle style () const
 Get the curve's drawing style.
 
void setSymbol (const QwtIntervalSymbol *)
 Assign a symbol.
 
const QwtIntervalSymbolsymbol () const
 Get the current symbol.
 
virtual void drawSeries (QPainter *, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect, int from, int to) const override
 Draw a subset of the samples.
 
virtual QRectF boundingRect () const override
 Get the bounding rectangle of all samples.
 
virtual QwtGraphic legendIcon (int index, const QSizeF &) const override
 Get the icon for the legend.
 
- Public Member Functions inherited from QwtPlotSeriesItem
 QwtPlotSeriesItem (const QString &title=QString())
 
 QwtPlotSeriesItem (const QwtText &title)
 Constructor.
 
void setOrientation (Qt::Orientation)
 Set the orientation of the item.
 
Qt::Orientation orientation () const
 Get the orientation of the plot item.
 
virtual void draw (QPainter *, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect) const override
 Draw the complete series.
 
virtual void updateScaleDiv (const QwtScaleDiv &, const QwtScaleDiv &) override
 Update the scale divisions.
 
- Public Member Functions inherited from QwtPlotItem
 QwtPlotItem ()
 Default constructor.
 
 QwtPlotItem (const QString &title)
 Constructor with title as QString.
 
 QwtPlotItem (const QwtText &title)
 Constructor with title as QwtText.
 
virtual ~QwtPlotItem ()
 Destructor.
 
void detach ()
 Detach the item from the plot.
 
QwtPlotplot () const
 Get the plot the item is attached to.
 
void setTitle (const QString &title)
 Set the title using a QString.
 
void setTitle (const QwtText &title)
 Set the title using a QwtText.
 
const QwtTexttitle () const
 Get the title.
 
void setItemAttribute (ItemAttribute, bool on=true)
 Set an item attribute.
 
bool testItemAttribute (ItemAttribute) const
 Test an item attribute.
 
void setItemInterest (ItemInterest, bool on=true)
 Set an item interest.
 
bool testItemInterest (ItemInterest) const
 Test an item interest.
 
void setRenderHint (RenderHint, bool on=true)
 Set a render hint.
 
bool testRenderHint (RenderHint) const
 Test a render hint.
 
void setRenderThreadCount (uint numThreads)
 Set the number of render threads.
 
uint renderThreadCount () const
 Get the number of render threads.
 
void setLegendIconSize (const QSize &)
 Set the legend icon size.
 
QSize legendIconSize () const
 Get the legend icon size.
 
double z () const
 Get the z-value.
 
void setZ (double z)
 Set the z-value.
 
void show ()
 Show the item.
 
void hide ()
 Hide the item.
 
virtual void setVisible (bool)
 Set the visibility.
 
bool isVisible () const
 Check if the item is visible.
 
void setAxes (QwtAxisId xAxis, QwtAxisId yAxis)
 Set both axes.
 
void setXAxis (QwtAxisId)
 Set the x-axis.
 
QwtAxisId xAxis () const
 Get the x-axis.
 
void setYAxis (QwtAxisId)
 Set the y-axis.
 
QwtAxisId yAxis () const
 Get the y-axis.
 
virtual void itemChanged ()
 Notify the plot that the item has changed.
 
virtual void legendChanged ()
 Notify the item that the legend has changed.
 
virtual void getCanvasMarginHint (const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect, double &left, double &top, double &right, double &bottom) const
 Get margin hints for the canvas.
 
virtual void updateLegend (const QwtPlotItem *, const QList< QwtLegendData > &)
 Update the item with changes of the legend.
 
QRectF scaleRect (const QwtScaleMap &, const QwtScaleMap &) const
 Calculate the scale rectangle.
 
QRectF paintRect (const QwtScaleMap &, const QwtScaleMap &) const
 Calculate the paint rectangle.
 
virtual QList< QwtLegendDatalegendData () const
 Return legend data.
 
- Public Member Functions inherited from QwtSeriesStore< QwtIntervalSample >
void setData (QwtSeriesData< QwtIntervalSample > *series)
 
QwtSeriesData< QwtIntervalSample > * data ()
 
const QwtSeriesData< QwtIntervalSample > * data () const
 
QwtIntervalSample sample (size_t index) const
 
virtual size_t dataSize () const override
 
virtual QRectF dataRect () const override
 
virtual void setRectOfInterest (const QRectF &rect) override
 Set a the "rectangle of interest" for the stored series.
 
QwtSeriesData< QwtIntervalSample > * swapData (QwtSeriesData< QwtIntervalSample > *series)
 

Protected Member Functions

void init ()
 Initialize the curve.
 
virtual void drawTube (QPainter *, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect, int from, int to) const
 Draw the tube.
 
virtual void drawSymbols (QPainter *, const QwtIntervalSymbol &, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect, int from, int to) const
 Draw the symbols.
 
- Protected Member Functions inherited from QwtPlotSeriesItem
virtual void dataChanged () override
 dataChanged() indicates, that the series has been changed.
 
- Protected Member Functions inherited from QwtPlotItem
QwtGraphic defaultIcon (const QBrush &, const QSizeF &) const
 Create a default icon.
 

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 display error bars or the area between 2 curves.

Member Enumeration Documentation

◆ 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

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::QwtPlotIntervalCurve ( const QwtText title)
explicit

Constructor.

Parameters
[in]titleTitle of the curve

Constructor

Parameters
[in]titleTitle of the curve

Destructor

Member Function Documentation

◆ attach()

void QwtPlotIntervalCurve::attach ( QwtPlot plot)
overridevirtual

Attach the interval curve to a plot.

If the pen has not been explicitly set by the user, the interval curve automatically receives a color from the plot's color cycle. The brush is set to a semi-transparent version of the same color.

Parameters
plotPlot to attach to (nullptr to detach)

Reimplemented from QwtPlotItem.

◆ boundingRect()

QRectF QwtPlotIntervalCurve::boundingRect ( ) const
overridevirtual

Get the bounding rectangle of all samples.

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

Reimplemented from QwtPlotSeriesItem.

◆ brush()

const QBrush & QwtPlotIntervalCurve::brush ( ) const

Get the brush used to fill the area in Tube style()

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
overridevirtual

Draw a subset of the samples.

Parameters
[in]painterPainter
[in]xMapMaps x-values into pixel coordinates
[in]yMapMaps y-values into pixel coordinates
[in]canvasRectContents rectangle of the canvas
[in]fromIndex of the first sample to be painted
[in]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 QwtPlotSeriesItem.

◆ drawSymbols()

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

Draw the symbols.

Draw symbols for a subset of the samples.

Parameters
painterPainter
symbolInterval symbol
xMapx map
yMapy map
canvasRectContents rectangle of the canvas
fromIndex of the first sample to be painted
toIndex 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
protectedvirtual

Draw the tube.

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

◆ init()

void QwtPlotIntervalCurve::init ( )
protected

Initialize the curve.

Initialize internal members.

◆ legendIcon()

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

Get the 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
[in]indexIndex of the legend entry (ignored as there is only one)
[in]sizeIcon size
Returns
Icon for the legend
See also
QwtPlotItem::setLegendIconSize(), QwtPlotItem::legendData()

Reimplemented from QwtPlotItem.

◆ pen()

const QPen & QwtPlotIntervalCurve::pen ( ) const

Get the pen used to draw the lines.

Returns
Pen used to draw the lines
See also
setPen(), brush()

◆ rtti()

int QwtPlotIntervalCurve::rtti ( ) const
overridevirtual

Get the runtime type information.

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
[in]brushBrush
See also
brush(), pen(), setStyle(), CurveStyle

◆ setPaintAttribute()

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

Specify an attribute how to draw the curve.

Parameters
[in]attributePaint attribute
[in]onOn/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
[in]colorPen color
[in]widthPen width
[in]stylePen style
See also
pen(), brush()

◆ setPen() [2/2]

void QwtPlotIntervalCurve::setPen ( const QPen &  pen)

Assign a pen.

Parameters
[in]penNew pen
See also
pen(), brush()

◆ setSamples() [1/2]

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

Initialize data with an array of samples.

Parameters
[in]samplesVector 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
[in]dataData
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
[in]styleCurve style
See also
CurveStyle, style()

◆ setSymbol()

void QwtPlotIntervalCurve::setSymbol ( const QwtIntervalSymbol symbol)

Assign a symbol.

Parameters
[in]symbolSymbol
See also
symbol()

◆ style()

QwtPlotIntervalCurve::CurveStyle QwtPlotIntervalCurve::style ( ) const

Get the curve's drawing style.

Returns
Style of the curve
See also
setStyle()

◆ symbol()

const QwtIntervalSymbol * QwtPlotIntervalCurve::symbol ( ) const

Get the current symbol.

Returns
Current symbol or nullptr when no symbol has been assigned
See also
setSymbol()

◆ testPaintAttribute()

bool QwtPlotIntervalCurve::testPaintAttribute ( PaintAttribute  attribute) const

Test if a paint attribute is enabled.

Returns
True when attribute is enabled
See also
PaintAttribute, setPaintAttribute()

The documentation for this class was generated from the following files: