00001 /*======================================================================= 00002 ** VSG_COPYRIGHT_TAG 00003 **=======================================================================*/ 00004 /*======================================================================= 00005 ** Author : Benjamin Grange (MMM YYYY) 00006 **=======================================================================*/ 00007 00008 #ifndef SOQTTIMER_H 00009 #define SOQTTIMER_H 00010 00011 #include <Inventor/sensors/SoSensor.h> 00012 #include <Inventor/sensors/SoSystemTimer.h> 00013 #include <Inventor/misc/SoRef.h> 00014 00015 #include <QTimer> 00016 00020 class QTVIEWERCOMPONENTS_API QtTimer : public QObject, public SoSystemTimer 00021 { 00022 Q_OBJECT 00023 public: 00024 00025 QtTimer(); 00026 00027 virtual void start(); 00028 00029 virtual void stop(); 00030 00031 virtual void setDelay(int time); 00032 00033 virtual bool isPending() const; 00034 00035 virtual void setRepeat(bool flag); 00036 00037 virtual void setTask(SoSystemTimerTask* task); 00038 00039 private Q_SLOTS: 00040 void execCallback(); 00041 00042 private: 00043 QTimer timer; 00044 SoRef<SoSystemTimerTask> m_task; 00045 int m_delay; 00046 }; 00047 00048 #endif 00049