summaryrefslogtreecommitdiffstats
path: root/src/gui/kernel/qplatformeventloopintegration_qpa.h
diff options
context:
space:
mode:
authorJørgen Lind <jorgen.lind@nokia.com>2010-10-28 12:35:43 (GMT)
committerJørgen Lind <jorgen.lind@nokia.com>2010-10-28 12:57:40 (GMT)
commitc1148ee9a60a6fae88ca09c21203e3f6c68c3c63 (patch)
tree434cd7aca5e8498e6cca489b9606015e9e8d8803 /src/gui/kernel/qplatformeventloopintegration_qpa.h
parent8b7dad6c1290c3c5f9ce35ea9d13a4b7e6398572 (diff)
downloadQt-c1148ee9a60a6fae88ca09c21203e3f6c68c3c63.zip
Qt-c1148ee9a60a6fae88ca09c21203e3f6c68c3c63.tar.gz
Qt-c1148ee9a60a6fae88ca09c21203e3f6c68c3c63.tar.bz2
Lighthouse: eventloop integration rework.
For cocoa we really need to be able to run the cocoa eventloop [NSApplicatyion run]. Also it makes sense for openKODE without nvidia extensions.
Diffstat (limited to 'src/gui/kernel/qplatformeventloopintegration_qpa.h')
-rw-r--r--src/gui/kernel/qplatformeventloopintegration_qpa.h24
1 files changed, 21 insertions, 3 deletions
diff --git a/src/gui/kernel/qplatformeventloopintegration_qpa.h b/src/gui/kernel/qplatformeventloopintegration_qpa.h
index a06fecf..6e0f984 100644
--- a/src/gui/kernel/qplatformeventloopintegration_qpa.h
+++ b/src/gui/kernel/qplatformeventloopintegration_qpa.h
@@ -43,6 +43,7 @@
#define QPLATFORMEVENTLOOPINTEGRATION_QPA_H
#include <QtCore/qglobal.h>
+#include <QtCore/QScopedPointer>
QT_BEGIN_HEADER
@@ -50,11 +51,28 @@ QT_BEGIN_NAMESPACE
QT_MODULE(Gui)
-class QPlatformEventLoopIntegration
+class QPlatformEventLoopIntegrationPrivate;
+
+class Q_GUI_EXPORT QPlatformEventLoopIntegration
{
+ Q_DECLARE_PRIVATE(QPlatformEventLoopIntegration);
public:
- virtual void processEvents( qint64 msec ) = 0;
- virtual void wakeup() = 0;
+ QPlatformEventLoopIntegration();
+ virtual ~QPlatformEventLoopIntegration();
+
+ virtual void startEventLoop() = 0;
+ virtual void quitEventLoop() = 0;
+ virtual void qtNeedsToProcessEvents() = 0;
+
+ qint64 nextTimerEvent() const;
+ void setNextTimerEvent(qint64 nextTimerEvent);
+
+ static void processEvents();
+protected:
+ QScopedPointer<QPlatformEventLoopIntegrationPrivate> d_ptr;
+private:
+ Q_DISABLE_COPY(QPlatformEventLoopIntegration);
+ friend class QEventDispatcherQPA;
};
QT_END_NAMESPACE