QwtPlotAbstractBarChart(3) Abstract base class for bar chart items.

SYNOPSIS


#include <qwt_plot_abstract_barchart.h>

Inherits QwtPlotSeriesItem.

Inherited by QwtPlotBarChart, and QwtPlotMultiBarChart.

Public Types


enum LayoutPolicy { AutoAdjustSamples, ScaleSamplesToAxes, ScaleSampleToCanvas, FixedSampleSize }
Mode how to calculate the bar width.

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.
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
Calculate a hint for the canvas margin.

Protected Member Functions


double sampleWidth (const QwtScaleMap &map, double canvasSize, double dataSize, double value) const

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, doublecanvasSize, doubleboundingSize, doublevalue) 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 (doublevalue)

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 (doublehint)

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 (LayoutPolicypolicy)

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 (intmargin)

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 (intspacing)

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()

Author

Generated automatically by Doxygen for Qwt User's Guide from the source code.