Classes | Public Types | Public Member Functions | Private Member Functions | Private Attributes | 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:
Inheritance graph
[legend]

Classes

class  PrivateData
 

Public Types

enum  LegendMode { LegendShape, LegendColor }
 Mode how to display the item on the legend. More...
 
enum  PaintAttribute { ClipPolygons = 0x01 }
 
- Public Types inherited from QwtPlotItem
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...
 
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...
 

Public Member Functions

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

Private Member Functions

void init ()
 

Private Attributes

PrivateDatam_data
 

Additional Inherited Members

- Protected Member Functions inherited from QwtPlotItem
QwtGraphic defaultIcon (const QBrush &, const QSizeF &) const
 Return a default icon from a brush. More...
 

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 Enumeration Documentation

◆ 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

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:

Parameters
titleTitle

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:

Parameters
titleTitle

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
virtual

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
virtual

Draw the shape item

Parameters
painterPainter
xMapX-Scale Map
yMapY-Scale Map
canvasRectContents rect of the plot canvas

Implements QwtPlotItem.

Definition at line 385 of file qwt_plot_shapeitem.cpp.

◆ init()

void QwtPlotShapeItem::init ( )
private

Definition at line 139 of file qwt_plot_shapeitem.cpp.

◆ legendIcon()

QwtGraphic QwtPlotShapeItem::legendIcon ( int  index,
const QSizeF &  size 
) const
virtual
Returns
A rectangle filled with the color of the brush ( or the pen )
Parameters
indexIndex of the legend entry ( usually there is only one )
sizeIcon 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
virtual
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
brushBrush
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
modeMode
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
attributePaint attribute
onOn/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
colorPen color
widthPen width
stylePen 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
penPen
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
polygonPolygon
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
rectRectangle
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
toleranceAccepted 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
shapeShape
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.

Member Data Documentation

◆ m_data

PrivateData* QwtPlotShapeItem::m_data
private

Definition at line 114 of file qwt_plot_shapeitem.h.


The documentation for this class was generated from the following files:


plotjuggler
Author(s): Davide Faconti
autogenerated on Mon Nov 11 2024 03:23:51