X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8907154c1a8a6882c6797d1f16393ddfb23e7f3a..4c509aecb650100d0bca898ec05801a0fbcae1f4:/src/palmos/evtloop.cpp diff --git a/src/palmos/evtloop.cpp b/src/palmos/evtloop.cpp index 3de13673dc..5dc164d157 100644 --- a/src/palmos/evtloop.cpp +++ b/src/palmos/evtloop.cpp @@ -1,6 +1,6 @@ /////////////////////////////////////////////////////////////////////////////// // 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 @@ -51,77 +51,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(); @@ -140,7 +112,7 @@ int wxEventLoop::Run() return 0; } -void wxEventLoop::Exit(int rc) +void wxGUIEventLoop::Exit(int rc) { FrmCloseAllForms(); @@ -150,16 +122,26 @@ 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; +} +