Classes | Public Types | Public Member Functions | Protected Member Functions | Private Attributes
QwtPlotTradingCurve Class Reference

QwtPlotTradingCurve illustrates movements in the price of a financial instrument over time. More...

#include <qwt_plot_tradingcurve.h>

Inheritance diagram for QwtPlotTradingCurve:
Inheritance graph
[legend]

List of all members.

Classes

class  PrivateData

Public Types

enum  Direction { Increasing, Decreasing }
 Direction of a price movement. More...
enum  PaintAttribute { ClipSymbols = 0x01 }
typedef QFlags< PaintAttributePaintAttributes
 Paint attributes.
enum  SymbolStyle { NoSymbol = -1, Bar, CandleStick, UserSymbol = 100 }
 Symbol styles. More...

Public Member Functions

virtual QRectF boundingRect () const
virtual void drawSeries (QPainter *painter, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect, int from, int to) const
virtual QwtGraphic legendIcon (int index, const QSizeF &) const
double maxSymbolWidth () const
double minSymbolWidth () const
 QwtPlotTradingCurve (const QString &title=QString::null)
 QwtPlotTradingCurve (const QwtText &title)
virtual int rtti () const
void setMaxSymbolWidth (double)
void setMinSymbolWidth (double)
void setPaintAttribute (PaintAttribute, bool on=true)
void setSamples (const QVector< QwtOHLCSample > &)
void setSamples (QwtSeriesData< QwtOHLCSample > *)
void setSymbolBrush (Direction, const QBrush &)
void setSymbolExtent (double width)
 Set the extent of the symbol.
void setSymbolPen (const QColor &, qreal width=0.0, Qt::PenStyle=Qt::SolidLine)
void setSymbolPen (const QPen &)
 Set the symbol pen.
void setSymbolStyle (SymbolStyle style)
QBrush symbolBrush (Direction) const
double symbolExtent () const
QPen symbolPen () const
SymbolStyle symbolStyle () const
bool testPaintAttribute (PaintAttribute) const
virtual ~QwtPlotTradingCurve ()
 Destructor.

Protected Member Functions

void drawBar (QPainter *painter, const QwtOHLCSample &, Qt::Orientation, bool inverted, double width) const
 Draw a bar.
void drawCandleStick (QPainter *, const QwtOHLCSample &, Qt::Orientation, double width) const
 Draw a candle stick.
virtual void drawSymbols (QPainter *, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect, int from, int to) const
virtual void drawUserSymbol (QPainter *, SymbolStyle, const QwtOHLCSample &, Qt::Orientation, bool inverted, double width) const
 Draw a symbol for a symbol style >= UserSymbol.
void init ()
 Initialize internal members.
virtual double scaledSymbolWidth (const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect) const

Private Attributes

PrivateDatad_data

Detailed Description

QwtPlotTradingCurve illustrates movements in the price of a financial instrument over time.

QwtPlotTradingCurve supports candlestick or bar ( OHLC ) charts that are used in the domain of technical analysis.

While the length ( height or width depending on orientation() ) of each symbol depends on the corresponding OHLC sample the size of the other dimension can be controlled using:

The extent is a size in scale coordinates, so that the symbol width is increasing when the plot is zoomed in. Minimum/Maximum width is in widget coordinates independent from the zoom level. When setting the minimum and maximum to the same value, the width of the symbol is fixed.

Definition at line 38 of file qwt_plot_tradingcurve.h.


Member Typedef Documentation

Paint attributes.

Definition at line 102 of file qwt_plot_tradingcurve.h.


Member Enumeration Documentation

Direction of a price movement.

Enumerator:
Increasing 

The closing price is higher than the opening price.

Decreasing 

The closing price is lower than the opening price.

Definition at line 82 of file qwt_plot_tradingcurve.h.

Attributes to modify the drawing algorithm.

See also:
setPaintAttribute(), testPaintAttribute()
Enumerator:
ClipSymbols 

Check if a symbol is on the plot canvas before painting it.

Definition at line 95 of file qwt_plot_tradingcurve.h.

Symbol styles.

The default setting is QwtPlotSeriesItem::CandleStick.

See also:
setSymbolStyle(), symbolStyle()
Enumerator:
NoSymbol 

Nothing is displayed.

Bar 

A line on the chart shows the price range (the highest and lowest prices) over one unit of time, e.g. one day or one hour. Tick marks project from each side of the line indicating the opening and closing price.

CandleStick 

The range between opening/closing price are displayed as a filled box. The fill brush depends on the direction of the price movement. The box is connected to the highest/lowest values by lines.

UserSymbol 

SymbolTypes >= UserSymbol are displayed by drawUserSymbol(), that needs to be overloaded and implemented in derived curve classes.

See also:
drawUserSymbol()

Definition at line 48 of file qwt_plot_tradingcurve.h.


Constructor & Destructor Documentation

QwtPlotTradingCurve::QwtPlotTradingCurve ( const QString &  title = QString::null) [explicit]

Constructor

Parameters:
titleTitle of the curve

Definition at line 67 of file qwt_plot_tradingcurve.cpp.

QwtPlotTradingCurve::QwtPlotTradingCurve ( const QwtText title) [explicit]

Constructor

Parameters:
titleTitle of the curve

Definition at line 57 of file qwt_plot_tradingcurve.cpp.

Destructor.

Definition at line 74 of file qwt_plot_tradingcurve.cpp.


Member Function Documentation

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

Reimplemented from QwtPlotSeriesItem.

Definition at line 359 of file qwt_plot_tradingcurve.cpp.

void QwtPlotTradingCurve::drawBar ( QPainter *  painter,
const QwtOHLCSample sample,
Qt::Orientation  orientation,
bool  inverted,
double  width 
) const [protected]

Draw a bar.

Parameters:
painterQt painter, initialized with pen/brush
sampleSample, already translated into paint device coordinates
orientationVertical or horizontal
invertedWhen inverted is false the open tick is painted to the left/top, otherwise it is painted right/bottom. The close tick is painted in the opposite direction of the open tick. painted in the opposite d opposite direction.
widthWidth or height of the candle, depending on the orientation
See also:
Bar

Definition at line 556 of file qwt_plot_tradingcurve.cpp.

void QwtPlotTradingCurve::drawCandleStick ( QPainter *  painter,
const QwtOHLCSample sample,
Qt::Orientation  orientation,
double  width 
) const [protected]

Draw a candle stick.

Parameters:
painterQt painter, initialized with pen/brush
sampleSamples already translated into paint device coordinates
orientationVertical or horizontal
widthWidth or height of the candle, depending on the orientation
See also:
CandleStick

Definition at line 595 of file qwt_plot_tradingcurve.cpp.

void QwtPlotTradingCurve::drawSeries ( QPainter *  painter,
const QwtScaleMap xMap,
const QwtScaleMap yMap,
const QRectF &  canvasRect,
int  from,
int  to 
) const [virtual]

Draw an interval of the curve

Parameters:
painterPainter
xMapMaps x-values into pixel coordinates.
yMapMaps y-values into pixel coordinates.
canvasRectContents rectangle of the canvas
fromIndex of the first point to be painted
toIndex of the last point to be painted. If to < 0 the curve will be painted to its last point.
See also:
drawSymbols()

Implements QwtPlotSeriesItem.

Definition at line 381 of file qwt_plot_tradingcurve.cpp.

void QwtPlotTradingCurve::drawSymbols ( QPainter *  painter,
const QwtScaleMap xMap,
const QwtScaleMap yMap,
const QRectF &  canvasRect,
int  from,
int  to 
) const [protected, virtual]

Draw symbols

Parameters:
painterPainter
xMapx map
yMapy map
canvasRectContents rectangle of the canvas
fromIndex of the first point to be painted
toIndex of the last point to be painted
See also:
drawSeries()

Definition at line 414 of file qwt_plot_tradingcurve.cpp.

void QwtPlotTradingCurve::drawUserSymbol ( QPainter *  painter,
SymbolStyle  symbolStyle,
const QwtOHLCSample sample,
Qt::Orientation  orientation,
bool  inverted,
double  symbolWidth 
) const [protected, virtual]

Draw a symbol for a symbol style >= UserSymbol.

The implementation does nothing and is intended to be overloaded

Parameters:
painterQt painter, initialized with pen/brush
symbolStyleSymbol style
sampleSamples already translated into paint device coordinates
orientationVertical or horizontal
invertedTrue, when the opposite scale ( Qt::Vertical: x, Qt::Horizontal: y ) is increasing in the opposite direction as QPainter coordinates.
symbolWidthWidth of the symbol in paint device coordinates

Definition at line 528 of file qwt_plot_tradingcurve.cpp.

void QwtPlotTradingCurve::init ( ) [protected]

Initialize internal members.

Definition at line 80 of file qwt_plot_tradingcurve.cpp.

QwtGraphic QwtPlotTradingCurve::legendIcon ( int  index,
const QSizeF &  size 
) const [virtual]
Returns:
A rectangle filled with the color of the symbol pen
Parameters:
indexIndex of the legend entry ( usually there is only one )
sizeIcon size
See also:
setLegendIconSize(), legendData()

Reimplemented from QwtPlotItem.

Definition at line 636 of file qwt_plot_tradingcurve.cpp.

Returns:
Maximum for the symbol width
See also:
setMaxSymbolWidth(), minSymbolWidth(), symbolExtent()

Definition at line 350 of file qwt_plot_tradingcurve.cpp.

Returns:
Minmum for the symbol width
See also:
setMinSymbolWidth(), maxSymbolWidth(), symbolExtent()

Definition at line 322 of file qwt_plot_tradingcurve.cpp.

int QwtPlotTradingCurve::rtti ( ) const [virtual]
Returns:
QwtPlotItem::Rtti_PlotTradingCurve

Reimplemented from QwtPlotItem.

Definition at line 92 of file qwt_plot_tradingcurve.cpp.

double QwtPlotTradingCurve::scaledSymbolWidth ( const QwtScaleMap xMap,
const QwtScaleMap yMap,
const QRectF &  canvasRect 
) const [protected, virtual]

Calculate the symbol width in paint coordinates

The width is calculated by scaling the symbol extent into paint device coordinates bounded by the minimum/maximum symbol width.

Parameters:
xMapMaps x-values into pixel coordinates.
yMapMaps y-values into pixel coordinates.
canvasRectContents rectangle of the canvas
Returns:
Symbol width in paint coordinates
See also:
symbolExtent(), minSymbolWidth(), maxSymbolWidth()

Definition at line 658 of file qwt_plot_tradingcurve.cpp.

Set a maximum for the symbol width

A value <= 0.0 means an unlimited width

Parameters:
widthWidth in paint device coordinates
See also:
maxSymbolWidth(), setMinSymbolWidth(), setSymbolExtent()

Definition at line 335 of file qwt_plot_tradingcurve.cpp.

Set a minimum for the symbol width

Parameters:
widthWidth in paint device coordinates
See also:
minSymbolWidth(), setMaxSymbolWidth(), setSymbolExtent()

Definition at line 306 of file qwt_plot_tradingcurve.cpp.

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

Specify an attribute how to draw the curve

Parameters:
attributePaint attribute
onOn/Off
See also:
testPaintAttribute()

Definition at line 104 of file qwt_plot_tradingcurve.cpp.

void QwtPlotTradingCurve::setSamples ( const QVector< QwtOHLCSample > &  samples)

Initialize data with an array of samples.

Parameters:
samplesVector of samples
See also:
QwtPlotSeriesItem::setData()

Definition at line 129 of file qwt_plot_tradingcurve.cpp.

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:
dataData
Warning:
The item takes ownership of the data object, deleting it when its not used anymore.

Definition at line 145 of file qwt_plot_tradingcurve.cpp.

void QwtPlotTradingCurve::setSymbolBrush ( Direction  direction,
const QBrush &  brush 
)

Set the symbol brush

Parameters:
directionDirection type
brushBrush used to fill the body of all candlestick symbols with the direction
See also:
symbolBrush(), setSymbolPen()

Definition at line 235 of file qwt_plot_tradingcurve.cpp.

void QwtPlotTradingCurve::setSymbolExtent ( double  extent)

Set the extent of the symbol.

The width of the symbol is given in scale coordinates. When painting a symbol the width is scaled into paint device coordinates by scaledSymbolWidth(). The scaled width is bounded by minSymbolWidth(), maxSymbolWidth()

Parameters:
extentSymbol width in scale coordinates
See also:
symbolExtent(), scaledSymbolWidth(), setMinSymbolWidth(), setMaxSymbolWidth()

Definition at line 278 of file qwt_plot_tradingcurve.cpp.

void QwtPlotTradingCurve::setSymbolPen ( const QColor &  color,
qreal  width = 0.0,
Qt::PenStyle  style = Qt::SolidLine 
)

Build and assign the symbol 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:
colorPen color
widthPen width
stylePen style
See also:
pen(), brush()

Definition at line 192 of file qwt_plot_tradingcurve.cpp.

void QwtPlotTradingCurve::setSymbolPen ( const QPen &  pen)

Set the symbol pen.

The symbol pen is used for rendering the lines of the bar or candlestick symbols

See also:
symbolPen(), setSymbolBrush()

Definition at line 206 of file qwt_plot_tradingcurve.cpp.

Set the symbol style

Parameters:
styleSymbol style
See also:
symbolStyle(), setSymbolExtent(), setSymbolPen(), setSymbolBrush()

Definition at line 159 of file qwt_plot_tradingcurve.cpp.

QBrush QwtPlotTradingCurve::symbolBrush ( Direction  direction) const
Parameters:
direction
Returns:
Brush used to fill the body of all candlestick symbols with the direction
See also:
setSymbolPen(), symbolBrush()

Definition at line 257 of file qwt_plot_tradingcurve.cpp.

Returns:
Extent of a symbol in scale coordinates
See also:
setSymbolExtent(), scaledSymbolWidth(), minSymbolWidth(), maxSymbolWidth()

Definition at line 295 of file qwt_plot_tradingcurve.cpp.

Returns:
Symbol pen
See also:
setSymbolPen(), symbolBrush()

Definition at line 221 of file qwt_plot_tradingcurve.cpp.

Returns:
Symbol style
See also:
setSymbolStyle(), symbolExtent(), symbolPen(), symbolBrush()

Definition at line 174 of file qwt_plot_tradingcurve.cpp.

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

Definition at line 117 of file qwt_plot_tradingcurve.cpp.


Member Data Documentation

Reimplemented from QwtPlotSeriesItem.

Definition at line 168 of file qwt_plot_tradingcurve.h.


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


plotjuggler
Author(s): Davide Faconti
autogenerated on Fri Sep 1 2017 02:41:58