1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
|
/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
* Qwt Widget Library
* Copyright (C) 1997 Josef Wilgen
* Copyright (C) 2002 Uwe Rathmann
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the Qwt License, Version 1.0
*****************************************************************************/
#ifndef QWT_COMPASS_H
#define QWT_COMPASS_H 1
#include <qstring.h>
#include <qmap.h>
#include "qwt_dial.h"
#if defined(QWT_TEMPLATEDLL)
// MOC_SKIP_BEGIN
template class QWT_EXPORT QMap<double, QString>;
// MOC_SKIP_END
#endif
class QwtCompassRose;
/*!
\brief A Compass Widget
QwtCompass is a widget to display and enter directions. It consists
of a scale, an optional needle and rose.
\image html compass.gif
\note The examples/dials example shows how to use QwtCompass.
*/
class QWT_EXPORT QwtCompass: public QwtDial
{
Q_OBJECT
public:
QwtCompass( QWidget* parent=0, const char* name = 0);
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:
virtual QString scaleLabel(double value) const;
virtual void drawRose(QPainter *, const QPoint ¢er,
int radius, double north, QPalette::ColorGroup) const;
virtual void drawScaleContents(QPainter *,
const QPoint ¢er, int radius) const;
virtual void keyPressEvent(QKeyEvent *);
private:
QwtCompassRose *d_rose;
QMap<double, QString> d_labelMap;
};
#endif
|