00001 // **************************************************************************** 00002 // Filename: QtApplicationHandler.h 00003 // Author: Florian Hecht 00004 // Date: 2008 00005 // **************************************************************************** 00006 00007 00008 #ifndef _QT_APPLICATION_HANDLER_H_ 00009 #define _QT_APPLICATION_HANDLER_H_ 00010 00011 00012 // **************************************************************************** 00013 // Includes 00014 // **************************************************************************** 00015 00016 #include <qobject.h> 00017 #include "Interfaces/ApplicationHandlerInterface.h" 00018 00019 00020 // **************************************************************************** 00021 // Forward declarations 00022 // **************************************************************************** 00023 00024 class QApplication; 00025 00026 00027 00028 // **************************************************************************** 00029 // CQtApplicationHandler 00030 // **************************************************************************** 00031 00032 class CQtApplicationHandler : public QObject, public CApplicationHandlerInterface 00033 { 00034 Q_OBJECT 00035 00036 public: 00037 CQtApplicationHandler(int argc = 0, char **argv = 0); 00038 ~CQtApplicationHandler(); 00039 00040 bool ProcessEventsAndGetExit(); 00041 void Reset(); 00042 00043 static CQtApplicationHandler *GetApplicationHandler() 00044 { 00045 return m_pQtApplicationHandler; 00046 } 00047 00048 public slots: 00049 void Exit() {m_bExit = true; } 00050 00051 private: 00052 bool m_bExit; 00053 00054 static CQtApplicationHandler *m_pQtApplicationHandler; 00055 QApplication *m_pApplication; 00056 }; 00057 00058 00059 00060 #endif /* _QT_APPLICATION_HANDLER_H_ */