QwtPlotTradingCurve(3) Qwt User's Guide QwtPlotTradingCurve(3) NAME QwtPlotTradingCurve - QwtPlotTradingCurve illustrates movements in the price of a financial instrument over time. SYNOPSIS #include 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 Public Member Functions QwtPlotTradingCurve (const QString &title=QString()) QwtPlotTradingCurve (const QwtText &title) virtual ~QwtPlotTradingCurve () Destructor. virtual int rtti () const override 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) 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 *, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect, int from, int to) const override virtual QRectF boundingRect () const override virtual QwtGraphic legendIcon (int index, const QSizeF &) const override 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 symbolWidth) const Draw a symbol for a symbol style >= UserSymbol. void drawBar (QPainter *, 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: o setSymbolExtent() o setSymbolMinWidth() o 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. Definition at line 37 of file qwt_plot_tradingcurve.h. Member Typedef Documentation typedef QFlags QwtPlotTradingCurve::PaintAttributes An ORed combination of PaintAttribute values. Definition at line 101 of file qwt_plot_tradingcurve.h. 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. Definition at line 82 of file qwt_plot_tradingcurve.h. 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. Definition at line 95 of file qwt_plot_tradingcurve.h. 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() Definition at line 48 of file qwt_plot_tradingcurve.h. Constructor & Destructor Documentation QwtPlotTradingCurve::QwtPlotTradingCurve (const QString & title = QString()) [explicit] Constructor Parameters title Title of the curve Definition at line 70 of file qwt_plot_tradingcurve.cpp. QwtPlotTradingCurve::QwtPlotTradingCurve (const QwtText & title) [explicit] Constructor Parameters title Title of the curve Definition at line 60 of file qwt_plot_tradingcurve.cpp. Member Function Documentation QRectF QwtPlotTradingCurve::boundingRect () const [override], [virtual] Returns Bounding rectangle of all samples. For an empty series the rectangle is invalid. Reimplemented from QwtPlotSeriesItem. Definition at line 365 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 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 Definition at line 562 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 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 Definition at line 601 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 [override], [virtual] Draw an interval of the curve Parameters 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. Definition at line 387 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 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() Definition at line 420 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 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 Definition at line 534 of file qwt_plot_tradingcurve.cpp. QwtGraphic QwtPlotTradingCurve::legendIcon (int index, const QSizeF & size) const [override], [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. Definition at line 642 of file qwt_plot_tradingcurve.cpp. double QwtPlotTradingCurve::maxSymbolWidth () const Returns Maximum for the symbol width See also setMaxSymbolWidth(), minSymbolWidth(), symbolExtent() Definition at line 356 of file qwt_plot_tradingcurve.cpp. double QwtPlotTradingCurve::minSymbolWidth () const Returns Minmum for the symbol width See also setMinSymbolWidth(), maxSymbolWidth(), symbolExtent() Definition at line 328 of file qwt_plot_tradingcurve.cpp. int QwtPlotTradingCurve::rtti () const [override], [virtual] Returns QwtPlotItem::Rtti_PlotTradingCurve Reimplemented from QwtPlotItem. Definition at line 95 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 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() Definition at line 664 of file qwt_plot_tradingcurve.cpp. void QwtPlotTradingCurve::setMaxSymbolWidth (double width) Set a maximum for the symbol width A value <= 0.0 means an unlimited width Parameters width Width in paint device coordinates See also maxSymbolWidth(), setMinSymbolWidth(), setSymbolExtent() Definition at line 341 of file qwt_plot_tradingcurve.cpp. void QwtPlotTradingCurve::setMinSymbolWidth (double width) Set a minimum for the symbol width Parameters width Width in paint device coordinates See also minSymbolWidth(), setMaxSymbolWidth(), setSymbolExtent() Definition at line 312 of file qwt_plot_tradingcurve.cpp. void QwtPlotTradingCurve::setPaintAttribute (PaintAttribute attribute, bool on = true) Specify an attribute how to draw the curve Parameters attribute Paint attribute on On/Off See also testPaintAttribute() Definition at line 107 of file qwt_plot_tradingcurve.cpp. void QwtPlotTradingCurve::setSamples (const QVector< QwtOHLCSample > & samples) Initialize data with an array of samples. Parameters samples Vector of samples See also QwtPlotSeriesItem::setData() Definition at line 132 of file qwt_plot_tradingcurve.cpp. void QwtPlotTradingCurve::setSamples (QwtSeriesData< QwtOHLCSample > * 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 data Data Warning The item takes ownership of the data object, deleting it when its not used anymore. Definition at line 148 of file qwt_plot_tradingcurve.cpp. void QwtPlotTradingCurve::setSymbolBrush (Direction direction, const QBrush & brush) Set the symbol brush Parameters direction Direction type brush Brush used to fill the body of all candlestick symbols with the direction See also symbolBrush(), setSymbolPen() Definition at line 238 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 extent Symbol width in scale coordinates See also symbolExtent(), scaledSymbolWidth(), setMinSymbolWidth(), setMaxSymbolWidth() Definition at line 284 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 color Pen color width Pen width style Pen style See also pen(), brush() Definition at line 195 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 209 of file qwt_plot_tradingcurve.cpp. void QwtPlotTradingCurve::setSymbolStyle (SymbolStyle style) Set the symbol style Parameters style Symbol style See also symbolStyle(), setSymbolExtent(), setSymbolPen(), setSymbolBrush() Definition at line 162 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 262 of file qwt_plot_tradingcurve.cpp. double QwtPlotTradingCurve::symbolExtent () const Returns Extent of a symbol in scale coordinates See also setSymbolExtent(), scaledSymbolWidth(), minSymbolWidth(), maxSymbolWidth() Definition at line 301 of file qwt_plot_tradingcurve.cpp. QPen QwtPlotTradingCurve::symbolPen () const Returns Symbol pen See also setSymbolPen(), symbolBrush() Definition at line 224 of file qwt_plot_tradingcurve.cpp. QwtPlotTradingCurve::SymbolStyle QwtPlotTradingCurve::symbolStyle () const Returns Symbol style See also setSymbolStyle(), symbolExtent(), symbolPen(), symbolBrush() Definition at line 177 of file qwt_plot_tradingcurve.cpp. bool QwtPlotTradingCurve::testPaintAttribute (PaintAttribute attribute) const Returns True, when attribute is enabled See also PaintAttribute, setPaintAttribute() Definition at line 120 of file qwt_plot_tradingcurve.cpp. Author Generated automatically by Doxygen for Qwt User's Guide from the source code. Version 6.2.0 Sun Jul 18 2021 QwtPlotTradingCurve(3)