You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
85 lines
2.1 KiB
85 lines
2.1 KiB
/* -*- 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) |
|
|
|
#if defined(QT_NO_STL) || QT_VERSION < 0x040000 || QT_VERSION > 0x040001 |
|
/* |
|
Unfortunately Qt 4.0.0/Qt 4.0.1 contains uncompilable |
|
code in the STL adaptors of qmap.h. The declaration below |
|
instantiates this code resulting in compiler errors. |
|
If you really need the map to be exported, remove the condition above |
|
and fix the qmap.h |
|
*/ |
|
// MOC_SKIP_BEGIN |
|
template class QWT_EXPORT QMap<double, QString>; |
|
// MOC_SKIP_END |
|
#endif |
|
|
|
#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 dials1.png |
|
|
|
\note The examples/dials example shows how to use QwtCompass. |
|
*/ |
|
|
|
class QWT_EXPORT QwtCompass: public QwtDial |
|
{ |
|
Q_OBJECT |
|
|
|
public: |
|
explicit QwtCompass( QWidget* parent = NULL); |
|
#if QT_VERSION < 0x040000 |
|
explicit QwtCompass(QWidget* parent, const char *name); |
|
#endif |
|
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 QwtText 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: |
|
void initCompass(); |
|
|
|
class PrivateData; |
|
PrivateData *d_data; |
|
}; |
|
|
|
#endif
|
|
|