Qwt Polar User's Guide: QwtPolarItem Class Reference

Qwt Polar User's Guide 1.1.1

- Main Page
- Related Pages
- Classes

- Class List
- Class Index
- Class Hierarchy
- Class Members

All Classes Functions Typedefs Enumerations Enumerator Pages
Public Types | Public Member Functions | List of all members
QwtPolarItem Class Referenceabstract

Base class for items on a polar plot. More...

`#include <qwt_polar_item.h>`

Inheritance diagram for QwtPolarItem:
[legend]

## Public Types
enum | RttiValues { Rtti_PolarItem = 0, Rtti_PolarGrid, Rtti_PolarMarker, Rtti_PolarCurve, Rtti_PolarSpectrogram, Rtti_PolarUserItem = 1000 }
| Runtime type information. More...
enum | ItemAttribute { Legend = 0x01, AutoScale = 0x02 }
| Plot Item Attributes. More...
enum | RenderHint { RenderAntialiased = 0x01 }
| Render hints. More...
typedef QFlags< ItemAttribute > | ItemAttributes
| Item attributes.
typedef QFlags< RenderHint > | RenderHints
| Item attributes.

## Public Member Functions
| QwtPolarItem (const QwtText &title=QwtText())
virtual | ~QwtPolarItem ()
| Destroy the QwtPolarItem.
void | attach (QwtPolarPlot *plot)
| Attach the item to a plot. More...
void | detach ()
| This method detaches a QwtPolarItem from the QwtPolarPlot it has been associated with. More...
QwtPolarPlot * | plot () const
void | setTitle (const QString &title)
void | setTitle (const QwtText &title)
const QwtText & | title () const
virtual int | rtti () const
void | setItemAttribute (ItemAttribute, bool on=true)
bool | testItemAttribute (ItemAttribute) const
void | setRenderHint (RenderHint, bool on=true)
bool | testRenderHint (RenderHint) const
void | setRenderThreadCount (uint numThreads)
uint | renderThreadCount () const
double | z () const
void | setZ (double z)
| Set the z value. More...
void | show ()
| Show the item.
void | hide ()
| Hide the item.
virtual void | setVisible (bool)
bool | isVisible () const
virtual void | itemChanged ()
virtual void | legendChanged ()
virtual void | draw (QPainter *painter, const QwtScaleMap &azimuthMap, const QwtScaleMap &radialMap, const QPointF &pole, double radius, const QRectF &canvasRect) const =0
| Draw the item. More...
virtual QwtInterval | boundingInterval (int scaleId) const
virtual void | updateScaleDiv (const QwtScaleDiv &, const QwtScaleDiv &, const QwtInterval &)
| Update the item to changes of the axes scale division. More...
virtual int | marginHint () const
void | setLegendIconSize (const QSize &)
QSize | legendIconSize () const
virtual QList< QwtLegendData > | legendData () const
| Return all information, that is needed to represent the item on the legend. More...
virtual QwtGraphic | legendIcon (int index, const QSizeF &) const

## Detailed Description

Base class for items on a polar plot.

A QwtPolarItem is "something that can be painted on the canvas". It is connected to the QwtPolar framework by a couple of virtual methods, that are individually implemented in derived item classes.

QwtPolar offers an implementation of the most common types of items, but deriving from QwtPolarItem makes it easy to implement additional types of items.

## Member Enumeration Documentation

enum QwtPolarItem::ItemAttribute

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 QwtPolarItem::RenderHint

Render hints.

See Also
  setRenderHint(), testRenderHint()

Enumerator
RenderAntialiased | Enable antialiasing.

enum QwtPolarItem::RttiValues

Runtime type information.

RttiValues is used to cast plot items, without having to enable runtime type information of the compiler.

Enumerator
Rtti_PolarItem | Unspecific value, that can be used, when it doesn't matter.
Rtti_PolarGrid | For QwtPolarGrid.
Rtti_PolarMarker | For QwtPolarMarker.
Rtti_PolarCurve | For QwtPolarCurve.
Rtti_PolarSpectrogram | For QwtPolarSpectrogram.
Rtti_PolarUserItem | Values >= Rtti_PolarUserItem are reserved for plot items not implemented in the QwtPolar library.

## Constructor & Destructor Documentation

QwtPolarItem::QwtPolarItem | ( | const QwtText & | title = `QwtText()` | ) |
| explicit

Constructor

Parameters

  title | Item title, f.e used on a legend

See Also
  setTitle()

## Member Function Documentation

void QwtPolarItem::attach | ( | QwtPolarPlot * | plot | ) |

Attach the item to a plot.

This method will attach a QwtPolarItem to the QwtPolarPlot argument. It will first detach the QwtPolarItem from any plot from a previous call to attach (if necessary). If a NULL argument is passed, it will detach from any QwtPolarPlot it was attached to.

Parameters

  plot | Plot widget

See Also
  QwtPolarItem::detach()

QwtInterval QwtPolarItem::boundingInterval | ( | int | scaleId | ) | const
| virtual

Interval, that is necessary to display the item

This interval can be useful for operations like clipping or autoscaling For items ( like the grid ), where a bounding interval makes no sense an invalid interval is returned.

Parameters

  scaleId | Scale id ( QwtPolar::Scale )

Returns
  Bounding interval of the plot item for a specific scale

Reimplemented in QwtPolarCurve, QwtPolarSpectrogram, and QwtPolarMarker.

void QwtPolarItem::detach | ( |  | ) |

This method detaches a QwtPolarItem from the QwtPolarPlot it has been associated with.

detach() is equivalent to calling attach( NULL )

See Also
  attach()

virtual void QwtPolarItem::draw | ( | QPainter * | painter,
|  | const QwtScaleMap & | azimuthMap,
|  | const QwtScaleMap & | radialMap,
|  | const QPointF & | pole,
|  | double | radius,
|  | const QRectF & | canvasRect
| ) |  | const
| pure virtual

Draw the item.

Parameters

  painter | Painter
  azimuthMap | Maps azimuth values to values related to 0.0, M_2PI
  radialMap | Maps radius values into painter coordinates.
  pole | Position of the pole in painter coordinates
  radius | Radius of the complete plot area in painter coordinates
  canvasRect | Contents rect of the canvas in painter coordinates

Implemented in QwtPolarGrid, QwtPolarCurve, QwtPolarSpectrogram, and QwtPolarMarker.

bool QwtPolarItem::isVisible | ( |  | ) | const

Returns
  true if visible

See Also
  setVisible(), show(), hide()

void QwtPolarItem::itemChanged | ( |  | ) |
| virtual

Update the legend and call QwtPolarPlot::autoRefresh for the parent plot.

See Also
  updateLegend()

void QwtPolarItem::legendChanged | ( |  | ) |
| virtual

Update the legend of the parent plot.

See Also
  QwtPolarPlot::updateLegend(), itemChanged()

QList< QwtLegendData > QwtPolarItem::legendData | ( |  | ) | const
| virtual

Return all information, that is needed to represent the item on the legend.

Most items are represented by one entry on the legend showing an icon and a text.

QwtLegendData is basically a list of QVariants that makes it possible to overload and reimplement legendData() to return almost any type of information, that is understood by the receiver that acts as the legend.

The default implementation returns one entry with the title() of the item and the legendIcon().

See Also
  title(), legendIcon(), QwtLegend

QwtGraphic QwtPolarItem::legendIcon | ( | int | index,
|  | const QSizeF & | size
| ) |  | const
| virtual

Returns
  Icon representing the item on the legend

The default implementation returns an invalid icon

Parameters

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

See Also
  setLegendIconSize(), legendData()

Reimplemented in QwtPolarCurve.

QSize QwtPolarItem::legendIconSize | ( |  | ) | const

Returns
  Legend icon size

See Also
  setLegendIconSize(), legendIcon()

int QwtPolarItem::marginHint | ( |  | ) | const
| virtual

Some items like to display something (f.e. the azimuth axis) outside of the area of the interval of the radial scale. The default implementation returns 0 pixels

Returns
  Hint for the margin

Reimplemented in QwtPolarGrid.

QwtPolarPlot * QwtPolarItem::plot | ( |  | ) | const

Returns
  Attached plot

uint QwtPolarItem::renderThreadCount | ( |  | ) | const

Returns
  Number of threads to be used for rendering. If numThreads() is set to 0, the system specific ideal thread count is used.

int QwtPolarItem::rtti | ( |  | ) | const
| virtual

Return rtti for the specific class represented. QwtPolarItem is simply a virtual interface class, and base classes will implement this method with specific rtti values so a user can differentiate them.

The rtti value is useful for environments, where the runtime type information is disabled and it is not possible to do a dynamic_cast<...>.

Returns
  rtti value

See Also
  RttiValues

Reimplemented in QwtPolarGrid, QwtPolarCurve, QwtPolarSpectrogram, and QwtPolarMarker.

void QwtPolarItem::setItemAttribute | ( | ItemAttribute | attribute,
|  | bool | on = `true`
| ) |  |

Toggle an item attribute

Parameters

  attribute | Attribute type
  on | true/false

See Also
  testItemAttribute(), ItemAttribute

void QwtPolarItem::setLegendIconSize | ( | const QSize & | size | ) |

Set the size of the legend icon

The default setting is 8x8 pixels

Parameters

  size | Size

See Also
  legendIconSize(), legendIcon()

void QwtPolarItem::setRenderHint | ( | RenderHint | hint,
|  | bool | on = `true`
| ) |  |

Toggle an render hint

Parameters

  hint | Render hint
  on | true/false

See Also
  testRenderHint(), RenderHint

void QwtPolarItem::setRenderThreadCount | ( | uint | numThreads | ) |

On multi core systems rendering of certain plot item ( f.e QwtPolarSpectrogram ) can be done in parallel in several threads.

The default setting is set to 1.

Parameters

  numThreads | Number of threads to be used for rendering. If numThreads is set to 0, the system specific ideal thread count is used.

The default thread count is 1 ( = no additional threads )

void QwtPolarItem::setTitle | ( | const QString & | title | ) |

Set a new title

Parameters

  title | Title

See Also
  title()

void QwtPolarItem::setTitle | ( | const QwtText & | title | ) |

Set a new title

Parameters

  title | Title

See Also
  title()

void QwtPolarItem::setVisible | ( | bool | on | ) |
| virtual

Show/Hide the item

Parameters

  on | Show if true, otherwise hide

See Also
  isVisible(), show(), hide()

void QwtPolarItem::setZ | ( | double | z | ) |

Set the z value.

Plot items are painted in increasing z-order.

Parameters

  z | Z-value

See Also
  z(), QwtPolarItemDict::itemList()

bool QwtPolarItem::testItemAttribute | ( | ItemAttribute | attribute | ) | const

Test an item attribute

Parameters

  attribute | Attribute type

Returns
  true/false

See Also
  setItemAttribute(), ItemAttribute

bool QwtPolarItem::testRenderHint | ( | RenderHint | hint | ) | const

Test a render hint

Parameters

  hint | Render hint

Returns
  true/false

See Also
  setRenderHint(), RenderHint

const QwtText & QwtPolarItem::title | ( |  | ) | const

Returns
  Title of the item

See Also
  setTitle()

void QwtPolarItem::updateScaleDiv | ( | const QwtScaleDiv & | azimuthScaleDiv,
|  | const QwtScaleDiv & | radialScaleDiv,
|  | const QwtInterval & | interval
| ) |  |
| virtual

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 QwtPolarGrid()) have to reimplement updateScaleDiv()

Parameters

  azimuthScaleDiv | Scale division of the azimuth-scale
  radialScaleDiv | Scale division of the radius-axis
  interval | The interval of the radius-axis, that is visible on the canvas

See Also
  QwtPolarPlot::updateAxes()

Reimplemented in QwtPolarGrid.

double QwtPolarItem::z | ( |  | ) | const

Plot items are painted in increasing z-order.

Returns
  Z value

See Also
  setZ(), QwtPolarItemDict::itemList()