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 legendParameters:
-
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 rectParameters:
-
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 legendParameters:
-
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 canvasParameters:
- 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 entryParameters:
- 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 borderParameters:
- pen Border pen
See Also:
- borderPen(), setBackgroundBrush()
void QwtPlotLegendItem::setBorderRadius (doubleradius)
Set the radius for the borderParameters:
- 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 labelParameters:
- font Legend font
See Also:
- font()
void QwtPlotLegendItem::setItemMargin (intmargin)
Set the margin around each itemParameters:
- margin Margin
See Also:
- itemMargin(), setItemSpacing(), setMargin(), setSpacing()
void QwtPlotLegendItem::setItemSpacing (intspacing)
Set the spacing inside of each itemParameters:
- 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 itemParameters:
-
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.