Classes | Public Types | Public Member Functions | Protected Member Functions | Private Attributes | List of all members
QwtPlotLegendItem Class Reference

A class which draws a legend inside the plot canvas. More...

#include <qwt_plot_legenditem.h>

Inheritance diagram for QwtPlotLegendItem:
Inheritance graph
[legend]

Classes

class  PrivateData
 

Public Types

enum  BackgroundMode { LegendBackground, ItemBackground }
 Background mode. More...
 
- Public Types inherited from QwtPlotItem
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...
 
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...
 

Public Member Functions

Qt::Alignment alignmentInCanvas () const
 
QBrush backgroundBrush () const
 
BackgroundMode backgroundMode () const
 
QPen borderPen () const
 
double borderRadius () const
 
void clearLegend ()
 Remove all items from the legend. More...
 
virtual void draw (QPainter *, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect) const QWT_OVERRIDE
 
QFont font () const
 
virtual QRect geometry (const QRectF &canvasRect) const
 
virtual int heightForWidth (const QwtLegendData &, int width) const
 
int itemMargin () const
 
int itemSpacing () const
 
QList< QRect > legendGeometries (const QwtPlotItem *) const
 
int margin () const
 
uint maxColumns () const
 
virtual QSize minimumSize (const QwtLegendData &) const
 
int offsetInCanvas (Qt::Orientation) const
 
QList< const QwtPlotItem * > plotItems () const
 
 QwtPlotLegendItem ()
 Constructor. More...
 
virtual int rtti () const QWT_OVERRIDE
 
void setAlignmentInCanvas (Qt::Alignment)
 Set the alignmnet. More...
 
void setBackgroundBrush (const QBrush &)
 Set the background brush. More...
 
void setBackgroundMode (BackgroundMode)
 Set the background mode. More...
 
void setBorderPen (const QPen &)
 
void setBorderRadius (double)
 
void setFont (const QFont &)
 
void setItemMargin (int)
 
void setItemSpacing (int)
 
void setMargin (int)
 Set the margin around legend items. More...
 
void setMaxColumns (uint)
 Limit the number of columns. More...
 
void setOffsetInCanvas (Qt::Orientations, int numPixels)
 Set the distance between the legend and the canvas border. More...
 
void setSpacing (int)
 Set the spacing between the legend items. More...
 
void setTextPen (const QPen &)
 Set the pen for drawing text labels. More...
 
int spacing () const
 
QPen textPen () const
 
virtual void updateLegend (const QwtPlotItem *, const QList< QwtLegendData > &) QWT_OVERRIDE
 
virtual ~QwtPlotLegendItem ()
 Destructor. More...
 
- Public Member Functions inherited from QwtPlotItem
void attach (QwtPlot *plot)
 Attach the item to a plot. More...
 
virtual QRectF boundingRect () const
 
void detach ()
 This method detaches a QwtPlotItem from any QwtPlot it has been associated with. More...
 
virtual void getCanvasMarginHint (const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect, double &left, double &top, double &right, double &bottom) const
 Calculate a hint for the canvas margin. More...
 
void hide ()
 Hide the item. More...
 
bool isVisible () const
 
virtual void itemChanged ()
 
virtual void legendChanged ()
 
virtual QList< QwtLegendDatalegendData () const
 Return all information, that is needed to represent the item on the legend. More...
 
virtual QwtGraphic legendIcon (int index, const QSizeF &) const
 
QSize legendIconSize () const
 
QRectF paintRect (const QwtScaleMap &, const QwtScaleMap &) const
 Calculate the bounding paint rectangle of 2 maps. More...
 
QwtPlotplot () const
 Return attached plot. More...
 
 QwtPlotItem ()
 
 QwtPlotItem (const QString &title)
 
 QwtPlotItem (const QwtText &title)
 
uint renderThreadCount () const
 
QRectF scaleRect (const QwtScaleMap &, const QwtScaleMap &) const
 Calculate the bounding scale rectangle of 2 maps. More...
 
void setAxes (QwtAxisId xAxis, QwtAxisId yAxis)
 
void setItemAttribute (ItemAttribute, bool on=true)
 
void setItemInterest (ItemInterest, bool on=true)
 
void setLegendIconSize (const QSize &)
 
void setRenderHint (RenderHint, bool on=true)
 
void setRenderThreadCount (uint numThreads)
 
void setTitle (const QString &title)
 
void setTitle (const QwtText &title)
 
virtual void setVisible (bool)
 
void setXAxis (QwtAxisId)
 
void setYAxis (QwtAxisId)
 
void setZ (double z)
 Set the z value. More...
 
void show ()
 Show the item. More...
 
bool testItemAttribute (ItemAttribute) const
 
bool testItemInterest (ItemInterest) const
 
bool testRenderHint (RenderHint) const
 
const QwtTexttitle () const
 
virtual void updateScaleDiv (const QwtScaleDiv &, const QwtScaleDiv &)
 Update the item to changes of the axes scale division. More...
 
QwtAxisId xAxis () const
 Return xAxis. More...
 
QwtAxisId yAxis () const
 Return yAxis. More...
 
double z () const
 
virtual ~QwtPlotItem ()
 Destroy the QwtPlotItem. More...
 

Protected Member Functions

virtual void drawBackground (QPainter *, const QRectF &rect) const
 
virtual void drawLegendData (QPainter *, const QwtPlotItem *, const QwtLegendData &, const QRectF &) const
 
- Protected Member Functions inherited from QwtPlotItem
QwtGraphic defaultIcon (const QBrush &, const QSizeF &) const
 Return a default icon from a brush. More...
 

Private Attributes

PrivateDatam_data
 

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.

Definition at line 41 of file qwt_plot_legenditem.h.

Member Enumeration Documentation

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

Definition at line 54 of file qwt_plot_legenditem.h.

Constructor & Destructor Documentation

◆ QwtPlotLegendItem()

QwtPlotLegendItem::QwtPlotLegendItem ( )
explicit

Constructor.

Definition at line 175 of file qwt_plot_legenditem.cpp.

◆ ~QwtPlotLegendItem()

QwtPlotLegendItem::~QwtPlotLegendItem ( )
virtual

Destructor.

Definition at line 185 of file qwt_plot_legenditem.cpp.

Member Function Documentation

◆ alignmentInCanvas()

Qt::Alignment QwtPlotLegendItem::alignmentInCanvas ( ) const
Returns
Alignment flags
See also
setAlignmentInCanvas()

Definition at line 223 of file qwt_plot_legenditem.cpp.

◆ backgroundBrush()

QBrush QwtPlotLegendItem::backgroundBrush ( ) const
Returns
Brush is used to fill the background
See also
setBackgroundBrush(), backgroundMode(), drawBackground()

Definition at line 522 of file qwt_plot_legenditem.cpp.

◆ backgroundMode()

QwtPlotLegendItem::BackgroundMode QwtPlotLegendItem::backgroundMode ( ) const
Returns
backgroundMode
See also
setBackgroundMode(), backgroundBrush(), drawBackground()

Definition at line 550 of file qwt_plot_legenditem.cpp.

◆ borderPen()

QPen QwtPlotLegendItem::borderPen ( ) const
Returns
Pen for drawing the border
See also
setBorderPen(), backgroundBrush()

Definition at line 496 of file qwt_plot_legenditem.cpp.

◆ borderRadius()

double QwtPlotLegendItem::borderRadius ( ) const
Returns
Radius of the border
See also
setBorderRadius(), setBorderPen()

Definition at line 472 of file qwt_plot_legenditem.cpp.

◆ clearLegend()

void QwtPlotLegendItem::clearLegend ( )

Remove all items from the legend.

Definition at line 759 of file qwt_plot_legenditem.cpp.

◆ draw()

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

Draw the legend

Parameters
painterPainter
xMapx Scale Map
yMapy Scale Map
canvasRectContents rectangle of the canvas in painter coordinates

Implements QwtPlotItem.

Reimplemented in PlotLegend.

Definition at line 587 of file qwt_plot_legenditem.cpp.

◆ drawBackground()

void QwtPlotLegendItem::drawBackground ( QPainter *  painter,
const QRectF &  rect 
) const
protectedvirtual

Draw a rounded rect

Parameters
painterPainter
rectBounding rectangle
See also
setBorderRadius(), setBorderPen(), setBackgroundBrush(), setBackgroundMode()

Reimplemented in PlotLegend.

Definition at line 630 of file qwt_plot_legenditem.cpp.

◆ drawLegendData()

void QwtPlotLegendItem::drawLegendData ( QPainter *  painter,
const QwtPlotItem plotItem,
const QwtLegendData data,
const QRectF &  rect 
) const
protectedvirtual

Draw an entry on the legend

Parameters
painterQt Painter
plotItemPlot item, represented by the entry
dataAttributes of the legend entry
rectBounding rectangle for the entry

Reimplemented in PlotLegend.

Definition at line 780 of file qwt_plot_legenditem.cpp.

◆ font()

QFont QwtPlotLegendItem::font ( ) const
Returns
Font used for drawing the text label
See also
setFont()

Definition at line 389 of file qwt_plot_legenditem.cpp.

◆ geometry()

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

Calculate the geometry of the legend on the canvas

Parameters
canvasRectGeometry of the canvas
Returns
Geometry of the legend

Definition at line 650 of file qwt_plot_legenditem.cpp.

◆ heightForWidth()

int QwtPlotLegendItem::heightForWidth ( const QwtLegendData data,
int  width 
) const
virtual
Returns
The preferred height, for a width.
Parameters
dataAttributes of the legend entry
widthWidth

Definition at line 862 of file qwt_plot_legenditem.cpp.

◆ itemMargin()

int QwtPlotLegendItem::itemMargin ( ) const
Returns
Margin around each item
See also
setItemMargin(), itemSpacing(), margin(), spacing()

Definition at line 335 of file qwt_plot_legenditem.cpp.

◆ itemSpacing()

int QwtPlotLegendItem::itemSpacing ( ) const
Returns
Spacing inside of each item
See also
setItemSpacing(), itemMargin(), margin(), spacing()

Definition at line 363 of file qwt_plot_legenditem.cpp.

◆ legendGeometries()

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

Definition at line 895 of file qwt_plot_legenditem.cpp.

◆ margin()

int QwtPlotLegendItem::margin ( ) const
Returns
Margin around the legend items
See also
setMargin(), spacing(), itemMargin(), itemSpacing()

Definition at line 280 of file qwt_plot_legenditem.cpp.

◆ maxColumns()

uint QwtPlotLegendItem::maxColumns ( ) const
Returns
Maximum number of columns
See also
maxColumns(), QwtDynGridLayout::maxColumns()

Definition at line 251 of file qwt_plot_legenditem.cpp.

◆ minimumSize()

QSize QwtPlotLegendItem::minimumSize ( const QwtLegendData data) const
virtual

Minimum size hint needed to display an entry

Parameters
dataAttributes of the legend entry
Returns
Minimum size

Definition at line 823 of file qwt_plot_legenditem.cpp.

◆ offsetInCanvas()

int QwtPlotLegendItem::offsetInCanvas ( Qt::Orientation  orientation) const
Parameters
orientationQt::Horizontal is for the left/right, Qt::Vertical for the top/bottom padding.
Returns
Distance between the legend and the canvas border
See also
setOffsetInCanvas()

Definition at line 444 of file qwt_plot_legenditem.cpp.

◆ plotItems()

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

Definition at line 886 of file qwt_plot_legenditem.cpp.

◆ rtti()

int QwtPlotLegendItem::rtti ( ) const
virtual
Returns
QwtPlotItem::Rtti_PlotLegend

Reimplemented from QwtPlotItem.

Definition at line 192 of file qwt_plot_legenditem.cpp.

◆ setAlignmentInCanvas()

void QwtPlotLegendItem::setAlignmentInCanvas ( Qt::Alignment  alignment)

Set the alignmnet.

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

Parameters
alignmentAlignment flags
See also
alignmentInCanvas(), setMaxColumns()
Note
To align a legend with many items horizontally the number of columns need to be limited

Definition at line 210 of file qwt_plot_legenditem.cpp.

◆ setBackgroundBrush()

void QwtPlotLegendItem::setBackgroundBrush ( const QBrush &  brush)

Set the background brush.

The brush is used to fill the background

Parameters
brushBrush
See also
backgroundBrush(), setBackgroundMode(), drawBackground()

Definition at line 509 of file qwt_plot_legenditem.cpp.

◆ setBackgroundMode()

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

Definition at line 537 of file qwt_plot_legenditem.cpp.

◆ setBorderPen()

void QwtPlotLegendItem::setBorderPen ( const QPen &  pen)

Set the pen for drawing the border

Parameters
penBorder pen
See also
borderPen(), setBackgroundBrush()

Definition at line 483 of file qwt_plot_legenditem.cpp.

◆ setBorderRadius()

void QwtPlotLegendItem::setBorderRadius ( double  radius)

Set the radius for the border

Parameters
radiusA value <= 0 defines a rectangular border
See also
borderRadius(), setBorderPen()

Definition at line 457 of file qwt_plot_legenditem.cpp.

◆ setFont()

void QwtPlotLegendItem::setFont ( const QFont &  font)

Change the font used for drawing the text label

Parameters
fontLegend font
See also
font()

Definition at line 374 of file qwt_plot_legenditem.cpp.

◆ setItemMargin()

void QwtPlotLegendItem::setItemMargin ( int  margin)

Set the margin around each item

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

Definition at line 319 of file qwt_plot_legenditem.cpp.

◆ setItemSpacing()

void QwtPlotLegendItem::setItemSpacing ( int  spacing)

Set the spacing inside of each item

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

Definition at line 346 of file qwt_plot_legenditem.cpp.

◆ setMargin()

void QwtPlotLegendItem::setMargin ( int  margin)

Set the margin around legend items.

The default setting for the margin is 0.

Parameters
marginMargin in pixels
See also
margin(), setSpacing(), setItemMargin(), setItemSpacing

Definition at line 264 of file qwt_plot_legenditem.cpp.

◆ setMaxColumns()

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
maxColumnsMaximum number of columns. 0 means unlimited.
See also
maxColumns(), QwtDynGridLayout::setMaxColumns()

Definition at line 238 of file qwt_plot_legenditem.cpp.

◆ setOffsetInCanvas()

void QwtPlotLegendItem::setOffsetInCanvas ( Qt::Orientations  orientations,
int  numPixels 
)

Set the distance between the legend and the canvas border.

The default setting is 10 pixels.

Parameters
orientationsQt::Horizontal is for the left/right, Qt::Vertical for the top/bottom offset.
numPixelsDistance in pixels
See also
setMargin()

Definition at line 405 of file qwt_plot_legenditem.cpp.

◆ setSpacing()

void QwtPlotLegendItem::setSpacing ( int  spacing)

Set the spacing between the legend items.

Parameters
spacingSpacing in pixels
See also
spacing(), setMargin()

Definition at line 294 of file qwt_plot_legenditem.cpp.

◆ setTextPen()

void QwtPlotLegendItem::setTextPen ( const QPen &  pen)

Set the pen for drawing text labels.

Parameters
penText pen
See also
textPen(), setFont()

Definition at line 561 of file qwt_plot_legenditem.cpp.

◆ spacing()

int QwtPlotLegendItem::spacing ( ) const
Returns
Spacing between the legend items
See also
setSpacing(), margin(), itemSpacing(), itemMargin()

Definition at line 308 of file qwt_plot_legenditem.cpp.

◆ textPen()

QPen QwtPlotLegendItem::textPen ( ) const
Returns
Pen for drawing text labels
See also
setTextPen(), font()

Definition at line 574 of file qwt_plot_legenditem.cpp.

◆ updateLegend()

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

Update the legend items according to modifications of a plot item

Parameters
plotItemPlot item
dataAttributes of the legend entries

Reimplemented from QwtPlotItem.

Definition at line 697 of file qwt_plot_legenditem.cpp.

Member Data Documentation

◆ m_data

PrivateData* QwtPlotLegendItem::m_data
private

Definition at line 131 of file qwt_plot_legenditem.h.


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


plotjuggler
Author(s): Davide Faconti
autogenerated on Mon Nov 11 2024 03:23:50