Qwt User's Guide 6.3.0
|
An item which draws scales and grid lines on a polar plot. More...
#include <qwt_polar_grid.h>
Public Types | |
enum | DisplayFlag { SmartOriginLabel = 1 , HideMaxRadiusLabel = 2 , ClipAxisBackground = 4 , SmartScaleDraw = 8 , ClipGridLines = 16 } |
enum | GridAttribute { AutoScaling = 0x01 } |
Grid attributes. More... | |
typedef QFlags< DisplayFlag > | DisplayFlags |
typedef QFlags< GridAttribute > | GridAttributes |
Public Types inherited from QwtPolarItem | |
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 |
typedef QFlags< RenderHint > | RenderHints |
Public Member Functions | |
QwtPolarGrid () | |
Constructor. | |
virtual | ~QwtPolarGrid () |
Destructor. | |
virtual int | rtti () const override |
void | setDisplayFlag (DisplayFlag, bool on=true) |
bool | testDisplayFlag (DisplayFlag) const |
void | setGridAttribute (GridAttribute, bool on=true) |
Specify an attribute for the grid. | |
bool | testGridAttribute (GridAttribute) const |
void | showGrid (int scaleId, bool show=true) |
bool | isGridVisible (int scaleId) const |
void | showMinorGrid (int scaleId, bool show=true) |
bool | isMinorGridVisible (int scaleId) const |
void | showAxis (int axisId, bool show=true) |
bool | isAxisVisible (int axisId) const |
void | setPen (const QPen &p) |
void | setFont (const QFont &) |
void | setMajorGridPen (const QPen &p) |
void | setMajorGridPen (int scaleId, const QPen &p) |
QPen | majorGridPen (int scaleId) const |
void | setMinorGridPen (const QPen &p) |
void | setMinorGridPen (int scaleId, const QPen &p) |
QPen | minorGridPen (int scaleId) const |
void | setAxisPen (int axisId, const QPen &p) |
QPen | axisPen (int axisId) const |
void | setAxisFont (int axisId, const QFont &p) |
QFont | axisFont (int axisId) const |
void | setScaleDraw (int axisId, QwtScaleDraw *) |
Set a scale draw. | |
const QwtScaleDraw * | scaleDraw (int axisId) const |
QwtScaleDraw * | scaleDraw (int axisId) |
void | setAzimuthScaleDraw (QwtRoundScaleDraw *) |
Set a scale draw for the azimuth scale. | |
const QwtRoundScaleDraw * | azimuthScaleDraw () const |
QwtRoundScaleDraw * | azimuthScaleDraw () |
virtual void | draw (QPainter *p, const QwtScaleMap &azimuthMap, const QwtScaleMap &radialMap, const QPointF &pole, double radius, const QRectF &rect) const override |
virtual void | updateScaleDiv (const QwtScaleDiv &azimuthMap, const QwtScaleDiv &radialMap, const QwtInterval &) override |
Update the item to changes of the axes scale division. | |
virtual int | marginHint () const override |
Public Member Functions inherited from QwtPolarItem | |
QwtPolarItem (const QwtText &title=QwtText()) | |
virtual | ~QwtPolarItem () |
Destroy the QwtPolarItem. | |
void | attach (QwtPolarPlot *plot) |
Attach the item to a plot. | |
void | detach () |
This method detaches a QwtPolarItem from the QwtPolarPlot it has been associated with. | |
QwtPolarPlot * | plot () const |
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 | 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. | |
void | show () |
Show the item. | |
void | hide () |
Hide the item. | |
virtual void | setVisible (bool) |
bool | isVisible () const |
virtual void | itemChanged () |
virtual void | legendChanged () |
virtual QwtInterval | boundingInterval (int scaleId) 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. | |
virtual QwtGraphic | legendIcon (int index, const QSizeF &) const |
Protected Member Functions | |
void | drawRays (QPainter *, const QRectF &, const QPointF &pole, double radius, const QwtScaleMap &azimuthMap, const QList< double > &) const |
void | drawCircles (QPainter *, const QRectF &, const QPointF &pole, const QwtScaleMap &radialMap, const QList< double > &) const |
void | drawAxis (QPainter *, int axisId) const |
An item which draws scales and grid lines on a polar plot.
The QwtPolarGrid class can be used to draw a coordinate grid. A coordinate grid consists of major and minor gridlines. The locations of the gridlines are determined by the azimuth and radial scale divisions.
QwtPolarGrid is also responsible for drawing the axis representing the scales. It is possible to display 4 radial and one azimuth axis.
Whenever the scale divisions of the plot widget changes the grid is synchronized by updateScaleDiv().
Definition at line 41 of file qwt_polar_grid.h.
typedef QFlags<DisplayFlag > QwtPolarGrid::DisplayFlags |
An ORed combination of DisplayFlag values.
Definition at line 88 of file qwt_polar_grid.h.
typedef QFlags<GridAttribute > QwtPolarGrid::GridAttributes |
An ORed combination of GridAttribute values.
Definition at line 103 of file qwt_polar_grid.h.
Mysterious flags trying to avoid conflicts, when painting the scales and grid lines.
The default setting enables all flags.
Definition at line 52 of file qwt_polar_grid.h.
Grid attributes.
Enumerator | |
---|---|
AutoScaling | When AutoScaling is enabled, the radial axes will be adjusted to the interval, that is currently visible on the canvas plot. |
Definition at line 94 of file qwt_polar_grid.h.
|
explicit |
Constructor.
Enables major and disables minor grid lines. The azimuth and right radial axis are visible. all other axes are hidden. Autoscaling is enabled.
Definition at line 84 of file qwt_polar_grid.cpp.
|
virtual |
Destructor.
Definition at line 157 of file qwt_polar_grid.cpp.
QFont QwtPolarGrid::axisFont | ( | int | axisId | ) | const |
axisId | Axis id (QwtPolar::Axis) |
Definition at line 556 of file qwt_polar_grid.cpp.
QPen QwtPolarGrid::axisPen | ( | int | axisId | ) | const |
axisId | Axis id (QwtPolar::Axis) |
Definition at line 525 of file qwt_polar_grid.cpp.
QwtRoundScaleDraw * QwtPolarGrid::azimuthScaleDraw | ( | ) |
Definition at line 1127 of file qwt_polar_grid.cpp.
const QwtRoundScaleDraw * QwtPolarGrid::azimuthScaleDraw | ( | ) | const |
Definition at line 1117 of file qwt_polar_grid.cpp.
|
overridevirtual |
Draw the grid and axes
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 |
Implements QwtPolarItem.
Definition at line 574 of file qwt_polar_grid.cpp.
|
protected |
Paint an axis
painter | Painter |
axisId | Axis id (QwtPolar::Axis) |
Definition at line 832 of file qwt_polar_grid.cpp.
|
protected |
Draw circles
painter | Painter |
canvasRect | Contents rect of the canvas in painter coordinates |
pole | Position of the pole in painter coordinates |
radialMap | Maps radius values into painter coordinates. |
values | Radial values, indicating the distances from the pole |
Definition at line 751 of file qwt_polar_grid.cpp.
|
protected |
Draw lines from the pole
painter | Painter |
canvasRect | Contents rect of the canvas in painter coordinates |
pole | Position of the pole in painter coordinates |
radius | Length of the lines in painter coordinates |
azimuthMap | Maps azimuth values to values related to 0.0, M_2PI |
values | Azimuth values, indicating the direction of the lines |
Definition at line 681 of file qwt_polar_grid.cpp.
bool QwtPolarGrid::isAxisVisible | ( | int | axisId | ) | const |
axisId | Axis id (QwtPolar::Axis) |
Definition at line 343 of file qwt_polar_grid.cpp.
bool QwtPolarGrid::isGridVisible | ( | int | scaleId | ) | const |
scaleId | Scale id ( QwtPolar::Scale ) |
Definition at line 272 of file qwt_polar_grid.cpp.
bool QwtPolarGrid::isMinorGridVisible | ( | int | scaleId | ) | const |
scaleId | Scale id ( QwtPolar::Scale ) |
Definition at line 308 of file qwt_polar_grid.cpp.
QPen QwtPolarGrid::majorGridPen | ( | int | scaleId | ) | const |
scaleId | Scale id ( QwtPolar::Scale ) |
Definition at line 454 of file qwt_polar_grid.cpp.
|
overridevirtual |
Reimplemented from QwtPolarItem.
Definition at line 1049 of file qwt_polar_grid.cpp.
QPen QwtPolarGrid::minorGridPen | ( | int | scaleId | ) | const |
scaleId | Scale id ( QwtPolar::Scale ) |
Definition at line 510 of file qwt_polar_grid.cpp.
|
overridevirtual |
Reimplemented from QwtPolarItem.
Definition at line 163 of file qwt_polar_grid.cpp.
QwtScaleDraw * QwtPolarGrid::scaleDraw | ( | int | axisId | ) |
Returns the scale draw of a specified axis
axisId | axis index ( QwtPolar::AxisLeft <= axisId <= QwtPolar::AxisBottom) |
Definition at line 1083 of file qwt_polar_grid.cpp.
const QwtScaleDraw * QwtPolarGrid::scaleDraw | ( | int | axisId | ) | const |
Returns the scale draw of a specified axis
axisId | axis index ( QwtPolar::AxisLeft <= axisId <= QwtPolar::AxisBottom) |
Definition at line 1068 of file qwt_polar_grid.cpp.
void QwtPolarGrid::setAxisFont | ( | int | axisId, |
const QFont & | font ) |
Assign a font for the tick labels of a specific axis
axisId | Axis id (QwtPolar::Axis) |
font | new Font |
Definition at line 539 of file qwt_polar_grid.cpp.
void QwtPolarGrid::setAxisPen | ( | int | axisId, |
const QPen & | pen ) |
Assign a pen for painting an axis
axisId | Axis id (QwtPolar::Axis) |
pen | Pen |
Definition at line 235 of file qwt_polar_grid.cpp.
void QwtPolarGrid::setAzimuthScaleDraw | ( | QwtRoundScaleDraw * | scaleDraw | ) |
Set a scale draw for the azimuth scale.
scaleDraw | object responsible for drawing scales. |
Definition at line 1139 of file qwt_polar_grid.cpp.
void QwtPolarGrid::setDisplayFlag | ( | DisplayFlag | flag, |
bool | on = true ) |
Change the display flags
flag | See DisplayFlag |
on | true/false |
Definition at line 174 of file qwt_polar_grid.cpp.
void QwtPolarGrid::setFont | ( | const QFont & | font | ) |
Assign a font for all scale tick labels
font | Font |
Definition at line 390 of file qwt_polar_grid.cpp.
void QwtPolarGrid::setGridAttribute | ( | GridAttribute | attribute, |
bool | on = true ) |
Specify an attribute for the grid.
attribute | Grid attribute |
on | On/Off |
/sa GridAttribute, testGridAttribute(), updateScaleDiv(), QwtPolarPlot::zoom(), QwtPolarPlot::scaleDiv()
Definition at line 205 of file qwt_polar_grid.cpp.
void QwtPolarGrid::setMajorGridPen | ( | const QPen & | pen | ) |
Assign a pen for the major grid lines
pen | Pen |
Definition at line 412 of file qwt_polar_grid.cpp.
void QwtPolarGrid::setMajorGridPen | ( | int | scaleId, |
const QPen & | pen ) |
Assign a pen for the major grid lines of a specific scale
scaleId | Scale id ( QwtPolar::Scale ) |
pen | Pen |
Definition at line 436 of file qwt_polar_grid.cpp.
void QwtPolarGrid::setMinorGridPen | ( | const QPen & | pen | ) |
Assign a pen for the minor grid lines
pen | Pen |
Definition at line 469 of file qwt_polar_grid.cpp.
void QwtPolarGrid::setMinorGridPen | ( | int | scaleId, |
const QPen & | pen ) |
Assign a pen for the minor grid lines of a specific scale
scaleId | Scale id ( QwtPolar::Scale ) |
pen | Pen |
Definition at line 493 of file qwt_polar_grid.cpp.
void QwtPolarGrid::setPen | ( | const QPen & | pen | ) |
Assign a pen for all axes and grid lines
pen | Pen |
Definition at line 357 of file qwt_polar_grid.cpp.
void QwtPolarGrid::setScaleDraw | ( | int | axisId, |
QwtScaleDraw * | scaleDraw ) |
Set a scale draw.
axisId | axis index ( QwtPolar::AxisLeft <= axisId <= QwtPolar::AxisBottom) |
scaleDraw | object responsible for drawing scales. |
Definition at line 1099 of file qwt_polar_grid.cpp.
void QwtPolarGrid::showAxis | ( | int | axisId, |
bool | show = true ) |
Show/Hide an axis
axisId | Axis id (QwtPolar::Axis) |
show | true/false |
Definition at line 324 of file qwt_polar_grid.cpp.
void QwtPolarGrid::showGrid | ( | int | scaleId, |
bool | show = true ) |
Show/Hide grid lines for a scale
scaleId | Scale id ( QwtPolar::Scale ) |
show | true/false |
Definition at line 254 of file qwt_polar_grid.cpp.
void QwtPolarGrid::showMinorGrid | ( | int | scaleId, |
bool | show = true ) |
Show/Hide minor grid lines for a scale
To display minor grid lines. showGrid() needs to be enabled too.
scaleId | Scale id ( QwtPolar::Scale ) |
show | true/false |
Definition at line 290 of file qwt_polar_grid.cpp.
bool QwtPolarGrid::testDisplayFlag | ( | DisplayFlag | flag | ) | const |
flag | See DisplayFlag |
Definition at line 191 of file qwt_polar_grid.cpp.
bool QwtPolarGrid::testGridAttribute | ( | GridAttribute | attribute | ) | const |
Definition at line 222 of file qwt_polar_grid.cpp.
|
overridevirtual |
Update the item to changes of the axes scale division.
If AutoScaling is enabled the radial scale is calculated from the interval, otherwise the scales are adopted to the plot scales.
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 |
Reimplemented from QwtPolarItem.
Definition at line 952 of file qwt_polar_grid.cpp.