QwtPolarGrid Class Reference
An item which draws scales and grid lines on a polar plot.
More...
#include <qwt_polar_grid.h>
List of all members.
Public Types |
enum | DisplayFlag {
SmartOriginLabel = 1,
HideMaxRadiusLabel = 2,
ClipAxisBackground = 4,
SmartScaleDraw = 8,
ClipGridLines = 16
} |
enum | GridAttribute { AutoScaling = 1
} |
Public Member Functions |
| QwtPolarGrid () |
virtual | ~QwtPolarGrid () |
virtual int | rtti () const |
void | setDisplayFlag (DisplayFlag, bool on=true) |
bool | testDisplayFlag (DisplayFlag) const |
void | setGridAttribute (GridAttribute, bool on=true) |
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 |
virtual void | draw (QPainter *p, const QwtScaleMap &azimuthMap, const QwtScaleMap &radialMap, const QwtDoublePoint &pole, double radius, const QwtDoubleRect &rect) const |
virtual void | updateScaleDiv (const QwtScaleDiv &azimuthMap, const QwtScaleDiv &radialMap, const QwtDoubleInterval &) |
virtual int | marginHint () const |
Protected Member Functions |
void | drawRays (QPainter *, const QwtDoubleRect &, const QwtDoublePoint &pole, double radius, const QwtScaleMap &azimuthMap, const QwtValueList &) const |
void | drawCircles (QPainter *, const QwtDoubleRect &, const QwtDoublePoint &pole, const QwtScaleMap &radialMap, const QwtValueList &) const |
void | drawAxis (QPainter *, int axisId) const |
Detailed Description
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().
- See also:
- QwtPolarPlot, QwtPolar::Axis
Member Enumeration Documentation
Mysterious flags trying to avoid conflicts, when painting the scales and grid lines.
- SmartOriginLabel
Try to avoid situations, where the label of the origin is painted over another axis.
- HideMaxRadiusLabel
Often the outermost tick of the radial scale is close to the canvas border. With HideMaxRadiusLabel enabled it is not painted.
- ClipAxisBackground
The tick labels of the radial scales might be hard to read, when they are painted on top of the radial grid lines ( or on top of a curve/spectrogram ). When ClipAxisBackground the bounding rect of each label is added to the clip region.
- SmartScaleDraw
Don't paint the backbone of the radial axes, when they are very close to a line of the azimuth grid.
- ClipGridLines
All grid lines are clipped against the plot area before being painted. When the plot is zoomed in this will have an significant impact on the performance of the painting cde.
The default setting enables all flags.
Grid attributes.
- AutoScaling
When AutoScaling is enabled, the radial axes will be adjusted to the interval, that is currently visible on the canvas plot.
Constructor & Destructor Documentation
QwtPolarGrid::QwtPolarGrid |
( |
|
) |
[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.
QwtPolarGrid::~QwtPolarGrid |
( |
|
) |
[virtual] |
Member Function Documentation
QFont QwtPolarGrid::axisFont |
( |
int |
axisId |
) |
const |
- Returns:
- Font for the tick labels of a specific axis
- Parameters:
-
| axisId | Axis id (QwtPolar::Axis) |
QPen QwtPolarGrid::axisPen |
( |
int |
axisId |
) |
const |
- Returns:
- Pen for painting a specific axis
- Parameters:
-
| axisId | Axis id (QwtPolar::Axis) |
- See also:
- setAxisPen()
void QwtPolarGrid::draw |
( |
QPainter * |
painter, |
|
|
const QwtScaleMap & |
azimuthMap, |
|
|
const QwtScaleMap & |
radialMap, |
|
|
const QwtDoublePoint & |
pole, |
|
|
double |
radius, |
|
|
const QwtDoubleRect & |
canvasRect | |
|
) |
| | const [virtual] |
Draw the grid and axes
- 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 |
Implements QwtPolarItem.
void QwtPolarGrid::drawAxis |
( |
QPainter * |
painter, |
|
|
int |
axisId | |
|
) |
| | const [protected] |
Paint an axis
- Parameters:
-
| painter | Painter |
| axisId | Axis id (QwtPolar::Axis) |
void QwtPolarGrid::drawCircles |
( |
QPainter * |
painter, |
|
|
const QwtDoubleRect & |
canvasRect, |
|
|
const QwtDoublePoint & |
pole, |
|
|
const QwtScaleMap & |
radialMap, |
|
|
const QwtValueList & |
values | |
|
) |
| | const [protected] |
Draw circles
- Parameters:
-
| 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 |
void QwtPolarGrid::drawRays |
( |
QPainter * |
painter, |
|
|
const QwtDoubleRect & |
canvasRect, |
|
|
const QwtDoublePoint & |
pole, |
|
|
double |
radius, |
|
|
const QwtScaleMap & |
azimuthMap, |
|
|
const QwtValueList & |
values | |
|
) |
| | const [protected] |
Draw lines from the pole
- Parameters:
-
| 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 |
bool QwtPolarGrid::isAxisVisible |
( |
int |
axisId |
) |
const |
- Returns:
- true if the axis is visible
- Parameters:
-
| axisId | Axis id (QwtPolar::Axis) |
- See also:
- showAxis()
bool QwtPolarGrid::isGridVisible |
( |
int |
scaleId |
) |
const |
- Returns:
- true if grid lines are enabled
- Parameters:
-
| scaleId | Scale id ( QwtPolar::Scale ) |
- See also:
- QwtPolar::Scale, showGrid()
bool QwtPolarGrid::isMinorGridVisible |
( |
int |
scaleId |
) |
const |
- Returns:
- true if minor grid lines are enabled
- Parameters:
-
| scaleId | Scale id ( QwtPolar::Scale ) |
- See also:
- showMinorGrid()
QPen QwtPolarGrid::majorGridPen |
( |
int |
scaleId |
) |
const |
- Returns:
- Pen for painting the major grid lines of a specific scale
- Parameters:
-
| scaleId | Scale id ( QwtPolar::Scale ) |
- See also:
- setMajorGridPen(), minorGridPen()
int QwtPolarGrid::marginHint |
( |
|
) |
const [virtual] |
- Returns:
- Number of pixels, that are necessary to paint the azimuth scale
- See also:
- QwtRoundScaleDraw::extent()
Reimplemented from QwtPolarItem.
QPen QwtPolarGrid::minorGridPen |
( |
int |
scaleId |
) |
const |
- Returns:
- Pen for painting the minor grid lines of a specific scale
- Parameters:
-
| scaleId | Scale id ( QwtPolar::Scale ) |
int QwtPolarGrid::rtti |
( |
|
) |
const [virtual] |
- Returns:
- QwtPlotItem::Rtti_PolarGrid
Reimplemented from QwtPolarItem.
void QwtPolarGrid::setAxisFont |
( |
int |
axisId, |
|
|
const QFont & |
font | |
|
) |
| | |
Assign a font for the tick labels of a specific axis
- Parameters:
-
| axisId | Axis id (QwtPolar::Axis) |
| font | new Font |
void QwtPolarGrid::setAxisPen |
( |
int |
axisId, |
|
|
const QPen & |
pen | |
|
) |
| | |
Assign a pen for painting an axis
- Parameters:
-
| axisId | Axis id (QwtPolar::Axis) |
| pen | Pen |
- See also:
- axisPen()
void QwtPolarGrid::setDisplayFlag |
( |
DisplayFlag |
flag, |
|
|
bool |
on = true | |
|
) |
| | |
Change the display flags
- Parameters:
-
| flag | See DisplayFlag |
| on | true/false |
void QwtPolarGrid::setFont |
( |
const QFont & |
font |
) |
|
Assign a font for all scale tick labels
- Parameters:
-
- See also:
- setAxisFont()
void QwtPolarGrid::setGridAttribute |
( |
GridAttribute |
attribute, |
|
|
bool |
on = true | |
|
) |
| | |
void QwtPolarGrid::setMajorGridPen |
( |
int |
scaleId, |
|
|
const QPen & |
pen | |
|
) |
| | |
void QwtPolarGrid::setMajorGridPen |
( |
const QPen & |
pen |
) |
|
void QwtPolarGrid::setMinorGridPen |
( |
int |
scaleId, |
|
|
const QPen & |
pen | |
|
) |
| | |
void QwtPolarGrid::setMinorGridPen |
( |
const QPen & |
pen |
) |
|
void QwtPolarGrid::setPen |
( |
const QPen & |
pen |
) |
|
void QwtPolarGrid::showAxis |
( |
int |
axisId, |
|
|
bool |
show = true | |
|
) |
| | |
Show/Hide an axis
- Parameters:
-
| axisId | Axis id (QwtPolar::Axis) |
| show | true/false |
- See also:
- isAxisVisible()
void QwtPolarGrid::showGrid |
( |
int |
scaleId, |
|
|
bool |
show = true | |
|
) |
| | |
Show/Hide grid lines for a scale
- Parameters:
-
| scaleId | Scale id ( QwtPolar::Scale ) |
| show | true/false |
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.
- Parameters:
-
| scaleId | Scale id ( QwtPolar::Scale ) |
| show | true/false |
- See also:
- showGrid
bool QwtPolarGrid::testDisplayFlag |
( |
DisplayFlag |
flag |
) |
const |
- Returns:
- true, if flag is enabled
- Parameters:
-
bool QwtPolarGrid::testGridAttribute |
( |
GridAttribute |
attribute |
) |
const |
void QwtPolarGrid::updateScaleDiv |
( |
const QwtScaleDiv & |
azimuthScaleDiv, |
|
|
const QwtScaleDiv & |
radialScaleDiv, |
|
|
const QwtDoubleInterval & |
interval | |
|
) |
| | [virtual] |
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.
- 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::setGridAttributes()
Reimplemented from QwtPolarItem.