![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2007 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: DtQtDeTicker.h,v $ $Revision: 1.21 $ $State: Exp $ 00007 ******************************************************************************/ 00008 00012 00013 #pragma once 00014 #include <vrvCoreQt/vrvCoreQt.h> 00015 #include <vrvUtil/DtVirtualBaseClass.h> 00016 #include <QtCore/QObject> 00017 #include <QtCore/QTimer> 00018 00019 class DtTimedSection; 00020 00021 namespace makVrv 00022 { 00023 class DtDe; 00024 00029 class DT_DLL_VRVCOREQT DtQtDeTicker : public QObject 00030 { 00031 00032 Q_OBJECT 00033 00034 public: 00035 friend class DtQtDeTickerProvider; 00036 ~DtQtDeTicker(); 00037 00038 public slots: 00039 00043 virtual void tick(); 00044 00045 protected: 00046 00050 class DirectTickerTimer : public QTimer 00051 { 00052 public: 00053 DirectTickerTimer(DtQtDeTicker& ticker ); 00054 protected: 00056 virtual bool event(QEvent* e); 00057 DtQtDeTicker& myTicker; 00058 }; 00059 00061 DtQtDeTicker(DtDe& de, QObject* parent); 00062 00063 protected: 00064 00065 DtDe* myDe; 00066 DtTimedSection* myPerformanceTimer; 00067 QTimer* myTimer; 00068 00069 }; 00070 00074 class DT_DLL_VRVCOREQT DtQtDeTickerProvider : public DtVirtualBaseClass 00075 { 00076 00077 public: 00078 00080 virtual ~DtQtDeTickerProvider(); 00081 00083 static DtQtDeTickerProvider& instance(DtDe& de); 00084 00086 static void registerInstance(DtDe& de, DtQtDeTickerProvider* instance); 00087 00090 DtQtDeTicker* ticker(QObject* parent); 00091 00092 protected: 00093 00095 DtQtDeTickerProvider(DtDe& de); 00096 00097 protected: 00098 00099 DtDe* myDe; 00100 DtQtDeTicker* myTicker; 00101 00102 }; 00103 }