Qwt User's Guide: QwtPlotShapeItem Class Reference

Qwt User's Guide 6.3.0

Loading...
Searching...
No Matches
Public Types | Public Member Functions | List of all members
QwtPlotShapeItem Class Reference

A plot item, which displays any graphical shape, that can be defined by a QPainterPath. More...

`#include <qwt_plot_shapeitem.h>`

Inheritance diagram for QwtPlotShapeItem:

## Public Types
enum | PaintAttribute { ClipPolygons = 0x01 }
enum | LegendMode { LegendShape , LegendColor }
| Mode how to display the item on the legend. More...
typedef QFlags< PaintAttribute > | PaintAttributes
Public Types inherited from QwtPlotItem
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...
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...
typedef QFlags< ItemAttribute > | ItemAttributes
typedef QFlags< ItemInterest > | ItemInterests
typedef QFlags< RenderHint > | RenderHints

## Public Member Functions
| QwtPlotShapeItem (const QString &title=QString())
| Constructor.
| QwtPlotShapeItem (const QwtText &title)
| Constructor.
virtual | ~QwtPlotShapeItem ()
| Destructor.
void | setPaintAttribute (PaintAttribute, bool on=true)
bool | testPaintAttribute (PaintAttribute) const
void | setLegendMode (LegendMode)
LegendMode | legendMode () const
void | setRect (const QRectF &)
| Set a path built from a rectangle.
void | setPolygon (const QPolygonF &)
| Set a path built from a polygon.
void | setShape (const QPainterPath &)
| Set the shape to be displayed.
QPainterPath | shape () const
void | setPen (const QColor &, qreal width=0.0, Qt::PenStyle=Qt::SolidLine)
void | setPen (const QPen &)
| Assign a pen.
QPen | pen () const
void | setBrush (const QBrush &)
QBrush | brush () const
void | setRenderTolerance (double)
| Set the tolerance for the weeding optimization.
double | renderTolerance () const
virtual QRectF | boundingRect () const override
| Bounding rectangle of the shape.
virtual void | draw (QPainter *, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect) const override
virtual QwtGraphic | legendIcon (int index, const QSizeF &) const override
virtual int | rtti () const override
Public Member Functions inherited from QwtPlotItem
| QwtPlotItem ()
| QwtPlotItem (const QString &title)
| QwtPlotItem (const QwtText &title)
virtual | ~QwtPlotItem ()
| Destroy the QwtPlotItem.
void | attach (QwtPlot *plot)
| Attach the item to a plot.
void | detach ()
| This method detaches a QwtPlotItem from any QwtPlot it has been associated with.
QwtPlot * | plot () const
| Return attached plot.
void | setTitle (const QString &title)
void | setTitle (const QwtText &title)
const QwtText & | title () const
void | setItemAttribute (ItemAttribute, bool on=true)
bool | testItemAttribute (ItemAttribute) const
void | setItemInterest (ItemInterest, bool on=true)
bool | testItemInterest (ItemInterest) const
void | setRenderHint (RenderHint, bool on=true)
bool | testRenderHint (RenderHint) const
void | setRenderThreadCount (uint numThreads)
uint | renderThreadCount () const
void | setLegendIconSize (const QSize &)
QSize | legendIconSize () const
double | z () const
void | setZ (double z)
| Set the z value.
void | show ()
| Show the item.
void | hide ()
| Hide the item.
virtual void | setVisible (bool)
bool | isVisible () const
void | setAxes (QwtAxisId xAxis, QwtAxisId yAxis)
void | setXAxis (QwtAxisId)
QwtAxisId | xAxis () const
| Return xAxis.
void | setYAxis (QwtAxisId)
QwtAxisId | yAxis () const
| Return yAxis.
virtual void | itemChanged ()
virtual void | legendChanged ()
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.
virtual void | updateScaleDiv (const QwtScaleDiv &, const QwtScaleDiv &)
| Update the item to changes of the axes scale division.
virtual void | updateLegend (const QwtPlotItem *, const QList< QwtLegendData > &)
| Update the item to changes of the legend info.
QRectF | scaleRect (const QwtScaleMap &, const QwtScaleMap &) const
| Calculate the bounding scale rectangle of 2 maps.
QRectF | paintRect (const QwtScaleMap &, const QwtScaleMap &) const
| Calculate the bounding paint rectangle of 2 maps.
virtual QList< QwtLegendData > | legendData () const
| Return all information, that is needed to represent the item on the legend.

## Additional Inherited Members
Protected Member Functions inherited from QwtPlotItem
QwtGraphic | defaultIcon (const QBrush &, const QSizeF &) const
| Return a default icon from a brush.

## Detailed Description

A plot item, which displays any graphical shape, that can be defined by a QPainterPath.

A QPainterPath is a shape composed from intersecting and uniting regions, rectangles, ellipses or irregular areas defined by lines, and curves. QwtPlotShapeItem displays a shape with a pen and brush.

QwtPlotShapeItem offers a couple of optimizations like clipping or weeding. These algorithms need to convert the painter path into polygons that might be less performant for paths built from curves and ellipses.

More complex shapes, that can't be expressed by a QPainterPath can be displayed using QwtPlotGraphicItem.

See also
  QwtPlotZone, QwtPlotGraphicItem

Definition at line 38 of file qwt_plot_shapeitem.h.

## Member Typedef Documentation

## ◆ PaintAttributes

typedef QFlags<PaintAttribute > QwtPlotShapeItem::PaintAttributes

An ORed combination of PaintAttribute values.

Definition at line 61 of file qwt_plot_shapeitem.h.

## Member Enumeration Documentation

## ◆ LegendMode

enum QwtPlotShapeItem::LegendMode

Mode how to display the item on the legend.

Enumerator
LegendShape | Display a scaled down version of the shape.
LegendColor | Display a filled rectangle.

Definition at line 64 of file qwt_plot_shapeitem.h.

## ◆ PaintAttribute

enum QwtPlotShapeItem::PaintAttribute

Attributes to modify the drawing algorithm. The default disables all attributes

See also
  setPaintAttribute(), testPaintAttribute()

Enumerator
ClipPolygons | Clip polygons before painting them. In situations, where points are far outside the visible area (f.e when zooming deep) this might be a substantial improvement for the painting performance But polygon clipping will convert the painter path into polygons what might introduce a negative impact on the performance of paths composed from curves or ellipses.

Definition at line 47 of file qwt_plot_shapeitem.h.

## Constructor & Destructor Documentation

## ◆ QwtPlotShapeItem() [1/2]

QwtPlotShapeItem::QwtPlotShapeItem | ( | const QString & | title = QString() | ) |
| explicit

Constructor.

Sets the following item attributes:

- QwtPlotItem::AutoScale: true
- QwtPlotItem::Legend: false

Parameters

  title | Title

Definition at line 112 of file qwt_plot_shapeitem.cpp.

## ◆ QwtPlotShapeItem() [2/2]

QwtPlotShapeItem::QwtPlotShapeItem | ( | const QwtText & | title | ) |
| explicit

Constructor.

Sets the following item attributes:

- QwtPlotItem::AutoScale: true
- QwtPlotItem::Legend: false

Parameters

  title | Title

Definition at line 127 of file qwt_plot_shapeitem.cpp.

## ◆ ~QwtPlotShapeItem()

QwtPlotShapeItem::~QwtPlotShapeItem | ( |  | ) |
| virtual

Destructor.

Definition at line 134 of file qwt_plot_shapeitem.cpp.

## Member Function Documentation

## ◆ boundingRect()

QRectF QwtPlotShapeItem::boundingRect | ( |  | ) | const
| overridevirtual

Bounding rectangle of the shape.

Reimplemented from QwtPlotItem.

Definition at line 205 of file qwt_plot_shapeitem.cpp.

## ◆ brush()

QBrush QwtPlotShapeItem::brush | ( |  | ) | const

Returns
  Brush used to fill the shape

See also
  setBrush(), pen()

Definition at line 336 of file qwt_plot_shapeitem.cpp.

## ◆ draw()

void QwtPlotShapeItem::draw | ( | QPainter * | painter,
|  | const QwtScaleMap & | xMap,
|  | const QwtScaleMap & | yMap,
|  | const QRectF & | canvasRect ) const
| overridevirtual

Draw the shape item

Parameters

  painter | Painter
  xMap | X-Scale Map
  yMap | Y-Scale Map
  canvasRect | Contents rect of the plot canvas

Implements QwtPlotItem.

Definition at line 385 of file qwt_plot_shapeitem.cpp.

## ◆ legendIcon()

QwtGraphic QwtPlotShapeItem::legendIcon | ( | int | index,
|  | const QSizeF & | size ) const
| overridevirtual

Returns
  A rectangle filled with the color of the brush ( or the pen )

Parameters

  index | Index of the legend entry ( usually there is only one )
  size | Icon size

See also
  setLegendIconSize(), legendData()

Reimplemented from QwtPlotItem.

Definition at line 463 of file qwt_plot_shapeitem.cpp.

## ◆ legendMode()

QwtPlotShapeItem::LegendMode QwtPlotShapeItem::legendMode | ( |  | ) | const

Returns
  Mode how to represent the item on the legend

See also
  legendMode()

Definition at line 199 of file qwt_plot_shapeitem.cpp.

## ◆ pen()

QPen QwtPlotShapeItem::pen | ( |  | ) | const

Returns
  Pen used to draw the outline of the shape

See also
  setPen(), brush()

Definition at line 310 of file qwt_plot_shapeitem.cpp.

## ◆ renderTolerance()

double QwtPlotShapeItem::renderTolerance | ( |  | ) | const

Returns
  Tolerance for the weeding optimization

See also
  setRenderTolerance()

Definition at line 372 of file qwt_plot_shapeitem.cpp.

## ◆ rtti()

int QwtPlotShapeItem::rtti | ( |  | ) | const
| overridevirtual

Returns
  QwtPlotItem::Rtti_PlotShape

Reimplemented from QwtPlotItem.

Definition at line 151 of file qwt_plot_shapeitem.cpp.

## ◆ setBrush()

void QwtPlotShapeItem::setBrush | ( | const QBrush & | brush | ) |

Assign a brush.

The brush is used to fill the path

Parameters

  brush | Brush

See also
  brush(), pen()

Definition at line 323 of file qwt_plot_shapeitem.cpp.

## ◆ setLegendMode()

void QwtPlotShapeItem::setLegendMode | ( | LegendMode | mode | ) |

Set the mode how to represent the item on the legend

Parameters

  mode | Mode

See also
  legendMode()

Definition at line 186 of file qwt_plot_shapeitem.cpp.

## ◆ setPaintAttribute()

void QwtPlotShapeItem::setPaintAttribute | ( | PaintAttribute | attribute,
|  | bool | on = true )

Specify an attribute how to draw the shape

Parameters

  attribute | Paint attribute
  on | On/Off

See also
  testPaintAttribute()

Definition at line 163 of file qwt_plot_shapeitem.cpp.

## ◆ setPen() [1/2]

void QwtPlotShapeItem::setPen | ( | const QColor & | color,
|  | qreal | width = 0.0,
|  | Qt::PenStyle | style = Qt::SolidLine )

Build and assign a 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

  color | Pen color
  width | Pen width
  style | Pen style

See also
  pen(), brush()

Definition at line 284 of file qwt_plot_shapeitem.cpp.

## ◆ setPen() [2/2]

void QwtPlotShapeItem::setPen | ( | const QPen & | pen | ) |

Assign a pen.

The pen is used to draw the outline of the shape

Parameters

  pen | Pen

See also
  pen(), brush()

Definition at line 297 of file qwt_plot_shapeitem.cpp.

## ◆ setPolygon()

void QwtPlotShapeItem::setPolygon | ( | const QPolygonF & | polygon | ) |

Set a path built from a polygon.

Parameters

  polygon | Polygon

See also
  setShape(), setRect(), shape()

Definition at line 230 of file qwt_plot_shapeitem.cpp.

## ◆ setRect()

void QwtPlotShapeItem::setRect | ( | const QRectF & | rect | ) |

Set a path built from a rectangle.

Parameters

  rect | Rectangle

See also
  setShape(), setPolygon(), shape()

Definition at line 216 of file qwt_plot_shapeitem.cpp.

## ◆ setRenderTolerance()

void QwtPlotShapeItem::setRenderTolerance | ( | double | tolerance | ) |

Set the tolerance for the weeding optimization.

After translating the shape into target device coordinate ( usually widget geometries ) the painter path can be simplified by a point weeding algorithm ( Douglas-Peucker ).

For shapes built from curves and ellipses weeding might have the opposite effect because they have to be expanded to polygons.

Parameters

  tolerance | Accepted error when reducing the number of points A value <= 0.0 disables weeding.

See also
  renderTolerance(), QwtWeedingCurveFitter

Definition at line 357 of file qwt_plot_shapeitem.cpp.

## ◆ setShape()

void QwtPlotShapeItem::setShape | ( | const QPainterPath & | shape | ) |

Set the shape to be displayed.

Parameters

  shape | Shape

See also
  setShape(), shape()

Definition at line 244 of file qwt_plot_shapeitem.cpp.

## ◆ shape()

QPainterPath QwtPlotShapeItem::shape | ( |  | ) | const

Returns
  Shape to be displayed

See also
  setShape()

Definition at line 266 of file qwt_plot_shapeitem.cpp.

## ◆ testPaintAttribute()

bool QwtPlotShapeItem::testPaintAttribute | ( | PaintAttribute | attribute | ) | const

Returns
  True, when attribute is enabled

See also
  setPaintAttribute()

Definition at line 175 of file qwt_plot_shapeitem.cpp.