Qwt User's Guide
QwtPlotMarker Class Reference

A class for drawing markers. More...

#include <qwt_plot_marker.h>

Inheritance diagram for QwtPlotMarker:

Public Types

enum  LineStyle { NoLine, HLine, VLine, Cross }

Public Member Functions

 QwtPlotMarker (const QString &title=QString::null)
 Sets alignment to Qt::AlignCenter, and style to QwtPlotMarker::NoLine.
 QwtPlotMarker (const QwtText &title)
 Sets alignment to Qt::AlignCenter, and style to QwtPlotMarker::NoLine.
virtual ~QwtPlotMarker ()
 Destructor.
virtual int rtti () const
double xValue () const
 Return x Value.
double yValue () const
 Return y Value.
QPointF value () const
 Return Value.
void setXValue (double)
 Set X Value.
void setYValue (double)
 Set Y Value.
void setValue (double, double)
 Set Value.
void setValue (const QPointF &)
 Set Value.
void setLineStyle (LineStyle st)
 Set the line style.
LineStyle lineStyle () const
void setLinePen (const QColor &, qreal width=0.0, Qt::PenStyle=Qt::SolidLine)
void setLinePen (const QPen &p)
const QPen & linePen () const
void setSymbol (const QwtSymbol *)
 Assign a symbol.
const QwtSymbolsymbol () const
void setLabel (const QwtText &)
 Set the label.
QwtText label () const
void setLabelAlignment (Qt::Alignment)
 Set the alignment of the label.
Qt::Alignment labelAlignment () const
void setLabelOrientation (Qt::Orientation)
 Set the orientation of the label.
Qt::Orientation labelOrientation () const
void setSpacing (int)
 Set the spacing.
int spacing () const
virtual void draw (QPainter *p, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &) const
virtual QRectF boundingRect () const
virtual QwtGraphic legendIcon (int index, const QSizeF &) const

Protected Member Functions

virtual void drawLines (QPainter *, const QRectF &, const QPointF &) const
virtual void drawLabel (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 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.

Note:
QwtPlotTextLabel is intended to align a text label according to the geometry of canvas ( unrelated to plot coordinates )

Member Enumeration Documentation

Line styles.

See also:
setLineStyle(), lineStyle()
Enumerator:
NoLine 

No line.

HLine 

A horizontal line.

VLine 

A vertical line.

Cross 

A crosshair.


Member Function Documentation

QRectF QwtPlotMarker::boundingRect ( ) const [virtual]
Returns:
An invalid bounding rect: QRectF(1.0, 1.0, -2.0, -2.0)
Note:
A width or height < 0.0 is ignored by the autoscaler

Reimplemented from QwtPlotItem.

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

Draw the marker

Parameters:
painterPainter
xMapx Scale Map
yMapy Scale Map
canvasRectContents rectangle 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:
painterPainter
canvasRectContents rectangle of the canvas in painter coordinates
posPosition of the marker, translated into widget coordinates
See also:
drawLabel(), QwtSymbol::drawSymbol()
void QwtPlotMarker::drawLines ( QPainter *  painter,
const QRectF &  canvasRect,
const QPointF &  pos 
) const [protected, virtual]

Draw the lines marker

Parameters:
painterPainter
canvasRectContents rectangle of the canvas in painter coordinates
posPosition of the marker, translated into widget coordinates
See also:
drawLabel(), QwtSymbol::drawSymbol()
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()
QwtGraphic QwtPlotMarker::legendIcon ( int  index,
const QSizeF &  size 
) const [virtual]
Returns:
Icon representing the marker on the legend
Parameters:
indexIndex of the legend entry ( usually there is only one )
sizeIcon size
See also:
setLegendIconSize(), legendData()

Reimplemented from QwtPlotItem.

const QPen & QwtPlotMarker::linePen ( ) const
Returns:
the line pen
See also:
setLinePen()
Returns:
the line style
See also:
setLineStyle()
int QwtPlotMarker::rtti ( ) const [virtual]
Returns:
QwtPlotItem::Rtti_PlotMarker

Reimplemented from QwtPlotItem.

void QwtPlotMarker::setLabel ( const QwtText label)

Set the label.

Parameters:
labelLabel 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:
alignAlignment.
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:
orientationOrientation of the label
See also:
labelOrientation(), setLabelAlignment()
void QwtPlotMarker::setLinePen ( const QColor &  color,
qreal  width = 0.0,
Qt::PenStyle  style = Qt::SolidLine 
)

Build and assign a line pen

In Qt5 the default pen width is 1.0 ( 0.0 in Qt4 ) what makes it non cosmetic ( see QPen::isCosmetic() ). This method has been introduced to hide this incompatibility.

Parameters:
colorPen color
widthPen width
stylePen style
See also:
pen(), brush()
void QwtPlotMarker::setLinePen ( const QPen &  pen)

Specify a pen for the line.

Parameters:
penNew pen
See also:
linePen()

Set the line style.

Parameters:
styleLine style.
See also:
lineStyle()
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:
spacingSpacing
See also:
spacing(), setLabelAlignment()
void QwtPlotMarker::setSymbol ( const QwtSymbol symbol)

Assign a symbol.

Parameters:
symbolNew symbol
See also:
symbol()
int QwtPlotMarker::spacing ( ) const
Returns:
the spacing
See also:
setSpacing()
const QwtSymbol * QwtPlotMarker::symbol ( ) const
Returns:
the symbol
See also:
setSymbol(), QwtSymbol

List of all members.

 All Classes Functions Variables Typedefs Enumerations Enumerator