QWT 7.0.1
Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | Protected Member Functions | List of all members
QwtPlotAbstractBarChart Class Reference

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

#include <qwt_plot_abstract_barchart.h>

Inheritance diagram for QwtPlotAbstractBarChart:
QwtPlotSeriesItem QwtPlotItem QwtAbstractSeriesStore QwtPlotBarChart QwtPlotMultiBarChart

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.
 
QwtPlotplot () const
 Return attached plot.
 
void setTitle (const QString &title)
 Set a new title.
 
void setTitle (const QwtText &title)
 Set a new title.
 
const QwtTexttitle () 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< QwtLegendDatalegendData () 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
 

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

◆ 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::QwtPlotAbstractBarChart ( const QwtText title)
explicit

Constructor.

Parameters
titleTitle of the chart

Member Function Documentation

◆ baseline()

double QwtPlotAbstractBarChart::baseline ( ) const
Returns
Value for the origin of the bar chart
See also
setBaseline(), QwtPlotSeriesItem::orientation()

◆ getCanvasMarginHint()

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
xMapMaps x-values into pixel coordinates.
yMapMaps y-values into pixel coordinates.
canvasRectContents rectangle of the canvas in painter coordinates
leftReturns the left margin
topReturns the top margin
rightReturns the right margin
bottomReturns the bottom margin
Returns
Margin
See also
layoutPolicy(), layoutHint(), QwtPlotItem::Margins QwtPlot::getCanvasMarginsHint(), QwtPlot::updateCanvasMargins()

Reimplemented from QwtPlotItem.

◆ layoutHint()

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

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

◆ margin()

int QwtPlotAbstractBarChart::margin ( ) const
Returns
Margin between the outmost bars and the contentsRect() of the canvas.
See also
setMargin(), spacing()

◆ sampleWidth()

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
mapScale map for the corresponding scale
canvasSizeSize of the canvas in paint device coordinates
boundingSizeBounding size of the chart in plot coordinates ( used in AutoAdjustSamples mode )
valueValue of the sample
Returns
Sample width
See also
layoutPolicy(), layoutHint()

◆ setBaseline()

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
valueValue for the baseline
See also
baseline(), QwtPlotSeriesItem::orientation()

◆ setLayoutHint()

void QwtPlotAbstractBarChart::setLayoutHint ( double  hint)

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

Parameters
hintLayout hint
See also
LayoutPolicy, layoutPolicy(), layoutHint()

◆ setLayoutPolicy()

void QwtPlotAbstractBarChart::setLayoutPolicy ( LayoutPolicy  policy)

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

Parameters
policyLayout policy
See also
layoutPolicy(), layoutHint()

◆ setMargin()

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

◆ setSpacing()

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

◆ spacing()

int QwtPlotAbstractBarChart::spacing ( ) const
Returns
Spacing between 2 samples ( bars or groups of bars )
See also
setSpacing(), margin()

The documentation for this class was generated from the following files: