Go to the
documentation of this file.
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042 #ifndef QTIMER_H
00043 #define QTIMER_H
00044
00045 #ifndef QT_NO_QOBJECT
00046
00047 #include <QtCore/qbasictimer.h>
00048 #include <QtCore/qobject.h>
00049
00050 QT_BEGIN_HEADER
00051
00052 QT_BEGIN_NAMESPACE
00053
00054 QT_MODULE(Core)
00055
00056 class Q_CORE_EXPORT QTimer : public QObject
00057 {
00058 Q_OBJECT
00059 Q_PROPERTY(bool singleShot READ isSingleShot WRITE setSingleShot)
00060 Q_PROPERTY(int interval READ interval WRITE setInterval)
00061 Q_PROPERTY(bool active READ isActive)
00062 public:
00063 explicit QTimer(QObject *parent = 0);
00064 #ifdef QT3_SUPPORT
00065 QT3_SUPPORT_CONSTRUCTOR QTimer(QObject *parent, const char *name);
00066 #endif
00067 ~QTimer();
00068
00069 inline bool isActive() const { return id >= 0; }
00070 int timerId() const { return id; }
00071
00072 void setInterval(int msec);
00073 int interval() const { return inter; }
00074
00075 inline void setSingleShot(bool singleShot);
00076 inline bool isSingleShot() const { return single; }
00077
00078 static void singleShot(int msec, QObject *receiver, const char *member);
00079
00080 public Q_SLOTS:
00081 void start(int msec);
00082
00083 void start();
00084 void stop();
00085
00086 #ifdef QT3_SUPPORT
00087 inline QT_MOC_COMPAT void changeInterval(int msec) { start(msec); }
00088 QT_MOC_COMPAT int start(int msec, bool sshot);
00089 #endif
00090
00091 Q_SIGNALS:
00092 void timeout();
00093
00094 protected:
00095 void timerEvent(QTimerEvent *);
00096
00097 private:
00098 Q_DISABLE_COPY(QTimer)
00099
00100 inline int startTimer(int){ return -1;}
00101 inline void killTimer(int){}
00102
00103 int id, inter, del;
00104 uint single : 1;
00105 uint nulltimer : 1;
00106 };
00107
00108 inline void QTimer::setSingleShot(bool asingleShot) { single = asingleShot; }
00109
00110 QT_END_NAMESPACE
00111
00112 QT_END_HEADER
00113
00114 #endif // QT_NO_QOBJECT
00115
00116 #endif // QTIMER_H