QWT 7.0.1
Loading...
Searching...
No Matches
Classes | 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:
QwtPlotItem

Classes

class  PrivateData
 

Public Types

enum  PaintAttribute { ClipPolygons = 0x01 }
 Attributes to modify the drawing algorithm. More...
 
enum  LegendMode { LegendShape , LegendColor }
 Mode how to display the item on the legend. More...
 
- 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...
 

Public Member Functions

 QwtPlotShapeItem (const QString &title=QString())
 Constructor.
 
 QwtPlotShapeItem (const QwtText &title)
 Constructor.
 
virtual ~QwtPlotShapeItem ()
 Destructor.
 
void setPaintAttribute (PaintAttribute, bool on=true)
 Specify an attribute how to draw the shape.
 
bool testPaintAttribute (PaintAttribute) const
 
void setLegendMode (LegendMode)
 Set the mode how to represent the item on the legend.
 
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)
 Build and assign a pen.
 
void setPen (const QPen &)
 Assign a pen.
 
QPen pen () const
 
void setBrush (const QBrush &)
 Assign a brush.
 
QBrush brush () const
 
void setRenderTolerance (double)
 Set the tolerance for the weeding optimization.
 
double renderTolerance () const
 
virtual QRectF boundingRect () const QWT_OVERRIDE
 Bounding rectangle of the shape.
 
virtual void draw (QPainter *, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect) const QWT_OVERRIDE
 Draw the shape item.
 
virtual QwtGraphic legendIcon (int index, const QSizeF &) const QWT_OVERRIDE
 
virtual int rtti () const QWT_OVERRIDE
 
- Public Member Functions inherited from QwtPlotItem
 QwtPlotItem ()
 Constructor.
 
 QwtPlotItem (const QString &title)
 Constructor.
 
 QwtPlotItem (const QwtText &title)
 Constructor.
 
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.
 
QwtPlotplot () const
 Return attached plot.
 
void setTitle (const QString &title)
 Set a new title.
 
void setTitle (const QwtText &title)
 Set a new title.
 
const QwtTexttitle () const
 
void setItemAttribute (ItemAttribute, bool on=true)
 Toggle an item attribute.
 
bool testItemAttribute (ItemAttribute) const
 Test an item attribute.
 
void setItemInterest (ItemInterest, bool on=true)
 Toggle an item interest.
 
bool testItemInterest (ItemInterest) const
 Test an item interest.
 
void setRenderHint (RenderHint, bool on=true)
 Toggle an render hint.
 
bool testRenderHint (RenderHint) const
 Test a render hint.
 
void setRenderThreadCount (uint numThreads)
 On multi core systems rendering of certain plot item ( f.e QwtPlotRasterItem ) can be done in parallel in several threads.
 
uint renderThreadCount () const
 
void setLegendIconSize (const QSize &)
 Set the size of the legend icon.
 
QSize legendIconSize () const
 
double z () const
 Plot items are painted in increasing z-order.
 
void setZ (double z)
 Set the z value.
 
void show ()
 Show the item.
 
void hide ()
 Hide the item.
 
virtual void setVisible (bool)
 Show/Hide the item.
 
bool isVisible () const
 
void setAxes (QwtAxisId xAxis, QwtAxisId yAxis)
 Set X and Y axis.
 
void setXAxis (QwtAxisId)
 Set the X axis.
 
QwtAxisId xAxis () const
 Return xAxis.
 
void setYAxis (QwtAxisId)
 Set the Y axis.
 
QwtAxisId yAxis () const
 Return yAxis.
 
virtual void itemChanged ()
 Update the legend and call QwtPlot::autoRefresh() for the parent plot.
 
virtual void legendChanged ()
 Update the legend of the parent plot.
 
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< QwtLegendDatalegendData () 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

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.

◆ 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.

Constructor & Destructor Documentation

◆ QwtPlotShapeItem() [1/2]

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

Constructor.

Sets the following item attributes:

Parameters
titleTitle

◆ QwtPlotShapeItem() [2/2]

QwtPlotShapeItem::QwtPlotShapeItem ( const QwtText title)
explicit

Constructor.

Sets the following item attributes:

Parameters
titleTitle

Member Function Documentation

◆ boundingRect()

QRectF QwtPlotShapeItem::boundingRect ( ) const
virtual

Bounding rectangle of the shape.

Reimplemented from QwtPlotItem.

◆ brush()

QBrush QwtPlotShapeItem::brush ( ) const
Returns
Brush used to fill the shape
See also
setBrush(), pen()

◆ 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.

◆ 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.

◆ legendMode()

QwtPlotShapeItem::LegendMode QwtPlotShapeItem::legendMode ( ) const
Returns
Mode how to represent the item on the legend
See also
legendMode()

◆ pen()

QPen QwtPlotShapeItem::pen ( ) const
Returns
Pen used to draw the outline of the shape
See also
setPen(), brush()

◆ renderTolerance()

double QwtPlotShapeItem::renderTolerance ( ) const
Returns
Tolerance for the weeding optimization
See also
setRenderTolerance()

◆ rtti()

int QwtPlotShapeItem::rtti ( ) const
virtual
Returns
QwtPlotItem::Rtti_PlotShape

Reimplemented from QwtPlotItem.

◆ setBrush()

void QwtPlotShapeItem::setBrush ( const QBrush &  brush)

Assign a brush.

The brush is used to fill the path

Parameters
brushBrush
See also
brush(), pen()

◆ setLegendMode()

void QwtPlotShapeItem::setLegendMode ( LegendMode  mode)

Set the mode how to represent the item on the legend.

Parameters
modeMode
See also
legendMode()

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

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

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

◆ setPolygon()

void QwtPlotShapeItem::setPolygon ( const QPolygonF &  polygon)

Set a path built from a polygon.

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

◆ setRect()

void QwtPlotShapeItem::setRect ( const QRectF &  rect)

Set a path built from a rectangle.

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

◆ 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

◆ setShape()

void QwtPlotShapeItem::setShape ( const QPainterPath &  shape)

Set the shape to be displayed.

Parameters
shapeShape
See also
setShape(), shape()

◆ shape()

QPainterPath QwtPlotShapeItem::shape ( ) const
Returns
Shape to be displayed
See also
setShape()

◆ testPaintAttribute()

bool QwtPlotShapeItem::testPaintAttribute ( PaintAttribute  attribute) const
Returns
True, when attribute is enabled
See also
setPaintAttribute()

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