8fc5475e15
Commit history was lost in the git to svn merge for trunk, so this reflect work done in two GSOC projects and/or by several authors. Lines changed by each user was the main metric used to ack major contributions. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77497 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
79 lines
1.7 KiB
C++
79 lines
1.7 KiB
C++
/////////////////////////////////////////////////////////////////////////////
|
|
// Name: wx/qt/evtloop.h
|
|
// Author: Peter Most, Javier Torres, Mariano Reingart, Sean D'Epagnier
|
|
// Copyright: (c) 2010 wxWidgets dev team
|
|
// Licence: wxWindows licence
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
#ifndef _WX_QT_EVTLOOP_H_
|
|
#define _WX_QT_EVTLOOP_H_
|
|
|
|
#include <QtCore/QTimer>
|
|
|
|
class WXDLLIMPEXP_BASE wxQtEventLoopBase : public wxEventLoopBase
|
|
{
|
|
public:
|
|
wxQtEventLoopBase();
|
|
~wxQtEventLoopBase();
|
|
|
|
virtual int DoRun();
|
|
virtual void ScheduleExit(int rc = 0);
|
|
virtual bool Pending() const;
|
|
virtual bool Dispatch();
|
|
virtual int DispatchTimeout(unsigned long timeout);
|
|
virtual void WakeUp();
|
|
virtual void DoYieldFor(long eventsToProcess);
|
|
|
|
#if wxUSE_EVENTLOOP_SOURCE
|
|
virtual wxEventLoopSource *AddSourceForFD(int fd, wxEventLoopSourceHandler *handler, int flags);
|
|
#endif // wxUSE_EVENTLOOP_SOURCE
|
|
protected:
|
|
|
|
private:
|
|
QTimer *m_qtIdleTimer;
|
|
|
|
wxDECLARE_NO_COPY_CLASS(wxQtEventLoopBase);
|
|
};
|
|
|
|
|
|
#if wxUSE_GUI
|
|
|
|
class WXDLLIMPEXP_CORE wxGUIEventLoop : public wxQtEventLoopBase
|
|
{
|
|
public:
|
|
wxGUIEventLoop();
|
|
};
|
|
|
|
#else // !wxUSE_GUI
|
|
|
|
#if wxUSE_CONSOLE_EVENTLOOP
|
|
|
|
class WXDLLIMPEXP_BASE wxConsoleEventLoop : public wxQtEventLoopBase
|
|
{
|
|
public:
|
|
wxConsoleEventLoop();
|
|
};
|
|
|
|
#endif // wxUSE_CONSOLE_EVENTLOOP
|
|
|
|
#endif // wxUSE_GUI
|
|
|
|
|
|
class wxQtEventLoopBase;
|
|
|
|
class wxQtIdleTimer : public QTimer
|
|
{
|
|
|
|
public:
|
|
wxQtIdleTimer( wxQtEventLoopBase *eventLoop );
|
|
virtual bool eventFilter( QObject * watched, QEvent * event );
|
|
|
|
private:
|
|
void idle();
|
|
|
|
private:
|
|
wxQtEventLoopBase *m_eventLoop;
|
|
};
|
|
|
|
#endif // _WX_QT_EVTLOOP_H_
|