# QwtCompass Class Reference

A Compass Widget. More...

`#include <qwt_compass.h>`

Inheritance diagram for QwtCompass:

[legend]

List of all members.

## Public Member Functions
| QwtCompass (QWidget *parent=NULL)
virtual | ~QwtCompass ()
void | setRose (QwtCompassRose *rose)
const QwtCompassRose * | rose () const
QwtCompassRose * | rose ()
const QMap< double, QString > & | labelMap () const
QMap< double, QString > & | labelMap ()
void | setLabelMap (const QMap< double, QString > &map)
## Protected Member Functions
virtual QwtText | scaleLabel (double value) const
virtual void | drawRose (QPainter *, const QPoint &center, int radius, double north, QPalette::ColorGroup) const
virtual void | drawScaleContents (QPainter *, const QPoint &center, int radius) const
virtual void | keyPressEvent (QKeyEvent *)

## Detailed Description

A Compass Widget.

QwtCompass is a widget to display and enter directions. It consists of a scale, an optional needle and rose.

Note:
  The examples/dials example shows how to use QwtCompass.

## Constructor & Destructor Documentation

QwtCompass::QwtCompass | ( | QWidget * | parent = `NULL` | ) | `[explicit]`

Constructor.

Parameters:

  | parent | Parent widget

Create a compass widget with a scale, no needle and no rose. The default origin is 270.0 with no valid value. It accepts mouse and keyboard inputs and has no step size. The default mode is QwtDial::RotateNeedle.

QwtCompass::~QwtCompass | ( |  | ) | `[virtual]`

Destructor.

## Member Function Documentation

void QwtCompass::drawRose | ( | QPainter * | painter,
|  | const QPoint & | center,
|  | int | radius,
|  | double | north,
|  | QPalette::ColorGroup | cg |
| ) |  |  | const`[protected, virtual]`

Draw the compass rose

Parameters:

  | painter | Painter
  | center | Center of the compass
  | radius | of the circle, where to paint the rose
  | north | Direction pointing north, in degrees counter clockwise
  | cg | Color group

void QwtCompass::drawScaleContents | ( | QPainter * | painter,
|  | const QPoint & | center,
|  | int | radius |
| ) |  |  | const`[protected, virtual]`

Draw the contents of the scale

Parameters:

  | painter | Painter
  | center | Center of the content circle
  | radius | Radius of the content circle

Reimplemented from QwtDial.

void QwtCompass::keyPressEvent | ( | QKeyEvent * | kev | ) | `[protected, virtual]`

Handles key events

Beside the keys described in QwtDial::keyPressEvent numbers from 1-9 (without 5) set the direction according to their position on the num pad.

See also:
  isReadOnly()

Reimplemented from QwtDial.

QMap< double, QString > & QwtCompass::labelMap | ( |  | ) |

Returns:
  map, mapping values to labels

See also:
  setLabelMap()

const QMap< double, QString > & QwtCompass::labelMap | ( |  | ) | const

Returns:
  map, mapping values to labels

See also:
  setLabelMap()

QwtCompassRose * QwtCompass::rose | ( |  | ) |

Returns:
  rose

See also:
  setRose()

const QwtCompassRose * QwtCompass::rose | ( |  | ) | const

Returns:
  rose

See also:
  setRose()

QwtText QwtCompass::scaleLabel | ( | double | value | ) | const`[protected, virtual]`

Map a value to a corresponding label

Parameters:

  | value | Value that will be mapped

Returns:
  Label, or QString::null

label() looks in a map for a corresponding label for value or return an null text.

See also:
  labelMap(), setLabelMap()

Reimplemented from QwtDial.

void QwtCompass::setLabelMap | ( | const QMap< double, QString > & | map | ) |

Set a map, mapping values to labels.

Parameters:

  | map | value to label map

The values of the major ticks are found by looking into this map. The default map consists of the labels N, NE, E, SE, S, SW, W, NW.

Warning:
  The map will have no effect for values that are no major tick values. Major ticks can be changed by QwtScaleDraw::setScale

See also:
  labelMap(), scaleDraw(), setScale()

void QwtCompass::setRose | ( | QwtCompassRose * | rose | ) |

Set a rose for the compass

Parameters:

  | rose | Compass rose

Warning:
  The rose will be deleted, when a different rose is set or in ~QwtCompass

See also:
  rose()