QwtPlotLegendItem(3)

NAME
QwtPlotLegendItem - 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)
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 *, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect) 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 width) 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, int width) 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::Alignment alignment)

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

See also
    backgroundMode(), setBackgroundBrush(), drawBackground()

  void QwtPlotLegendItem::setBorderDistance (int distance)

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 (double radius)
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 (int margin)
Set the margin around each item

Parameters
    margin Margin

See also
    itemMargin(), setItemSpacing(), setMargin(), setSpacing()

  void QwtPlotLegendItem::setItemSpacing (int spacing)
Set the spacing inside of each item

Parameters
    spacing Spacing

See also
    itemSpacing(), setItemMargin(), setMargin(), setSpacing()

  void QwtPlotLegendItem::setMargin (int margin)

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

Parameters
    maxColumns Maximum number of columns. 0 means unlimited.

See also
    maxColumns(), QwtDynGridLayout::setMaxColumns()

  void QwtPlotLegendItem::setSpacing (int spacing)

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.