|
QWT 7.0.1
|
Abstract base class for bar chart items. More...
#include <qwt_plot_abstract_barchart.h>
Classes | |
| class | PrivateData |
Public Types | |
| enum | LayoutPolicy { AutoAdjustSamples , ScaleSamplesToAxes , ScaleSampleToCanvas , FixedSampleSize } |
| Mode how to calculate the bar width. 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_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 | |
| QwtPlotAbstractBarChart (const QwtText &title) | |
| Constructor. | |
| virtual | ~QwtPlotAbstractBarChart () |
| Destructor. | |
| void | setLayoutPolicy (LayoutPolicy) |
| The combination of layoutPolicy() and layoutHint() define how the width of the bars is calculated. | |
| LayoutPolicy | layoutPolicy () const |
| The combination of layoutPolicy() and layoutHint() define how the width of the bars is calculated. | |
| void | setLayoutHint (double) |
| The combination of layoutPolicy() and layoutHint() define how the width of the bars is calculated. | |
| double | layoutHint () const |
| The combination of layoutPolicy() and layoutHint() define how the width of the bars is calculated. | |
| void | setSpacing (int) |
| Set the spacing. | |
| int | spacing () const |
| void | setMargin (int) |
| Set the margin. | |
| int | margin () const |
| void | setBaseline (double) |
| Set the baseline. | |
| double | baseline () const |
| virtual void | getCanvasMarginHint (const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect, double &left, double &top, double &right, double &bottom) const QWT_OVERRIDE |
| Calculate a hint for the canvas margin. | |
Public Member Functions inherited from QwtPlotSeriesItem | |
| QwtPlotSeriesItem (const QString &title=QString()) | |
| Constructor. | |
| QwtPlotSeriesItem (const QwtText &title) | |
| Constructor. | |
| virtual | ~QwtPlotSeriesItem () |
| Destructor. | |
| void | setOrientation (Qt::Orientation) |
| Set the orientation of the item. | |
| Qt::Orientation | orientation () const |
| virtual void | draw (QPainter *, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect) const QWT_OVERRIDE |
| Draw the complete series. | |
| virtual void | drawSeries (QPainter *painter, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect, int from, int to) const =0 |
| Draw a subset of the samples. | |
| virtual QRectF | boundingRect () const QWT_OVERRIDE |
| virtual void | updateScaleDiv (const QwtScaleDiv &, const QwtScaleDiv &) QWT_OVERRIDE |
| Update the item to changes of the axes scale division. | |
Public Member Functions inherited from QwtPlotItem | |
| QwtPlotItem () | |
| Constructor. | |
| QwtPlotItem (const QString &title) | |
| Constructor. | |
| QwtPlotItem (const QwtText &title) | |
| Constructor. | |
| virtual | ~QwtPlotItem () |
| Destroy the QwtPlotItem. | |
| void | attach (QwtPlot *plot) |
| Attach the item to a plot. | |
| void | detach () |
| This method detaches a QwtPlotItem from any QwtPlot it has been associated with. | |
| QwtPlot * | plot () const |
| Return attached plot. | |
| void | setTitle (const QString &title) |
| Set a new title. | |
| void | setTitle (const QwtText &title) |
| Set a new title. | |
| const QwtText & | title () const |
| virtual int | rtti () const |
| Return rtti for the specific class represented. | |
| void | setItemAttribute (ItemAttribute, bool on=true) |
| Toggle an item attribute. | |
| bool | testItemAttribute (ItemAttribute) const |
| Test an item attribute. | |
| void | setItemInterest (ItemInterest, bool on=true) |
| Toggle an item interest. | |
| bool | testItemInterest (ItemInterest) const |
| Test an item interest. | |
| void | setRenderHint (RenderHint, bool on=true) |
| Toggle an render hint. | |
| bool | testRenderHint (RenderHint) const |
| Test a render hint. | |
| void | setRenderThreadCount (uint numThreads) |
| On multi core systems rendering of certain plot item ( f.e QwtPlotRasterItem ) can be done in parallel in several threads. | |
| uint | renderThreadCount () const |
| void | setLegendIconSize (const QSize &) |
| Set the size of the legend icon. | |
| QSize | legendIconSize () const |
| double | z () const |
| Plot items are painted in increasing z-order. | |
| void | setZ (double z) |
| Set the z value. | |
| void | show () |
| Show the item. | |
| void | hide () |
| Hide the item. | |
| virtual void | setVisible (bool) |
| Show/Hide the item. | |
| bool | isVisible () const |
| void | setAxes (QwtAxisId xAxis, QwtAxisId yAxis) |
| Set X and Y axis. | |
| void | setXAxis (QwtAxisId) |
| Set the X axis. | |
| QwtAxisId | xAxis () const |
| Return xAxis. | |
| void | setYAxis (QwtAxisId) |
| Set the Y axis. | |
| QwtAxisId | yAxis () const |
| Return yAxis. | |
| virtual void | itemChanged () |
| Update the legend and call QwtPlot::autoRefresh() for the parent plot. | |
| virtual void | legendChanged () |
| Update the legend of the parent plot. | |
| virtual void | updateLegend (const QwtPlotItem *, const QList< QwtLegendData > &) |
| Update the item to changes of the legend info. | |
| QRectF | scaleRect (const QwtScaleMap &, const QwtScaleMap &) const |
| Calculate the bounding scale rectangle of 2 maps. | |
| QRectF | paintRect (const QwtScaleMap &, const QwtScaleMap &) const |
| Calculate the bounding paint rectangle of 2 maps. | |
| virtual QList< QwtLegendData > | legendData () const |
| Return all information, that is needed to represent the item on the legend. | |
| virtual QwtGraphic | legendIcon (int index, const QSizeF &) const |
Public Member Functions inherited from QwtAbstractSeriesStore | |
| virtual | ~QwtAbstractSeriesStore () |
| Destructor. | |
Protected Member Functions | |
| double | sampleWidth (const QwtScaleMap &map, double canvasSize, double boundingSize, double value) const |
| Calculate the width for a sample in paint device coordinates. | |
Protected Member Functions inherited from QwtPlotSeriesItem | |
| virtual void | dataChanged () QWT_OVERRIDE |
| dataChanged() indicates, that the series has been changed. | |
Protected Member Functions inherited from QwtPlotItem | |
| QwtGraphic | defaultIcon (const QBrush &, const QSizeF &) const |
| Return a default icon from a brush. | |
Protected Member Functions inherited from QwtAbstractSeriesStore | |
| virtual void | setRectOfInterest (const QRectF &)=0 |
| Set a the "rectangle of interest" for the stored series. | |
| virtual QRectF | dataRect () const =0 |
| virtual size_t | dataSize () const =0 |
Abstract base class for bar chart items.
In opposite to almost all other plot items bar charts can't be displayed inside of their bounding rectangle and need a special API how to calculate the width of the bars and how they affect the layout of the attached plot.
Mode how to calculate the bar width.
setLayoutPolicy(), setLayoutHint(), barWidthHint()
| Enumerator | |
|---|---|
| AutoAdjustSamples | The sample width is calculated by dividing the bounding rectangle by the number of samples. The layoutHint() is used as a minimum width in paint device coordinates.
|
| ScaleSamplesToAxes | layoutHint() defines an interval in axis coordinates |
| ScaleSampleToCanvas | The bar width is calculated by multiplying layoutHint() with the height or width of the canvas.
|
| FixedSampleSize | layoutHint() defines a fixed width in paint device coordinates. |
|
explicit |
Constructor.
| title | Title of the chart |
| double QwtPlotAbstractBarChart::baseline | ( | ) | const |
|
virtual |
Calculate a hint for the canvas margin.
Bar charts need to reserve some space for displaying the bars for the first and the last sample. The hint is calculated from the layoutHint() depending on the layoutPolicy().
The margins are in target device coordinates ( pixels on screen )
| xMap | Maps x-values into pixel coordinates. |
| yMap | Maps y-values into pixel coordinates. |
| canvasRect | Contents rectangle of the canvas in painter coordinates |
| left | Returns the left margin |
| top | Returns the top margin |
| right | Returns the right margin |
| bottom | Returns the bottom margin |
Reimplemented from QwtPlotItem.
| double QwtPlotAbstractBarChart::layoutHint | ( | ) | const |
The combination of layoutPolicy() and layoutHint() define how the width of the bars is calculated.
| QwtPlotAbstractBarChart::LayoutPolicy QwtPlotAbstractBarChart::layoutPolicy | ( | ) | const |
The combination of layoutPolicy() and layoutHint() define how the width of the bars is calculated.
| int QwtPlotAbstractBarChart::margin | ( | ) | const |
|
protected |
Calculate the width for a sample in paint device coordinates.
| map | Scale map for the corresponding scale |
| canvasSize | Size of the canvas in paint device coordinates |
| boundingSize | Bounding size of the chart in plot coordinates ( used in AutoAdjustSamples mode ) |
| value | Value of the sample |
| void QwtPlotAbstractBarChart::setBaseline | ( | double | value | ) |
Set the baseline.
The baseline is the origin for the chart. Each bar is painted from the baseline in the direction of the sample value. In case of a horizontal orientation() the baseline is interpreted as x - otherwise as y - value.
The default value for the baseline is 0.
| value | Value for the baseline |
| void QwtPlotAbstractBarChart::setLayoutHint | ( | double | hint | ) |
The combination of layoutPolicy() and layoutHint() define how the width of the bars is calculated.
| hint | Layout hint |
| void QwtPlotAbstractBarChart::setLayoutPolicy | ( | LayoutPolicy | policy | ) |
The combination of layoutPolicy() and layoutHint() define how the width of the bars is calculated.
| policy | Layout policy |
| void QwtPlotAbstractBarChart::setMargin | ( | int | margin | ) |
| void QwtPlotAbstractBarChart::setSpacing | ( | int | spacing | ) |
Set the spacing.
The spacing is the distance between 2 samples ( bars for QwtPlotBarChart or a group of bars for QwtPlotMultiBarChart ) in paint device coordinates.
| int QwtPlotAbstractBarChart::spacing | ( | ) | const |