SYNOPSIS
#include <qwt_plot_tradingcurve.h>
Inherits QwtPlotSeriesItem, and QwtSeriesStore< QwtOHLCSample >.
Public Types
enum SymbolStyle { NoSymbol = -1, Bar, CandleStick, UserSymbol = 100 }
Symbol styles.
enum Direction { Increasing, Decreasing }
Direction of a price movement.
enum PaintAttribute { ClipSymbols = 0x01 }
typedef QFlags< PaintAttribute > PaintAttributes
Paint attributes.
Public Member Functions
QwtPlotTradingCurve (const QString &title=QString::null)
QwtPlotTradingCurve (const QwtText &title)
virtual ~QwtPlotTradingCurve ()
Destructor.
virtual int rtti () const
void setPaintAttribute (PaintAttribute, bool on=true)
bool testPaintAttribute (PaintAttribute) const
void setSamples (const QVector< QwtOHLCSample > &)
void setSamples (QwtSeriesData< QwtOHLCSample > *)
void setSymbolStyle (SymbolStyle style)
SymbolStyle symbolStyle () const
void setSymbolPen (const QColor &, qreal width=0.0, Qt::PenStyle=Qt::SolidLine)
void setSymbolPen (const QPen &)
Set the symbol pen.
QPen symbolPen () const
void setSymbolBrush (Direction, const QBrush &)
QBrush symbolBrush (Direction) const
void setSymbolExtent (double width)
Set the extent of the symbol.
double symbolExtent () const
void setMinSymbolWidth (double)
double minSymbolWidth () const
void setMaxSymbolWidth (double)
double maxSymbolWidth () const
virtual void drawSeries (QPainter *painter, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect, int from, int to) const
virtual QRectF boundingRect () const
virtual QwtGraphic legendIcon (int index, const QSizeF &) const
Protected Member Functions
void init ()
Initialize internal members.
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 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 double scaledSymbolWidth (const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect) const
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:
- setSymbolExtent()
- setSymbolMinWidth()
- setSymbolMaxWidth()
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.
Member Enumeration Documentation
enum QwtPlotTradingCurve::Direction
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.
enum QwtPlotTradingCurve::PaintAttribute
Attributes to modify the drawing algorithm.See Also:
- setPaintAttribute(), testPaintAttribute()
Enumerator
- ClipSymbols
- Check if a symbol is on the plot canvas before painting it.
enum QwtPlotTradingCurve::SymbolStyle
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()
Constructor & Destructor Documentation
QwtPlotTradingCurve::QwtPlotTradingCurve (const QString &title = QString::null) [explicit]
ConstructorParameters:
- title Title of the curve
QwtPlotTradingCurve::QwtPlotTradingCurve (const QwtText &title) [explicit]
ConstructorParameters:
- title Title of the curve
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.
void QwtPlotTradingCurve::drawBar (QPainter *painter, const QwtOHLCSample &sample, Qt::Orientationorientation, boolinverted, doublewidth) const [protected]
Draw a bar.
Parameters:
-
painter Qt painter, initialized with pen/brush
sample Sample, already translated into paint device coordinates
orientation Vertical or horizontal
inverted When 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.
width Width or height of the candle, depending on the orientation
See Also:
- Bar
void QwtPlotTradingCurve::drawCandleStick (QPainter *painter, const QwtOHLCSample &sample, Qt::Orientationorientation, doublewidth) const [protected]
Draw a candle stick.
Parameters:
-
painter Qt painter, initialized with pen/brush
sample Samples already translated into paint device coordinates
orientation Vertical or horizontal
width Width or height of the candle, depending on the orientation
See Also:
- CandleStick
void QwtPlotTradingCurve::drawSeries (QPainter *painter, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect, intfrom, intto) const [virtual]
Draw an interval of the curveParameters:
-
painter Painter
xMap Maps x-values into pixel coordinates.
yMap Maps y-values into pixel coordinates.
canvasRect Contents rectangle of the canvas
from Index of the first point to be painted
to Index of the last point to be painted. If to < 0 the curve will be painted to its last point.
See Also:
- drawSymbols()
Implements QwtPlotSeriesItem.
void QwtPlotTradingCurve::drawSymbols (QPainter *painter, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect, intfrom, intto) const [protected], [virtual]
Draw symbolsParameters:
-
painter Painter
xMap x map
yMap y map
canvasRect Contents rectangle of the canvas
from Index of the first point to be painted
to Index of the last point to be painted
See Also:
- drawSeries()
void QwtPlotTradingCurve::drawUserSymbol (QPainter *painter, SymbolStylesymbolStyle, const QwtOHLCSample &sample, Qt::Orientationorientation, boolinverted, doublesymbolWidth) const [protected], [virtual]
Draw a symbol for a symbol style >= UserSymbol. The implementation does nothing and is intended to be overloaded
Parameters:
-
painter Qt painter, initialized with pen/brush
symbolStyle Symbol style
sample Samples already translated into paint device coordinates
orientation Vertical or horizontal
inverted True, when the opposite scale ( Qt::Vertical: x, Qt::Horizontal: y ) is increasing in the opposite direction as QPainter coordinates.
symbolWidth Width of the symbol in paint device coordinates
QwtGraphic QwtPlotTradingCurve::legendIcon (intindex, const QSizeF &size) const [virtual]
Returns:
- A rectangle filled with the color of the symbol pen
Parameters:
-
index Index of the legend entry ( usually there is only one )
size Icon size
See Also:
- setLegendIconSize(), legendData()
Reimplemented from QwtPlotItem.
double QwtPlotTradingCurve::maxSymbolWidth () const
Returns:
- Maximum for the symbol width
See Also:
- setMaxSymbolWidth(), minSymbolWidth(), symbolExtent()
double QwtPlotTradingCurve::minSymbolWidth () const
Returns:
- Minmum for the symbol width
See Also:
- setMinSymbolWidth(), maxSymbolWidth(), symbolExtent()
int QwtPlotTradingCurve::rtti () const [virtual]
Returns:
- QwtPlotItem::Rtti_PlotTradingCurve
Reimplemented from QwtPlotItem.
double QwtPlotTradingCurve::scaledSymbolWidth (const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect) const [protected], [virtual]
Calculate the symbol width in paint coordinatesThe width is calculated by scaling the symbol extent into paint device coordinates bounded by the minimum/maximum symbol width.
Parameters:
-
xMap Maps x-values into pixel coordinates.
yMap Maps y-values into pixel coordinates.
canvasRect Contents rectangle of the canvas
Returns:
- Symbol width in paint coordinates
See Also:
- symbolExtent(), minSymbolWidth(), maxSymbolWidth()
void QwtPlotTradingCurve::setMaxSymbolWidth (doublewidth)
Set a maximum for the symbol widthA value <= 0.0 means an unlimited width
Parameters:
- width Width in paint device coordinates
See Also:
- maxSymbolWidth(), setMinSymbolWidth(), setSymbolExtent()
void QwtPlotTradingCurve::setMinSymbolWidth (doublewidth)
Set a minimum for the symbol widthParameters:
- width Width in paint device coordinates
See Also:
- minSymbolWidth(), setMaxSymbolWidth(), setSymbolExtent()
void QwtPlotTradingCurve::setPaintAttribute (PaintAttributeattribute, boolon = true)
Specify an attribute how to draw the curveParameters:
-
attribute Paint attribute
on On/Off
See Also:
- testPaintAttribute()
void QwtPlotTradingCurve::setSamples (const QVector< QwtOHLCSample > &samples)
Initialize data with an array of samples.Parameters:
- samples Vector of samples
See Also:
- QwtPlotSeriesItem::setData()
void QwtPlotTradingCurve::setSamples (QwtSeriesData< QwtOHLCSample > *data)
Assign a series of samplessetSamples() is just a wrapper for setData() without any additional value - beside that it is easier to find for the developer.
Parameters:
- data Data
Warning:
- The item takes ownership of the data object, deleting it when its not used anymore.
void QwtPlotTradingCurve::setSymbolBrush (Directiondirection, const QBrush &brush)
Set the symbol brushParameters:
-
direction Direction type
brush Brush used to fill the body of all candlestick symbols with the direction
See Also:
- symbolBrush(), setSymbolPen()
void QwtPlotTradingCurve::setSymbolExtent (doubleextent)
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:
- extent Symbol width in scale coordinates
See Also:
- symbolExtent(), scaledSymbolWidth(), setMinSymbolWidth(), setMaxSymbolWidth()
void QwtPlotTradingCurve::setSymbolPen (const QColor &color, qrealwidth = 0.0, Qt::PenStylestyle = Qt::SolidLine)
Build and assign the symbol penIn 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:
-
color Pen color
width Pen width
style Pen style
See Also:
- pen(), brush()
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()
void QwtPlotTradingCurve::setSymbolStyle (SymbolStylestyle)
Set the symbol styleParameters:
- style Symbol style
See Also:
- symbolStyle(), setSymbolExtent(), setSymbolPen(), setSymbolBrush()
QBrush QwtPlotTradingCurve::symbolBrush (Directiondirection) const
Parameters:
- direction
Returns:
- Brush used to fill the body of all candlestick symbols with the direction
See Also:
- setSymbolPen(), symbolBrush()
double QwtPlotTradingCurve::symbolExtent () const
Returns:
- Extent of a symbol in scale coordinates
See Also:
- setSymbolExtent(), scaledSymbolWidth(), minSymbolWidth(), maxSymbolWidth()
QPen QwtPlotTradingCurve::symbolPen () const
Returns:
- Symbol pen
See Also:
- setSymbolPen(), symbolBrush()
QwtPlotTradingCurve::SymbolStyle QwtPlotTradingCurve::symbolStyle () const
Returns:
- Symbol style
See Also:
- setSymbolStyle(), symbolExtent(), symbolPen(), symbolBrush()
bool QwtPlotTradingCurve::testPaintAttribute (PaintAttributeattribute) const
Returns:
- True, when attribute is enabled
See Also:
- PaintAttribute, setPaintAttribute()
Author
Generated automatically by Doxygen for Qwt User's Guide from the source code.