# QwtPlotMarker Class Reference

A class for drawing markers. More...

`#include <qwt_plot_marker.h>`

Inheritance diagram for QwtPlotMarker:
[legend]

List of all members.

## Public Types

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

## Public Member Functions

void | attach (QwtPlot *plot)
virtual QwtDoubleRect | boundingRect () const
void | detach ()
virtual void | draw (QPainter *p, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRect &) const
void | hide ()
QwtDoubleRect | invTransform (const QwtScaleMap &, const QwtScaleMap &, const QRect &) const
bool | isVisible () const
virtual void | itemChanged ()
QwtText | label () const
Qt::Alignment | labelAlignment () const
Qt::Orientation | labelOrientation () const
virtual QWidget * | legendItem () const
const QPen & | linePen () const
LineStyle | lineStyle () const
QRect | paintRect (const QwtScaleMap &, const QwtScaleMap &) const
QwtPlot * | plot () const
| QwtPlotMarker ()
virtual int | rtti () const
QwtDoubleRect | scaleRect (const QwtScaleMap &, const QwtScaleMap &) const
void | setAxis (int xAxis, int yAxis)
void | setItemAttribute (ItemAttribute, bool on=true)
void | setLabel (const QwtText &)
void | setLabelAlignment (Qt::Alignment)
void | setLabelOrientation (Qt::Orientation)
void | setLinePen (const QPen &p)
void | setLineStyle (LineStyle st)
void | setRenderHint (RenderHint, bool on=true)
void | setSpacing (int)
void | setSymbol (const QwtSymbol &s)
void | setTitle (const QString &title)
void | setTitle (const QwtText &title)
void | setValue (double, double)
void | setValue (const QwtDoublePoint &)
virtual void | setVisible (bool)
void | setXAxis (int axis)
void | setXValue (double)
void | setYAxis (int axis)
void | setYValue (double)
void | setZ (double z)
void | show ()
int | spacing () const
const QwtSymbol & | symbol () const
bool | testItemAttribute (ItemAttribute) const
bool | testRenderHint (RenderHint) const
const QwtText & | title () const
QRect | transform (const QwtScaleMap &, const QwtScaleMap &, const QwtDoubleRect &) const
virtual void | updateLegend (QwtLegend *) const
virtual void | updateScaleDiv (const QwtScaleDiv &, const QwtScaleDiv &)
QwtDoublePoint | value () const
int | xAxis () const
double | xValue () const
int | yAxis () const
double | yValue () const
double | z () const
virtual | ~QwtPlotMarker ()

## Protected Member Functions

void | drawAt (QPainter *, const QRect &, const QPoint &) const

## Detailed Description

A class for drawing markers.

A marker can be a horizontal line, a vertical line, a symbol, a label or any combination of them, which can be drawn around a center point inside a bounding rectangle.

The QwtPlotMarker::setSymbol() member assigns a symbol to the marker. The symbol is drawn at the specified point.

With QwtPlotMarker::setLabel(), a label can be assigned to the marker. The QwtPlotMarker::setLabelAlignment() member specifies where the label is drawn. All the Align*-constants in Qt::AlignmentFlags (see Qt documentation) are valid. The interpretation of the alignment depends on the marker's line style. The alignment refers to the center point of the marker, which means, for example, that the label would be printed left above the center point if the alignment was set to AlignLeft|AlignTop.

## Member Enumeration Documentation

enum QwtPlotItem::ItemAttribute`[inherited]`

Plot Item Attributes

- Legend
  The item is represented on the legend.
- AutoScale
  The boundingRect() of the item is included in the autoscaling calculation.

See also:
  setItemAttribute(), testItemAttribute()

enum QwtPlotMarker::LineStyle

Line styles.

See also:
  setLineStyle(), lineStyle()

enum QwtPlotItem::RenderHint`[inherited]`

Render hints.

enum QwtPlotItem::RttiValues`[inherited]`

Runtime type information.

RttiValues is used to cast plot items, without having to enable runtime type information of the compiler.

## Constructor & Destructor Documentation

QwtPlotMarker::QwtPlotMarker | ( |  | ) | `[explicit]`

Sets alignment to Qt::AlignCenter, and style to NoLine.

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

Destructor.

## Member Function Documentation

void QwtPlotItem::attach | ( | QwtPlot * | plot | ) | `[inherited]`

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.

Parameters:

  plot | Plot widget

See also:
  QwtPlotItem::detach()

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

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

Reimplemented from QwtPlotItem.

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

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 )

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

Draw the marker

Parameters:

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

Implements QwtPlotItem.

void QwtPlotMarker::drawAt | ( | QPainter * | painter,
|  | const QRect & | canvasRect,
|  | const QPoint & | pos
| ) |  | const`[protected]`

Draw the marker at a specific position

Parameters:

  painter | Painter
  canvasRect | Contents rect of the canvas in painter coordinates
  pos | Position of the marker in painter coordinates

void QwtPlotItem::hide | ( |  | ) | `[inherited]`

Hide the item.

QwtDoubleRect QwtPlotItem::invTransform | ( | const QwtScaleMap & | xMap,
|  | const QwtScaleMap & | yMap,
|  | const QRect & | rect
| ) |  | const`[inherited]`

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

bool QwtPlotItem::isVisible | ( |  | ) | const`[inherited]`

Returns:
  true if visible

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

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

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

See also:
  updateLegend()

QwtText QwtPlotMarker::label | ( |  | ) | const

Returns:
  the label

See also:
  setLabel()

Qt::Alignment QwtPlotMarker::labelAlignment | ( |  | ) | const

Returns:
  the label alignment

See also:
  setLabelAlignment(), setLabelOrientation()

Qt::Orientation QwtPlotMarker::labelOrientation | ( |  | ) | const

Returns:
  the label orientation

See also:
  setLabelOrientation(), labelAlignment()

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

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.

const QPen & QwtPlotMarker::linePen | ( |  | ) | const

Returns:
  the line pen

See also:
  setLinePen()

QwtPlotMarker::LineStyle QwtPlotMarker::lineStyle | ( |  | ) | const

Returns:
  the line style

See also:
  For a description of line styles, see QwtPlotMarker::setLineStyle()

QRect QwtPlotItem::paintRect | ( | const QwtScaleMap & | xMap,
|  | const QwtScaleMap & | yMap
| ) |  | const`[inherited]`

Calculate the bounding paint rect of 2 maps.

Parameters:

  xMap | X map
  yMap | X map

Returns:
  Bounding rect of the scale maps

QwtPlot * QwtPlotItem::plot | ( |  | ) | const`[inherited]`

Return attached plot.

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

Returns:
  QwtPlotItem::Rtti_PlotMarker

Reimplemented from QwtPlotItem.

QwtDoubleRect QwtPlotItem::scaleRect | ( | const QwtScaleMap & | xMap,
|  | const QwtScaleMap & | yMap
| ) |  | const`[inherited]`

Calculate the bounding scale rect of 2 maps.

Parameters:

  xMap | X map
  yMap | X map

Returns:
  Bounding rect of the scale maps

void QwtPlotItem::setAxis | ( | int | xAxis,
|  | int | yAxis
| ) |  | `[inherited]`

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

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

Toggle an item attribute

Parameters:

  attribute | Attribute type
  on | true/false

See also:
  testItemAttribute(), ItemAttribute

void QwtPlotMarker::setLabel | ( | const QwtText & | label | ) |

Set the label.

Parameters:

  label | label text

See also:
  label()

void QwtPlotMarker::setLabelAlignment | ( | Qt::Alignment | align | ) |

Set the alignment of the label.

In case of QwtPlotMarker::HLine the alignment is relative to the y position of the marker, but the horizontal flags correspond to the canvas rectangle. In case of QwtPlotMarker::VLine the alignment is relative to the x position of the marker, but the vertical flags correspond to the canvas rectangle.

In all other styles the alignment is relative to the marker's position.

Parameters:

  align | Alignment. A combination of AlignTop, AlignBottom, AlignLeft, AlignRight, AlignCenter, AlgnHCenter, AlignVCenter.

See also:
  labelAlignment(), labelOrientation()

void QwtPlotMarker::setLabelOrientation | ( | Qt::Orientation | orientation | ) |

Set the orientation of the label.

When orientation is Qt::Vertical the label is rotated by 90.0 degrees ( from bottom to top ).

Parameters:

  orientation | Orientation of the label

See also:
  labelOrientation(), setLabelAlignment()

void QwtPlotMarker::setLinePen | ( | const QPen & | pen | ) |

Specify a pen for the line.

The width of non cosmetic pens is scaled according to the resolution of the paint device.

Parameters:

  pen | New pen

See also:
  linePen(), QwtPainter::scaledPen()

void QwtPlotMarker::setLineStyle | ( | QwtPlotMarker::LineStyle | st | ) |

Set the line style.

Parameters:

  st | Line style. Can be one of QwtPlotMarker::NoLine, HLine, VLine or Cross

See also:
  lineStyle()

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

Toggle an render hint

Parameters:

  hint | Render hint
  on | true/false

See also:
  testRenderHint(), RenderHint

void QwtPlotMarker::setSpacing | ( | int | spacing | ) |

Set the spacing.

When the label is not centered on the marker position, the spacing is the distance between the position and the label.

Parameters:

  spacing | Spacing

See also:
  spacing(), setLabelAlignment()

void QwtPlotMarker::setSymbol | ( | const QwtSymbol & | s | ) |

Assign a symbol.

Parameters:

  s | New symbol

See also:
  symbol()

void QwtPlotItem::setTitle | ( | const QString & | title | ) | `[inherited]`

Set a new title

Parameters:

  title | Title

See also:
  title()

void QwtPlotItem::setTitle | ( | const QwtText & | title | ) | `[inherited]`

Set a new title

Parameters:

  title | Title

See also:
  title()

void QwtPlotMarker::setValue | ( | const QwtDoublePoint & | pos | ) |

Set Value.

void QwtPlotMarker::setValue | ( | double | x,
|  | double | y
| ) |  |

Set Value.

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

Show/Hide the item

Parameters:

  on | Show if true, otherwise hide

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

void QwtPlotItem::setXAxis | ( | int | axis | ) | `[inherited]`

Set the X axis

The item will painted according to the coordinates its Axes.

Parameters:

  axis | X Axis

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

void QwtPlotMarker::setXValue | ( | double | x | ) |

Set X Value.

void QwtPlotItem::setYAxis | ( | int | axis | ) | `[inherited]`

Set the Y axis

The item will painted according to the coordinates its Axes.

Parameters:

  axis | Y Axis

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

void QwtPlotMarker::setYValue | ( | double | y | ) |

Set Y Value.

void QwtPlotItem::setZ | ( | double | z | ) | `[inherited]`

Set the z value.

Plot items are painted in increasing z-order.

Parameters:

  z | Z-value

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

void QwtPlotItem::show | ( |  | ) | `[inherited]`

Show the item.

int QwtPlotMarker::spacing | ( |  | ) | const

Returns:
  the spacing

See also:
  setSpacing()

const QwtSymbol & QwtPlotMarker::symbol | ( |  | ) | const

Returns:
  the symbol

See also:
  setSymbol(), QwtSymbol

bool QwtPlotItem::testItemAttribute | ( | ItemAttribute | attribute | ) | const`[inherited]`

Test an item attribute

Parameters:

  attribute | Attribute type

Returns:
  true/false

See also:
  setItemAttribute(), ItemAttribute

bool QwtPlotItem::testRenderHint | ( | RenderHint | hint | ) | const`[inherited]`

Test a render hint

Parameters:

  hint | Render hint

Returns:
  true/false

See also:
  setRenderHint(), RenderHint

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

Returns:
  Title of the item

See also:
  setTitle()

QRect QwtPlotItem::transform | ( | const QwtScaleMap & | xMap,
|  | const QwtScaleMap & | yMap,
|  | const QwtDoubleRect & | rect
| ) |  | const`[inherited]`

Transform a rectangle

Parameters:

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

Returns:
  Rectangle in paint coordinates

See also:
  invTransform()

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

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

Parameters:

  legend | Legend

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

Implements QwtLegendItemManager.

Reimplemented in QwtPlotCurve.

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

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.

QwtDoublePoint QwtPlotMarker::value | ( |  | ) | const

Return Value.

int QwtPlotItem::xAxis | ( |  | ) | const`[inherited]`

Return xAxis.

double QwtPlotMarker::xValue | ( |  | ) | const

Return x Value.

int QwtPlotItem::yAxis | ( |  | ) | const`[inherited]`

Return yAxis.

double QwtPlotMarker::yValue | ( |  | ) | const

Return y Value.

double QwtPlotItem::z | ( |  | ) | const`[inherited]`

Plot items are painted in increasing z-order.

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