00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
#ifndef QWT_ANALOG_CLOCK_H
00011
#define QWT_ANALOG_CLOCK_H
00012
00013
#include <qdatetime.h>
00014
#include "qwt_global.h"
00015
#include "qwt_dial.h"
00016
#include "qwt_dial_needle.h"
00017
00045 class QWT_EXPORT QwtAnalogClock:
public QwtDial
00046 {
00047 Q_OBJECT
00048
00049
public:
00050
enum Hand
00051 {
00052 SecondHand,
00053 MinuteHand,
00054 HourHand,
00055
00056 NHands
00057 };
00058
00059 QwtAnalogClock(QWidget* parent=0,
const char* name = 0);
00060
virtual ~QwtAnalogClock();
00061
00062
virtual void setHand(Hand,
QwtDialNeedle *);
00063
const QwtDialNeedle *hand(Hand)
const;
00064
QwtDialNeedle *hand(Hand);
00065
00066
public slots:
00067
void setCurrentTime();
00068
void setTime(
const QTime & = QTime::currentTime());
00069
00070
protected:
00071
virtual QString
scaleLabel(
double)
const;
00072
00073
virtual void drawNeedle(QPainter *,
const QPoint &,
00074
int radius,
double direction, QPalette::ColorGroup)
const;
00075
00076
virtual void drawHand(QPainter *, Hand,
const QPoint &,
00077
int radius,
double direction, QPalette::ColorGroup)
const;
00078
00079
private:
00080
virtual void setNeedle(
QwtDialNeedle *);
00081
00082
QwtDialNeedle *d_hand[NHands];
00083 };
00084
00085
#endif