# QwtPlotItem Class Reference

Inheritance diagram for QwtPlotItem:

[legend]
Collaboration diagram for QwtPlotItem:

[legend]
List of all members.

## Detailed Description

Base class for items on the plot canvas.

Definition at line 31 of file qwt_plot_item.h.

## Public Types

enum | RttiValues { Rtti_PlotItem = 0, Rtti_PlotGrid, Rtti_PlotScale, Rtti_PlotMarker, Rtti_PlotCurve, Rtti_PlotHistogram, Rtti_PlotSpectrogram, Rtti_PlotSVG, Rtti_PlotUserItem = 1000 }
enum | ItemAttribute { Legend = 1, AutoScale = 2 }
enum | RenderHint { RenderAntialiased = 1 }

## Public Member Functions

| QwtPlotItem (const QwtText &title=QwtText())
virtual | ~QwtPlotItem ()
void | attach (QwtPlot *plot)
void | detach ()
QwtPlot * | plot () const
void | setTitle (const QString &title)
void | setTitle (const QwtText &title)
const QwtText & | title () const
virtual int | rtti () const
void | setItemAttribute (ItemAttribute, bool on=true)
bool | testItemAttribute (ItemAttribute) const
void | setRenderHint (RenderHint, bool on=true)
bool | testRenderHint (RenderHint) const
double | z () const
void | setZ (double z)
void | show ()
void | hide ()
virtual void | setVisible (bool)
bool | isVisible () const
void | setAxis (int xAxis, int yAxis)
void | setXAxis (int axis)
int | xAxis () const
void | setYAxis (int axis)
int | yAxis () const
virtual void | itemChanged ()
virtual void | draw (QPainter *painter, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRect &canvasRect) const=0
virtual QwtDoubleRect | boundingRect () const
virtual void | updateLegend (QwtLegend *) const
virtual void | updateScaleDiv (const QwtScaleDiv &, const QwtScaleDiv &)
virtual QWidget * | legendItem () const
QwtDoubleRect | scaleRect (const QwtScaleMap &, const QwtScaleMap &) const
QRect | paintRect (const QwtScaleMap &, const QwtScaleMap &) const
QRect | transform (const QwtScaleMap &, const QwtScaleMap &, const QwtDoubleRect &) const
QwtDoubleRect | invTransform (const QwtScaleMap &, const QwtScaleMap &, const QRect &) const

## Constructor & Destructor Documentation

QwtPlotItem::QwtPlotItem | ( | const QwtText & | title = `QwtText()` | ) | `[explicit]`

Constructor.

Definition at line 48 of file qwt_plot_item.cpp.

References title().

QwtPlotItem::~QwtPlotItem | ( |  | ) | `[virtual]`

Destroy the QwtPlotItem.

Definition at line 55 of file qwt_plot_item.cpp.

References attach().

## Member Function Documentation

void QwtPlotItem::attach | ( | QwtPlot * | plot | ) |

Attach the item to a plot.

This method will attach a QwtPlotItem to the QwtPlot argument. It will first detach the QwtPlotItem from any plot from a previous call to attach (if necessary). If a NULL argument is passed, it will detach from any QwtPlot it was attached to.

See also:
  QwtPlotItem::detach()

Definition at line 71 of file qwt_plot_item.cpp.

References itemChanged(), legendItem(), and plot().

Referenced by ~QwtPlotItem().

void QwtPlotItem::detach | ( |  | ) | `[inline]`

This method detaches a QwtPlotItem from any QwtPlot it has been associated with.

detach() is equivalent to calling attach( NULL )

See also:
  attach( QwtPlot* plot )

Definition at line 74 of file qwt_plot_item.h.

QwtPlot * QwtPlotItem::plot | ( |  | ) | const

Return attached plot.

Definition at line 122 of file qwt_plot_item.cpp.

Referenced by attach(), QwtPlotCurve::closestPoint(), QwtPlotCurve::draw(), QwtPlotScaleItem::setScaleDivFromAxis(), and QwtPlotScaleItem::setScaleDraw().

void QwtPlotItem::setTitle | ( | const QString & | title | ) |

Set a new title

Parameters:

  | title | Title

See also:
  title()

Definition at line 166 of file qwt_plot_item.cpp.

void QwtPlotItem::setTitle | ( | const QwtText & | title | ) |

Set a new title

Parameters:

  | title | Title

See also:
  title()

Definition at line 177 of file qwt_plot_item.cpp.

References itemChanged(), and title().

const QwtText & QwtPlotItem::title | ( |  | ) | const

Returns:
  Title of the item

See also:
  setTitle()

Definition at line 190 of file qwt_plot_item.cpp.

Referenced by QwtPlotItem(), setTitle(), and QwtPlotCurve::updateLegend().

int QwtPlotItem::rtti | ( |  | ) | const`[virtual]`

Return rtti for the specific class represented. QwtPlotItem is simply a virtual interface class, and base classes will implement this method with specific rtti values so a user can differentiate them.

The rtti value is useful for environments, where the runtime type information is disabled and it is not possible to do a dynamic_cast<...>.

Returns:
  rtti value

See also:
  RttiValues

Reimplemented in QwtPlotCurve, QwtPlotGrid, QwtPlotMarker, QwtPlotScaleItem, QwtPlotSpectrogram, and QwtPlotSvgItem.

Definition at line 116 of file qwt_plot_item.cpp.

Referenced by QwtPlotPrintFilter::apply(), and QwtPlotPrintFilter::reset().

void QwtPlotItem::setItemAttribute | ( | ItemAttribute | attribute,
|  | bool | on = `true` |
| ) |  |  |

Toggle an item attribute

Parameters:

  | attribute | Attribute type
  | on | true/false

See also:
  testItemAttribute(), ItemAttribute

Definition at line 203 of file qwt_plot_item.cpp.

References itemChanged().

Referenced by QwtPlotCurve::init(), and QwtPlotSpectrogram::QwtPlotSpectrogram().

bool QwtPlotItem::testItemAttribute | ( | ItemAttribute | attribute | ) | const

Test an item attribute

Parameters:

  | ItemAttribute | Attribute type

Returns:
  true/false

See also:
  setItemAttribute(), ItemAttribute

Definition at line 223 of file qwt_plot_item.cpp.

Referenced by updateLegend().

void QwtPlotItem::setRenderHint | ( | RenderHint | hint,
|  | bool | on = `true` |
| ) |  |  |

Toggle an render hint

Parameters:

  | hint | Render hint
  | on | true/false

See also:
  testRenderHint(), RenderHint

Definition at line 238 of file qwt_plot_item.cpp.

References itemChanged().

bool QwtPlotItem::testRenderHint | ( | RenderHint | hint | ) | const

Test a render hint

Parameters:

  | hint | Render hint

Returns:
  true/false

See also:
  setRenderHint(), RenderHint

Definition at line 258 of file qwt_plot_item.cpp.

double QwtPlotItem::z | ( |  | ) | const

Plot items are painted in increasing z-order.

Returns:
  setZ(), QwtPlotDict::itemList()

Definition at line 132 of file qwt_plot_item.cpp.

void QwtPlotItem::setZ | ( | double | z | ) |

Set the z value.

Plot items are painted in increasing z-order.

Parameters:

  | z | Z-value

See also:
  z(), QwtPlotDict::itemList()

Definition at line 145 of file qwt_plot_item.cpp.

References itemChanged().

Referenced by QwtPlotCurve::init(), QwtPlotGrid::QwtPlotGrid(), QwtPlotMarker::QwtPlotMarker(), QwtPlotScaleItem::QwtPlotScaleItem(), and QwtPlotSpectrogram::QwtPlotSpectrogram().

void QwtPlotItem::show | ( |  | ) |

Show the item.

Definition at line 266 of file qwt_plot_item.cpp.

References setVisible().

void QwtPlotItem::hide | ( |  | ) |

Hide the item.

Definition at line 272 of file qwt_plot_item.cpp.

References setVisible().

void QwtPlotItem::setVisible | ( | bool | on | ) | `[virtual]`

Show/Hide the item

Parameters:

  | on | Show if true, otherwise hide

See also:
  isVisible(), show(), hide()

Definition at line 283 of file qwt_plot_item.cpp.

References itemChanged().

Referenced by hide(), and show().

bool QwtPlotItem::isVisible | ( |  | ) | const

Returns:
  true if visible

See also:
  setVisible(), show(), hide()

Definition at line 296 of file qwt_plot_item.cpp.

void QwtPlotItem::setAxis | ( | int | xAxis,
|  | int | yAxis |
| ) |  |  |

Set X and Y axis

The item will painted according to the coordinates its Axes.

Parameters:

  | xAxis | X Axis
  | yAxis | Y Axis

See also:
  setXAxis(), setYAxis(), xAxis(), yAxis()

Definition at line 328 of file qwt_plot_item.cpp.

References itemChanged().

void QwtPlotItem::setXAxis | ( | int | axis | ) |

Set the X axis

The item will painted according to the coordinates its Axes.

Parameters:

  | axis | X Axis

See also:
  setAxis(), setYAxis(), xAxis()

Definition at line 347 of file qwt_plot_item.cpp.

References itemChanged().

int QwtPlotItem::xAxis | ( |  | ) | const

Return xAxis.

Definition at line 374 of file qwt_plot_item.cpp.

Referenced by QwtPlotCurve::closestPoint(), QwtPlotCurve::draw(), QwtPlotScaleItem::setScaleDivFromAxis(), and QwtPlotScaleItem::setScaleDraw().

void QwtPlotItem::setYAxis | ( | int | axis | ) |

Set the Y axis

The item will painted according to the coordinates its Axes.

Parameters:

  | axis | Y Axis

See also:
  setAxis(), setXAxis(), yAxis()

Definition at line 364 of file qwt_plot_item.cpp.

References itemChanged().

int QwtPlotItem::yAxis | ( |  | ) | const

Return yAxis.

Definition at line 380 of file qwt_plot_item.cpp.

Referenced by QwtPlotCurve::closestPoint(), QwtPlotCurve::draw(), QwtPlotScaleItem::setScaleDivFromAxis(), and QwtPlotScaleItem::setScaleDraw().

void QwtPlotItem::itemChanged | ( |  | ) | `[virtual]`

Update the legend and call QwtPlot::autoRefresh for the parent plot.

See also:
  updateLegend()

Definition at line 307 of file qwt_plot_item.cpp.

References updateLegend().

Referenced by attach(), QwtPlotGrid::enableX(), QwtPlotGrid::enableXMin(), QwtPlotGrid::enableY(), QwtPlotGrid::enableYMin(), QwtPlotSvgItem::loadData(), QwtPlotSvgItem::loadFile(), QwtPlotScaleItem::setAlignment(), QwtPlotRasterItem::setAlpha(), setAxis(), QwtPlotCurve::setBaseline(), QwtPlotScaleItem::setBorderDistance(), QwtPlotCurve::setBrush(), QwtPlotRasterItem::setCachePolicy(), QwtPlotSpectrogram::setColorMap(), QwtPlotSpectrogram::setConrecAttribute(), QwtPlotSpectrogram::setContourLevels(), QwtPlotCurve::setCurveAttribute(), QwtPlotCurve::setCurveFitter(), QwtPlotCurve::setCurveType(), QwtPlotSpectrogram::setData(), QwtPlotCurve::setData(), QwtPlotSpectrogram::setDefaultContourPen(), QwtPlotSpectrogram::setDisplayMode(), QwtPlotScaleItem::setFont(), setItemAttribute(), QwtPlotMarker::setLabel(), QwtPlotMarker::setLinePen(), QwtPlotMarker::setLineStyle(), QwtPlotGrid::setMajPen(), QwtPlotGrid::setMinPen(), QwtPlotScaleItem::setPalette(), QwtPlotGrid::setPen(), QwtPlotCurve::setPen(), QwtPlotScaleItem::setPosition(), QwtPlotCurve::setRawData(), setRenderHint(), QwtPlotScaleItem::setScaleDivFromAxis(), QwtPlotScaleItem::setScaleDraw(), QwtPlotCurve::setStyle(), QwtPlotMarker::setSymbol(), QwtPlotCurve::setSymbol(), setTitle(), QwtPlotMarker::setValue(), setVisible(), setXAxis(), QwtPlotGrid::setXDiv(), setYAxis(), QwtPlotGrid::setYDiv(), and setZ().

virtual void QwtPlotItem::draw | ( | QPainter * | painter,
|  | const QwtScaleMap & | xMap,
|  | const QwtScaleMap & | yMap,
|  | const QRect & | canvasRect |
| ) |  |  | const`[pure virtual]`

Draw the item.

Parameters:

  | painter | Painter
  | xMap | Maps x-values into pixel coordinates.
  | yMap | Maps y-values into pixel coordinates.
  | canvasRect | Contents rect of the canvas in painter coordinates

Implemented in QwtPlotCurve, QwtPlotGrid, QwtPlotMarker, QwtPlotRasterItem, QwtPlotScaleItem, QwtPlotSpectrogram, and QwtPlotSvgItem.

QwtDoubleRect QwtPlotItem::boundingRect | ( |  | ) | const`[virtual]`

Returns:
  An invalid bounding rect: QwtDoubleRect(1.0, 1.0, -2.0, -2.0)

Reimplemented in QwtPlotCurve, QwtPlotMarker, QwtPlotSpectrogram, and QwtPlotSvgItem.

Definition at line 388 of file qwt_plot_item.cpp.

Referenced by QwtPlotRasterItem::draw(), QwtPlotCurve::maxXValue(), QwtPlotCurve::maxYValue(), QwtPlotCurve::minXValue(), and QwtPlotCurve::minYValue().

void QwtPlotItem::updateLegend | ( | QwtLegend * | legend | ) | const`[virtual]`

Update the widget that represents the item on the legend.

updateLegend() is called from itemChanged() to adopt the widget representing the item on the legend to its new configuration.

The default implementation is made for QwtPlotCurve and updates a QwtLegendItem(), but an item could be represented by any type of widget, by overloading legendItem() and updateLegend().

See also:
  legendItem(), itemChanged(), QwtLegend()

Implements QwtLegendItemManager.

Reimplemented in QwtPlotCurve.

Definition at line 420 of file qwt_plot_item.cpp.

References QwtLegend::find(), QwtLegend::insert(), QwtLegend::itemMode(), legendItem(), and testItemAttribute().

Referenced by itemChanged(), and QwtPlotCurve::updateLegend().

void QwtPlotItem::updateScaleDiv | ( | const QwtScaleDiv & | ,
|  | const QwtScaleDiv & |  |
| ) |  |  | `[virtual]`

Update the item to changes of the axes scale division.

Update the item, when the axes of plot have changed. The default implementation does nothing, but items that depend on the scale division (like QwtPlotGrid()) have to reimplement updateScaleDiv()

Parameters:

  | xScaleDiv | Scale division of the x-axis
  | yScaleDiv | Scale division of the y-axis

See also:
  QwtPlot::updateAxes()

Reimplemented in QwtPlotGrid, and QwtPlotScaleItem.

Definition at line 475 of file qwt_plot_item.cpp.

QWidget * QwtPlotItem::legendItem | ( |  | ) | const`[virtual]`

Allocate the widget that represents the item on the legend.

The default implementation is made for QwtPlotCurve and returns a QwtLegendItem(), but an item could be represented by any type of widget, by overloading legendItem() and updateLegend().

Returns:
  QwtLegendItem()

See also:
  updateLegend() QwtLegend()

Implements QwtLegendItemManager.

Definition at line 403 of file qwt_plot_item.cpp.

Referenced by attach(), updateLegend(), and QwtPlotCurve::updateLegend().

QwtDoubleRect QwtPlotItem::scaleRect | ( | const QwtScaleMap & | xMap,
|  | const QwtScaleMap & | yMap |
| ) |  |  | const

Calculate the bounding scale rect of 2 maps.

Parameters:

  | xMap | X map
  | yMap | X map

Returns:
  Bounding rect of the scale maps

Definition at line 488 of file qwt_plot_item.cpp.

References QwtScaleMap::s1(), and QwtScaleMap::sDist().

QRect QwtPlotItem::paintRect | ( | const QwtScaleMap & | xMap,
|  | const QwtScaleMap & | yMap |
| ) |  |  | const

Calculate the bounding paint rect of 2 maps.

Parameters:

  | xMap | X map
  | yMap | X map

Returns:
  Bounding rect of the scale maps

Definition at line 503 of file qwt_plot_item.cpp.

References QwtScaleMap::p1(), and QwtScaleMap::pDist().

Referenced by QwtPlotRasterItem::draw().

QRect QwtPlotItem::transform | ( | const QwtScaleMap & | xMap,
|  | const QwtScaleMap & | yMap,
|  | const QwtDoubleRect & | rect |
| ) |  |  | const

Transform a rectangle

Parameters:

  | xMap | X map
  | yMap | Y map
  | rect | Rectangle in scale coordinates

Returns:
  Rectangle in paint coordinates

See also:
  invTransform()

Definition at line 522 of file qwt_plot_item.cpp.

References QwtScaleMap::transform().

Referenced by QwtPlotSvgItem::draw(), QwtPlotSpectrogram::draw(), QwtPlotRasterItem::draw(), and QwtPlotSpectrogram::renderImage().

QwtDoubleRect QwtPlotItem::invTransform | ( | const QwtScaleMap & | xMap,
|  | const QwtScaleMap & | yMap,
|  | const QRect & | rect |
| ) |  |  | const

Transform a rectangle from paint to scale coordinates

Parameters:

  | xMap | X map
  | yMap | Y map
  | rect | Rectangle in paint coordinates

Returns:
  Rectangle in scale coordinates

See also:
  transform()

Definition at line 547 of file qwt_plot_item.cpp.

References QwtScaleMap::invTransform().

Referenced by QwtPlotSvgItem::draw(), QwtPlotSpectrogram::draw(), and QwtPlotRasterItem::draw().