X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/20bc5ad8dd419d0d3e524079f8fdbe3d8c14231f..c13d6ac1ea199d1e3908d40d129e2fd5a4d82df7:/src/palmos/evtloop.cpp diff --git a/src/palmos/evtloop.cpp b/src/palmos/evtloop.cpp index 8e981300d1..6b15d3d2cd 100644 --- a/src/palmos/evtloop.cpp +++ b/src/palmos/evtloop.cpp @@ -1,12 +1,12 @@ /////////////////////////////////////////////////////////////////////////////// // Name: src/palmos/evtloop.cpp -// Purpose: implements wxEventLoop for Palm OS +// Purpose: implements wxGUIEventLoop for Palm OS // Author: William Osborne - minimal working wxPalmOS port // Modified by: // Created: 10.14.04 // RCS-ID: $Id$ // Copyright: (c) William Osborne -// License: wxWindows licence +// Licence: wxWindows licence /////////////////////////////////////////////////////////////////////////////// // ============================================================================ @@ -17,10 +17,6 @@ // headers // ---------------------------------------------------------------------------- -#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) - #pragma implementation "evtloop.h" -#endif - // For compilers that support precompilation, includes "wx.h". #include "wx/wxprec.h" @@ -37,7 +33,6 @@ #include "wx/tooltip.h" #include "wx/except.h" -#include "wx/ptr_scpd.h" #if wxUSE_THREADS #include "wx/thread.h" @@ -55,77 +50,49 @@ #include #include -// ---------------------------------------------------------------------------- -// helper class -// ---------------------------------------------------------------------------- - -// this object sets the wxEventLoop given to the ctor as the currently active -// one and unsets it in its dtor -class wxEventLoopActivator -{ -public: - wxEventLoopActivator(wxEventLoop **pActive, - wxEventLoop *evtLoop) - { - m_pActive = pActive; - m_evtLoopOld = *pActive; - *pActive = evtLoop; - } - - ~wxEventLoopActivator() - { - // restore the previously active event loop - *m_pActive = m_evtLoopOld; - } - -private: - wxEventLoop *m_evtLoopOld; - wxEventLoop **m_pActive; -}; - // ============================================================================ -// wxEventLoop implementation +// wxGUIEventLoop implementation // ============================================================================ -wxEventLoop *wxEventLoopBase::ms_activeLoop = NULL; - // ---------------------------------------------------------------------------- // ctor/dtor // ---------------------------------------------------------------------------- -wxEventLoop::wxEventLoop() +wxGUIEventLoop::wxGUIEventLoop() { m_shouldExit = false; m_exitcode = 0; } // ---------------------------------------------------------------------------- -// wxEventLoop message processing +// wxGUIEventLoop message processing // ---------------------------------------------------------------------------- -void wxEventLoop::ProcessMessage(WXMSG *msg) +void wxGUIEventLoop::ProcessMessage(WXMSG *msg) { } -bool wxEventLoop::PreProcessMessage(WXMSG *msg) +bool wxGUIEventLoop::PreProcessMessage(WXMSG *msg) { return false; } // ---------------------------------------------------------------------------- -// wxEventLoop running and exiting +// wxGUIEventLoop running and exiting // ---------------------------------------------------------------------------- -bool wxEventLoop::IsRunning() const +bool wxGUIEventLoop::IsRunning() const { return true; } -int wxEventLoop::Run() +int wxGUIEventLoop::Run() { status_t error; EventType event; + wxEventLoopActivator activate(this); + do { wxTheApp && wxTheApp->ProcessIdle(); @@ -144,7 +111,7 @@ int wxEventLoop::Run() return 0; } -void wxEventLoop::Exit(int rc) +void wxGUIEventLoop::Exit(int rc) { FrmCloseAllForms(); @@ -154,16 +121,31 @@ void wxEventLoop::Exit(int rc) } // ---------------------------------------------------------------------------- -// wxEventLoop message processing dispatching +// wxGUIEventLoop message processing dispatching // ---------------------------------------------------------------------------- -bool wxEventLoop::Pending() const +bool wxGUIEventLoop::Pending() const { return false; } -bool wxEventLoop::Dispatch() +bool wxGUIEventLoop::Dispatch() { return false; } +int wxGUIEventLoop::DispatchTimeout(unsigned long timeout) +{ + return -1; +} + +void wxGUIEventLoop::WakeUp() +{ + return; +} + +bool wxGUIEventLoop::YieldFor(long eventsToProcess) +{ + return true; +} +