QwtPlotAbstractBarChart Class Reference

Abstract base class for bar chart items. More...

`#include <qwt_plot_abstract_barchart.h>`

Inheritance diagram for QwtPlotAbstractBarChart:
[legend]

## 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_PlotSVG, Rtti_PlotTradingCurve, Rtti_PlotBarChart, Rtti_PlotMultiBarChart, Rtti_PlotShape, Rtti_PlotTextLabel, Rtti_PlotZone, 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...
typedef QFlags< ItemAttribute > | ItemAttributes
| Plot Item Attributes.
typedef QFlags< ItemInterest > | ItemInterests
| Plot Item Interests.
typedef QFlags< RenderHint > | RenderHints
| Render hints.

## Public Member Functions

| QwtPlotAbstractBarChart (const QwtText &title)
virtual | ~QwtPlotAbstractBarChart ()
| Destructor.
void | setLayoutPolicy (LayoutPolicy)
LayoutPolicy | layoutPolicy () const
void | setLayoutHint (double)
double | layoutHint () const
void | setSpacing (int)
| Set the spacing. More...
int | spacing () const
void | setMargin (int)
| Set the margin. More...
int | margin () const
void | setBaseline (double)
| Set the baseline. More...
double | baseline () const
virtual void | getCanvasMarginHint (const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect, double &left, double &top, double &right, double &bottom) const
| Calculate a hint for the canvas margin. More...
Public Member Functions inherited from QwtPlotSeriesItem
| QwtPlotSeriesItem (const QString &title=QString::null)
| QwtPlotSeriesItem (const QwtText &title)
virtual | ~QwtPlotSeriesItem ()
| Destructor.
void | setOrientation (Qt::Orientation)
Qt::Orientation | orientation () const
virtual void | draw (QPainter *p, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &) const
| Draw the complete series. More...
virtual void | drawSeries (QPainter *painter, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect, int from, int to) const =0
virtual QRectF | boundingRect () const
virtual void | updateScaleDiv (const QwtScaleDiv &, const QwtScaleDiv &)
| Update the item to changes of the axes scale division. More...
Public Member Functions inherited from QwtPlotItem
| QwtPlotItem (const QwtText &title=QwtText())
virtual | ~QwtPlotItem ()
| Destroy the QwtPlotItem.
void | attach (QwtPlot *plot)
| Attach the item to a plot. More...
void | detach ()
| This method detaches a QwtPlotItem from any QwtPlot it has been associated with. More...
QwtPlot * | plot () const
| Return attached plot.
void | setTitle (const QString &title)
void | setTitle (const QwtText &title)
const QwtText & | title () const
virtual int | rtti () const
void | setItemAttribute (ItemAttribute, bool on=true)
bool | testItemAttribute (ItemAttribute) const
void | setItemInterest (ItemInterest, bool on=true)
bool | testItemInterest (ItemInterest) const
void | setRenderHint (RenderHint, bool on=true)
bool | testRenderHint (RenderHint) const
void | setRenderThreadCount (uint numThreads)
uint | renderThreadCount () const
void | setLegendIconSize (const QSize &)
QSize | legendIconSize () const
double | z () const
void | setZ (double z)
| Set the z value. More...
void | show ()
| Show the item.
void | hide ()
| Hide the item.
virtual void | setVisible (bool)
bool | isVisible () const
void | setAxes (int xAxis, int yAxis)
void | setXAxis (int axis)
int | xAxis () const
| Return xAxis.
void | setYAxis (int axis)
int | yAxis () const
| Return yAxis.
virtual void | itemChanged ()
virtual void | legendChanged ()
virtual void | updateLegend (const QwtPlotItem *, const QList< QwtLegendData > &)
| Update the item to changes of the legend info. More...
QRectF | scaleRect (const QwtScaleMap &, const QwtScaleMap &) const
| Calculate the bounding scale rectangle of 2 maps. More...
QRectF | paintRect (const QwtScaleMap &, const QwtScaleMap &) const
| Calculate the bounding paint rectangle of 2 maps. More...
virtual QList< QwtLegendData > | legendData () const
| Return all information, that is needed to represent the item on the legend. More...
virtual QwtGraphic | legendIcon (int index, const QSizeF &) const

## Protected Member Functions

double | sampleWidth (const QwtScaleMap &map, double canvasSize, double dataSize, double value) const
Protected Member Functions inherited from QwtPlotSeriesItem
virtual void | dataChanged ()
| 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. More...
Protected Member Functions inherited from QwtAbstractSeriesStore
virtual | ~QwtAbstractSeriesStore ()
| Destructor.
virtual void | setRectOfInterest (const QRectF &)=0
virtual QRectF | dataRect () const =0
virtual size_t | dataSize () const =0

## Detailed Description

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.

## Member Enumeration Documentation

enum QwtPlotAbstractBarChart::LayoutPolicy

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.

See also
  boundingRectangle()

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.

See also
  boundingRectangle()

FixedSampleSize | layoutHint() defines a fixed width in paint device coordinates.

## Constructor & Destructor Documentation

QwtPlotAbstractBarChart::QwtPlotAbstractBarChart | ( | const QwtText & | title | ) |

explicit

Constructor

Parameters

  title | Title of the chart

## Member Function Documentation

double QwtPlotAbstractBarChart::baseline | ( |  | ) | const

Returns
  Value for the origin of the bar chart

See also
  setBaseline(), QwtPlotSeriesItem::orientation()

void QwtPlotAbstractBarChart::getCanvasMarginHint | ( | const QwtScaleMap & | xMap,
|  | const QwtScaleMap & | yMap,
|  | const QRectF & | canvasRect,
|  | double & | left,
|  | double & | top,
|  | double & | right,
|  | double & | bottom
| ) |  | 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 )

Parameters

  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

Returns
  Margin

See also
  layoutPolicy(), layoutHint(), QwtPlotItem::Margins QwtPlot::getCanvasMarginsHint(), QwtPlot::updateCanvasMargins()

Reimplemented from QwtPlotItem.

double QwtPlotAbstractBarChart::layoutHint | ( |  | ) | const

The combination of layoutPolicy() and layoutHint() define how the width of the bars is calculated

Returns
  Layout policy of the chart item

See also
  LayoutPolicy, setLayoutHint(), layoutPolicy()

QwtPlotAbstractBarChart::LayoutPolicy QwtPlotAbstractBarChart::layoutPolicy | ( |  | ) | const

The combination of layoutPolicy() and layoutHint() define how the width of the bars is calculated

Returns
  Layout policy of the chart item

See also
  setLayoutPolicy(), layoutHint()

int QwtPlotAbstractBarChart::margin | ( |  | ) | const

Returns
  Margin between the outmost bars and the contentsRect() of the canvas.

See also
  setMargin(), spacing()

double QwtPlotAbstractBarChart::sampleWidth | ( | const QwtScaleMap & | map,
|  | double | canvasSize,
|  | double | boundingSize,
|  | double | value
| ) |  | const

protected

Calculate the width for a sample in paint device coordinates

Parameters

  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

Returns
  Sample width

See also
  layoutPolicy(), layoutHint()

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.

Parameters

  value | Value for the baseline

See also
  baseline(), QwtPlotSeriesItem::orientation()

void QwtPlotAbstractBarChart::setLayoutHint | ( | double | hint | ) |

The combination of layoutPolicy() and layoutHint() define how the width of the bars is calculated

Parameters

  hint | Layout hint

See also
  LayoutPolicy, layoutPolicy(), layoutHint()

void QwtPlotAbstractBarChart::setLayoutPolicy | ( | LayoutPolicy | policy | ) |

The combination of layoutPolicy() and layoutHint() define how the width of the bars is calculated

Parameters

  policy | Layout policy

See also
  layoutPolicy(), layoutHint()

void QwtPlotAbstractBarChart::setMargin | ( | int | margin | ) |

Set the margin.

The margin is the distance between the outmost bars and the contentsRect() of the canvas. The default setting is 5 pixels.

Parameters

  margin | Margin

See also
  spacing(), 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.

See also
  spacing()

int QwtPlotAbstractBarChart::spacing | ( |  | ) | const

Returns
  Spacing between 2 samples ( bars or groups of bars )

See also
  setSpacing(), margin()