Eneboo - Documentación para desarrolladores
|
00001 /* -*- mode: C++ ; c-file-style: "stroustrup" -*- ***************************** 00002 * Qwt Widget Library 00003 * Copyright (C) 1997 Josef Wilgen 00004 * Copyright (C) 2002 Uwe Rathmann 00005 * 00006 * This library is free software; you can redistribute it and/or 00007 * modify it under the terms of the Qwt License, Version 1.0 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: 00055 enum Hand 00056 { 00057 SecondHand, 00058 MinuteHand, 00059 HourHand, 00060 00061 NHands 00062 }; 00063 00064 explicit QwtAnalogClock(QWidget* parent = NULL); 00065 #if QT_VERSION < 0x040000 00066 explicit QwtAnalogClock(QWidget* parent, const char *name); 00067 #endif 00068 virtual ~QwtAnalogClock(); 00069 00070 virtual void setHand(Hand, QwtDialNeedle *); 00071 const QwtDialNeedle *hand(Hand) const; 00072 QwtDialNeedle *hand(Hand); 00073 00074 public slots: 00075 void setCurrentTime(); 00076 void setTime(const QTime & = QTime::currentTime()); 00077 00078 protected: 00079 virtual QwtText scaleLabel(double) const; 00080 00081 virtual void drawNeedle(QPainter *, const QPoint &, 00082 int radius, double direction, QPalette::ColorGroup) const; 00083 00084 virtual void drawHand(QPainter *, Hand, const QPoint &, 00085 int radius, double direction, QPalette::ColorGroup) const; 00086 00087 private: 00088 virtual void setNeedle(QwtDialNeedle *); 00089 void initClock(); 00090 00091 QwtDialNeedle *d_hand[NHands]; 00092 }; 00093 00094 #endif