QwtPlotLegendItem(3) A class which draws a legend inside the plot canvas.

SYNOPSIS


#include <qwt_plot_legenditem.h>

Inherits QwtPlotItem.

Public Types


enum BackgroundMode { LegendBackground, ItemBackground }
Background mode.

Public Member Functions


QwtPlotLegendItem ()
Constructor.
virtual ~QwtPlotLegendItem ()
Destructor.
virtual int rtti () const

void setAlignment (Qt::Alignment)
Set the alignmnet.
Qt::Alignment alignment () const

void setMaxColumns (uint)
Limit the number of columns.
uint maxColumns () const

void setMargin (int)
Set the margin around legend items.
int margin () const

void setSpacing (int)
Set the spacing between the legend items.
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.
int borderDistance () const

void setBorderRadius (double)

double borderRadius () const

void setBorderPen (const QPen &)

QPen borderPen () const

void setBackgroundBrush (const QBrush &)
Set the background brush.
QBrush backgroundBrush () const

void setBackgroundMode (BackgroundMode)
Set the background mode.
BackgroundMode backgroundMode () const

void setTextPen (const QPen &)
Set the pen for drawing text labels.
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

Protected Member Functions


virtual void drawLegendData (QPainter *painter, const QwtPlotItem *, const QwtLegendData &, const QRectF &) const

virtual void drawBackground (QPainter *, const QRectF &rect) const

Detailed Description

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.

Note:

An external QwtLegend with a transparent background on top the plot canvas might be another option with a similar effect.

Member Enumeration Documentation

enum QwtPlotLegendItem::BackgroundMode

Background mode. Depending on the mode the complete legend or each item might have an background.

The default setting is LegendBackground.

See Also:

setBackgroundMode(), setBackgroundBrush(), drawBackground()

Enumerator

LegendBackground
The legend has a background.
ItemBackground
Each item has a background.

Member Function Documentation

Qt::Alignment QwtPlotLegendItem::alignment () const

Returns:

Alignment flags

See Also:

setAlignment()

QBrush QwtPlotLegendItem::backgroundBrush () const

Returns:

Brush is used to fill the background

See Also:

setBackgroundBrush(), backgroundMode(), drawBackground()

QwtPlotLegendItem::BackgroundMode QwtPlotLegendItem::backgroundMode () const

Returns:

backgroundMode

See Also:

setBackgroundMode(), backgroundBrush(), drawBackground()

int QwtPlotLegendItem::borderDistance () const

Returns:

Margin between the legend and the canvas border

See Also:

margin()

QPen QwtPlotLegendItem::borderPen () const

Returns:

Pen for drawing the border

See Also:

setBorderPen(), backgroundBrush()

double QwtPlotLegendItem::borderRadius () const

Returns:

Radius of the border

See Also:

setBorderRadius(), setBorderPen()

void QwtPlotLegendItem::draw (QPainter *painter, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect) const [virtual]

Draw the legend

Parameters:

painter Painter
xMap x Scale Map
yMap y Scale Map
canvasRect Contents rectangle of the canvas in painter coordinates

Implements QwtPlotItem.

void QwtPlotLegendItem::drawBackground (QPainter *painter, const QRectF &rect) const [protected], [virtual]

Draw a rounded rect

Parameters:

painter Painter
rect Bounding rectangle

See Also:

setBorderRadius(), setBorderPen(), setBackgroundBrush(), setBackgroundMode()

void QwtPlotLegendItem::drawLegendData (QPainter *painter, const QwtPlotItem *plotItem, const QwtLegendData &data, const QRectF &rect) const [protected], [virtual]

Draw an entry on the legend

Parameters:

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

Returns:

Font used for drawing the text label

See Also:

setFont()

QRect QwtPlotLegendItem::geometry (const QRectF &canvasRect) const [virtual]

Calculate the geometry of the legend on the canvas

Parameters:

canvasRect Geometry of the canvas

Returns:

Geometry of the legend

int QwtPlotLegendItem::heightForWidth (const QwtLegendData &data, intwidth) const [virtual]

Returns:

The preferred height, for a width.

Parameters:

data Attributes of the legend entry
width Width

int QwtPlotLegendItem::itemMargin () const

Returns:

Margin around each item

See Also:

setItemMargin(), itemSpacing(), margin(), spacing()

int QwtPlotLegendItem::itemSpacing () const

Returns:

Spacing inside of each item

See Also:

setItemSpacing(), itemMargin(), margin(), spacing()

QList< QRect > QwtPlotLegendItem::legendGeometries (const QwtPlotItem *plotItem) const

Returns:

Geometries of the items of a plot item

Note:

Usually a plot item has only one entry on the legend

int QwtPlotLegendItem::margin () const

Returns:

Margin around the legend items

See Also:

setMargin(), spacing(), itemMargin(), itemSpacing()

uint QwtPlotLegendItem::maxColumns () const

Returns:

Maximum number of columns

See Also:

maxColumns(), QwtDynGridLayout::maxColumns()

QSize QwtPlotLegendItem::minimumSize (const QwtLegendData &data) const [virtual]

Minimum size hint needed to display an entry

Parameters:

data Attributes of the legend entry

Returns:

Minimum size

QList< const QwtPlotItem * > QwtPlotLegendItem::plotItems () const

Returns:

All plot items with an entry on the legend

Note:

A plot item might have more than one entry on the legend

int QwtPlotLegendItem::rtti () const [virtual]

Returns:

QwtPlotItem::Rtti_PlotLegend

Reimplemented from QwtPlotItem.

void QwtPlotLegendItem::setAlignment (Qt::Alignmentalignment)

Set the alignmnet. Alignment means the position of the legend relative to the geometry of the plot canvas.

Parameters:

alignment Alignment flags

See Also:

alignment(), setMaxColumns()

Note:

To align a legend with many items horizontally the number of columns need to be limited

void QwtPlotLegendItem::setBackgroundBrush (const QBrush &brush)

Set the background brush. The brush is used to fill the background

Parameters:

brush Brush

See Also:

backgroundBrush(), setBackgroundMode(), drawBackground()

void QwtPlotLegendItem::setBackgroundMode (BackgroundModemode)

Set the background mode. Depending on the mode the complete legend or each item might have an background.

The default setting is LegendBackground.

See Also:

backgroundMode(), setBackgroundBrush(), drawBackground()

void QwtPlotLegendItem::setBorderDistance (intdistance)

Set the margin between the legend and the canvas border. The default setting for the margin is 10 pixels.

Parameters:

distance Margin in pixels

See Also:

setMargin()

void QwtPlotLegendItem::setBorderPen (const QPen &pen)

Set the pen for drawing the border

Parameters:

pen Border pen

See Also:

borderPen(), setBackgroundBrush()

void QwtPlotLegendItem::setBorderRadius (doubleradius)

Set the radius for the border

Parameters:

radius A value <= 0 defines a rectangular border

See Also:

borderRadius(), setBorderPen()

void QwtPlotLegendItem::setFont (const QFont &font)

Change the font used for drawing the text label

Parameters:

font Legend font

See Also:

font()

void QwtPlotLegendItem::setItemMargin (intmargin)

Set the margin around each item

Parameters:

margin Margin

See Also:

itemMargin(), setItemSpacing(), setMargin(), setSpacing()

void QwtPlotLegendItem::setItemSpacing (intspacing)

Set the spacing inside of each item

Parameters:

spacing Spacing

See Also:

itemSpacing(), setItemMargin(), setMargin(), setSpacing()

void QwtPlotLegendItem::setMargin (intmargin)

Set the margin around legend items. The default setting for the margin is 0.

Parameters:

margin Margin in pixels

See Also:

margin(), setSpacing(), setItemMargin(), setItemSpacing

void QwtPlotLegendItem::setMaxColumns (uintmaxColumns)

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.

Parameters:

maxColumns Maximum number of columns. 0 means unlimited.

See Also:

maxColumns(), QwtDynGridLayout::setMaxColumns()

void QwtPlotLegendItem::setSpacing (intspacing)

Set the spacing between the legend items.

Parameters:

spacing Spacing in pixels

See Also:

spacing(), setMargin()

void QwtPlotLegendItem::setTextPen (const QPen &pen)

Set the pen for drawing text labels.

Parameters:

pen Text pen

See Also:

textPen(), setFont()

int QwtPlotLegendItem::spacing () const

Returns:

Spacing between the legend items

See Also:

setSpacing(), margin(), itemSpacing(), itemMargin()

QPen QwtPlotLegendItem::textPen () const

Returns:

Pen for drawing text labels

See Also:

setTextPen(), font()

void QwtPlotLegendItem::updateLegend (const QwtPlotItem *plotItem, const QList< QwtLegendData > &data) [virtual]

Update the legend items according to modifications of a plot item

Parameters:

plotItem Plot item
data Attributes of the legend entries

Reimplemented from QwtPlotItem.

Author

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