A class which draws a legend inside the plot canvas. More...
#include <qwt_plot_legenditem.h>
Public Types | |
enum | BackgroundMode { LegendBackground, ItemBackground } |
Background mode. More... | |
![]() | |
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 | |
QwtPlotLegendItem () | |
Constructor. | |
virtual | ~QwtPlotLegendItem () |
Destructor. | |
virtual int | rtti () const |
void | setAlignment (Qt::Alignment) |
Set the alignmnet. More... | |
Qt::Alignment | alignment () const |
void | setMaxColumns (uint) |
Limit the number of columns. More... | |
uint | maxColumns () const |
void | setMargin (int) |
Set the margin around legend items. More... | |
int | margin () const |
void | setSpacing (int) |
Set the spacing between the legend items. More... | |
int | spacing () const |
void | setItemMargin (int) |
int | itemMargin () const |
void | setItemSpacing (int) |
int | itemSpacing () const |
void | setFont (const QFont &) |
QFont | font () const |
void | setBorderDistance (int numPixels) |
Set the margin between the legend and the canvas border. More... | |
int | borderDistance () const |
void | setBorderRadius (double) |
double | borderRadius () const |
void | setBorderPen (const QPen &) |
QPen | borderPen () const |
void | setBackgroundBrush (const QBrush &) |
Set the background brush. More... | |
QBrush | backgroundBrush () const |
void | setBackgroundMode (BackgroundMode) |
Set the background mode. More... | |
BackgroundMode | backgroundMode () const |
void | setTextPen (const QPen &) |
Set the pen for drawing text labels. More... | |
QPen | textPen () const |
virtual void | draw (QPainter *p, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &rect) const |
void | clearLegend () |
Remove all items from the legend. | |
virtual void | updateLegend (const QwtPlotItem *, const QList< QwtLegendData > &) |
virtual QRect | geometry (const QRectF &canvasRect) const |
virtual QSize | minimumSize (const QwtLegendData &) const |
virtual int | heightForWidth (const QwtLegendData &, int w) const |
QList< const QwtPlotItem * > | plotItems () const |
QList< QRect > | legendGeometries (const QwtPlotItem *) const |
![]() | |
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 |
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 QRectF | boundingRect () const |
virtual void | getCanvasMarginHint (const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasSize, double &left, double &top, double &right, double &bottom) const |
Calculate a hint for the canvas margin. More... | |
virtual void | updateScaleDiv (const QwtScaleDiv &, const QwtScaleDiv &) |
Update the item to changes of the axes scale division. 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 | |
virtual void | drawLegendData (QPainter *painter, const QwtPlotItem *, const QwtLegendData &, const QRectF &) const |
virtual void | drawBackground (QPainter *, const QRectF &rect) const |
![]() | |
QwtGraphic | defaultIcon (const QBrush &, const QSizeF &) const |
Return a default icon from a brush. More... | |
A class which draws a legend inside the plot canvas.
QwtPlotLegendItem can be used to draw a inside the plot canvas. It can be used together with a QwtLegend or instead of it to have more space for the plot canvas.
In opposite to QwtLegend the legend item is not interactive. To identify mouse clicks on a legend item an event filter needs to be installed catching mouse events ob the plot canvas. The geometries of the legend items are available using legendGeometries().
The legend item is aligned to plot canvas according to its alignment() flags. It might have a background for the complete legend ( usually semi transparent ) or for each legend item.
Qt::Alignment QwtPlotLegendItem::alignment | ( | ) | const |
QBrush QwtPlotLegendItem::backgroundBrush | ( | ) | const |
QwtPlotLegendItem::BackgroundMode QwtPlotLegendItem::backgroundMode | ( | ) | const |
int QwtPlotLegendItem::borderDistance | ( | ) | const |
QPen QwtPlotLegendItem::borderPen | ( | ) | const |
double QwtPlotLegendItem::borderRadius | ( | ) | const |
|
virtual |
Draw the legend
painter | Painter |
xMap | x Scale Map |
yMap | y Scale Map |
canvasRect | Contents rectangle of the canvas in painter coordinates |
Implements QwtPlotItem.
|
protectedvirtual |
Draw a rounded rect
painter | Painter |
rect | Bounding rectangle |
|
protectedvirtual |
Draw an entry on the legend
painter | Qt Painter |
plotItem | Plot item, represented by the entry |
data | Attributes of the legend entry |
rect | Bounding rectangle for the entry |
QFont QwtPlotLegendItem::font | ( | ) | const |
|
virtual |
Calculate the geometry of the legend on the canvas
canvasRect | Geometry of the canvas |
|
virtual |
data | Attributes of the legend entry |
width | Width |
int QwtPlotLegendItem::itemMargin | ( | ) | const |
int QwtPlotLegendItem::itemSpacing | ( | ) | const |
QList< QRect > QwtPlotLegendItem::legendGeometries | ( | const QwtPlotItem * | plotItem | ) | const |
int QwtPlotLegendItem::margin | ( | ) | const |
uint QwtPlotLegendItem::maxColumns | ( | ) | const |
|
virtual |
Minimum size hint needed to display an entry
data | Attributes of the legend entry |
QList< const QwtPlotItem * > QwtPlotLegendItem::plotItems | ( | ) | const |
|
virtual |
Reimplemented from QwtPlotItem.
void QwtPlotLegendItem::setAlignment | ( | Qt::Alignment | alignment | ) |
Set the alignmnet.
Alignment means the position of the legend relative to the geometry of the plot canvas.
alignment | Alignment flags |
void QwtPlotLegendItem::setBackgroundBrush | ( | const QBrush & | brush | ) |
Set the background brush.
The brush is used to fill the background
brush | Brush |
void QwtPlotLegendItem::setBackgroundMode | ( | BackgroundMode | mode | ) |
Set the background mode.
Depending on the mode the complete legend or each item might have an background.
The default setting is LegendBackground.
void QwtPlotLegendItem::setBorderDistance | ( | int | distance | ) |
Set the margin between the legend and the canvas border.
The default setting for the margin is 10 pixels.
distance | Margin in pixels |
void QwtPlotLegendItem::setBorderPen | ( | const QPen & | pen | ) |
Set the pen for drawing the border
pen | Border pen |
void QwtPlotLegendItem::setBorderRadius | ( | double | radius | ) |
Set the radius for the border
radius | A value <= 0 defines a rectangular border |
void QwtPlotLegendItem::setFont | ( | const QFont & | font | ) |
void QwtPlotLegendItem::setItemMargin | ( | int | margin | ) |
Set the margin around each item
margin | Margin |
void QwtPlotLegendItem::setItemSpacing | ( | int | spacing | ) |
Set the spacing inside of each item
spacing | Spacing |
void QwtPlotLegendItem::setMargin | ( | int | margin | ) |
Set the margin around legend items.
The default setting for the margin is 0.
margin | Margin in pixels |
void QwtPlotLegendItem::setMaxColumns | ( | uint | maxColumns | ) |
Limit the number of columns.
When aligning the legend horizontally ( Qt::AlignLeft, Qt::AlignRight ) the number of columns needs to be limited to avoid, that the width of the legend grows with an increasing number of entries.
maxColumns | Maximum number of columns. 0 means unlimited. |
void QwtPlotLegendItem::setSpacing | ( | int | spacing | ) |
Set the spacing between the legend items.
spacing | Spacing in pixels |
void QwtPlotLegendItem::setTextPen | ( | const QPen & | pen | ) |
int QwtPlotLegendItem::spacing | ( | ) | const |
QPen QwtPlotLegendItem::textPen | ( | ) | const |
|
virtual |
Update the legend items according to modifications of a plot item
plotItem | Plot item |
data | Attributes of the legend entries |
Reimplemented from QwtPlotItem.