author | kergoth <kergoth> | 2002-01-25 22:14:26 (UTC) |
---|---|---|
committer | kergoth <kergoth> | 2002-01-25 22:14:26 (UTC) |
commit | 15318cad33835e4e2dc620d033e43cd930676cdd (patch) (side-by-side diff) | |
tree | c2fa0399a2c47fda8e2cd0092c73a809d17f68eb /noncore/tools/clock/clock.h | |
download | opie-15318cad33835e4e2dc620d033e43cd930676cdd.zip opie-15318cad33835e4e2dc620d033e43cd930676cdd.tar.gz opie-15318cad33835e4e2dc620d033e43cd930676cdd.tar.bz2 |
Initial revision
-rw-r--r-- | noncore/tools/clock/clock.h | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/noncore/tools/clock/clock.h b/noncore/tools/clock/clock.h new file mode 100644 index 0000000..6dbebf7 --- a/dev/null +++ b/noncore/tools/clock/clock.h @@ -0,0 +1,87 @@ +/********************************************************************** +** Copyright (C) 2000 Trolltech AS. All rights reserved. +** +** This file is part of Qtopia Environment. +** +** This file may be distributed and/or modified under the terms of the +** GNU General Public License version 2 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. +** +** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE +** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +** +** See http://www.trolltech.com/gpl/ for GPL licensing information. +** +** Contact info@trolltech.com if any conditions of this licensing are +** not clear to you. +** +**********************************************************************/ +#ifndef CLOCK_H +#define CLOCK_H + +#include <qdatetime.h> +#include <qvbox.h> + +class QLCDNumber; +class QLabel; +class QTimer; +class QRadioButton; +class QPushButton; + +class AnalogClock : public QFrame +{ + Q_OBJECT + +public: + AnalogClock( QWidget * parent = 0, const char * name = 0 ) + : QFrame( parent, name ), clear(false) {} + + QSizePolicy sizePolicy() const; + + void display( const QTime& time ); + +protected: + void drawContents( QPainter *p ); + +private: + QPoint rotate( QPoint center, QPoint p, int angle ); + + QTime currTime; + QTime prevTime; + bool clear; +}; + +class Clock : public QVBox +{ + Q_OBJECT + +public: + Clock( QWidget * parent = 0, const char * name = 0, WFlags f=0 ); + ~Clock(); + +private slots: + void slotSet(); + void slotReset(); + void modeSelect(int); + void updateClock(); + void changeClock( bool ); + +private: + void clearClock(); + + QTimer *t; + QLCDNumber *lcd; + QLabel *date; + QLabel *ampmLabel; + QPushButton *set, *reset; + QRadioButton *clockRB, *swatchRB; + AnalogClock *aclock; + QTime swatch_start; + int swatch_totalms; + bool swatch_running; + bool ampm; +}; + +#endif + |