# 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 = 0x01, AutoScale = 0x02 }
typedef QFlags< ItemAttribute > | ItemAttributes
enum | LineStyle { NoLine, HLine, VLine, Cross }
enum | RenderHint { RenderAntialiased = 1 }
typedef QFlags< RenderHint > | RenderHints
enum | RttiValues { Rtti_PlotItem = 0, Rtti_PlotGrid, Rtti_PlotScale, Rtti_PlotMarker, Rtti_PlotCurve, Rtti_PlotSpectroCurve, Rtti_PlotIntervalCurve, Rtti_PlotHistogram, Rtti_PlotSpectrogram, Rtti_PlotSVG, Rtti_PlotUserItem = 1000 }

## Public Member Functions

void | attach (QwtPlot *plot)
virtual QRectF | boundingRect () const
void | detach ()
virtual void | draw (QPainter *p, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &) const
virtual void | drawLegendIdentifier (QPainter *, const QRectF &) const
void | hide ()
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
QRectF | paintRect (const QwtScaleMap &, const QwtScaleMap &) const
QwtPlot * | plot () const
| QwtPlotMarker ()
virtual int | rtti () const
QRectF | scaleRect (const QwtScaleMap &, const QwtScaleMap &) const
void | setAxes (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 *)
void | setTitle (const QwtText &title)
void | setTitle (const QString &title)
void | setValue (double, double)
void | setValue (const QPointF &)
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
virtual void | updateLegend (QwtLegend *) const
virtual void | updateScaleDiv (const QwtScaleDiv &, const QwtScaleDiv &)
QPointF | value () const
int | xAxis () const
double | xValue () const
int | yAxis () const
double | yValue () const
double | z () const
virtual | ~QwtPlotMarker ()

## Protected Member Functions

virtual void | drawLabel (QPainter *, const QRectF &, const QPointF &) const
virtual void | drawLines (QPainter *, const QRectF &, const QPointF &) 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 setLabel(), a label can be assigned to the marker. The 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 Qt::AlignLeft | Qt::AlignTop.

## Member Typedef Documentation

typedef QFlags<ItemAttribute> QwtPlotItem::ItemAttributes`[inherited]`

Plot Item Attributes.

typedef QFlags<RenderHint> QwtPlotItem::RenderHints`[inherited]`

Render hints.

## Member Enumeration Documentation

enum QwtPlotItem::ItemAttribute`[inherited]`

Plot Item Attributes

See also:
  setItemAttribute(), testItemAttribute()

Enumerator:

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

enum QwtPlotMarker::LineStyle

Line styles.

See also:
  setLineStyle(), lineStyle()

Enumerator:

  NoLine | No line.
  HLine | A horizontal line.
  VLine | A vertical line.
  Cross | A crosshair.

enum QwtPlotItem::RenderHint`[inherited]`

Render hints.

Enumerator:

  RenderAntialiased | Enable antialiasing.

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 QwtPlotMarker::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:
  detach()

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

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

Reimplemented from QwtPlotItem.

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

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

detach() is equivalent to calling attach( NULL )

See also:
  attach()

void QwtPlotMarker::draw | ( | QPainter * | painter,
|  | const QwtScaleMap & | xMap,
|  | const QwtScaleMap & | yMap,
|  | const QRectF & | 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::drawLabel | ( | QPainter * | painter,
|  | const QRectF & | canvasRect,
|  | const QPointF & | pos
| ) |  | const`[protected, virtual]`

Align and draw the text label of the marker

Parameters:

  painter | Painter
  canvasRect | Contents rect of the canvas in painter coordinates
  pos | Position of the marker, translated into widget coordinates

See also:
  drawLabel(), QwtSymbol::drawSymbol()

void QwtPlotMarker::drawLegendIdentifier | ( | QPainter * | painter,
|  | const QRectF & | rect
| ) |  | const`[virtual]`

Draw the identifier representing the marker on the legend.

Parameters:

  painter | Painter
  rect | Bounding rectangle for the identifier

See also:
  updateLegend(), QwtPlotItem::Legend

Reimplemented from QwtLegendItemManager.

void QwtPlotMarker::drawLines | ( | QPainter * | painter,
|  | const QRectF & | canvasRect,
|  | const QPointF & | pos
| ) |  | const`[protected, virtual]`

Draw the lines marker

Parameters:

  painter | Painter
  canvasRect | Contents rect of the canvas in painter coordinates
  pos | Position of the marker, translated into widget coordinates

See also:
  drawLabel(), QwtSymbol::drawSymbol()

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

Hide the item.

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

QRectF 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 paint rect of the scale maps, normalized

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

Return attached plot.

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

Returns:
  QwtPlotItem::Rtti_PlotMarker

Reimplemented from QwtPlotItem.

QRectF 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 scale rect of the scale maps, normalized

void QwtPlotItem::setAxes | ( | 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.

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.

Parameters:

  pen | New pen

See also:
  linePen()

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

Set the line style.

Parameters:

  style | Line style.

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 * | symbol | ) |

Assign a symbol.

Parameters:

  symbol | 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 QPointF & | 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:
  setAxes(), 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:
  setAxes(), 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()

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

Update the widget that represents the item on the legend.

Parameters:

  legend | Legend

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

Note:
  In the default setting QwtPlotItem::Legend is disabled

Reimplemented from QwtPlotItem.

void QwtPlotItem::updateScaleDiv | ( | const QwtScaleDiv & | xScaleDiv,
|  | const QwtScaleDiv & | yScaleDiv
| ) |  | `[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, QwtPlotScaleItem, QwtPlotSeriesItem< T >, QwtPlotSeriesItem< QwtIntervalSample >, QwtPlotSeriesItem< QPointF >, and QwtPlotSeriesItem< QwtPoint3D >.

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