virtual bool Yield(bool onlyIfNeeded = FALSE);
virtual void WakeUpIdle() { CocoaRequestIdle(); }
- /* Idle Processing */
- void OnIdle(wxIdleEvent& event);
-
virtual bool Initialize(int& argc, wxChar **argv);
virtual void CleanUp();
virtual bool CallOnInit();
#if !USE_SHARED_LIBRARY
IMPLEMENT_DYNAMIC_CLASS(wxApp, wxEvtHandler)
BEGIN_EVENT_TABLE(wxApp, wxEvtHandler)
- EVT_IDLE(wxApp::OnIdle)
// EVT_END_SESSION(wxApp::OnEndSession)
// EVT_QUERY_END_SESSION(wxApp::OnQueryEndSession)
END_EVENT_TABLE()
{
}
-void wxApp::OnIdle(wxIdleEvent& event)
-{
- wxLogDebug("wxApp::OnIdle");
- static bool s_inOnIdle = FALSE;
-
- // Avoid recursion (via ProcessEvent default case)
- if ( s_inOnIdle )
- return;
- s_inOnIdle = TRUE;
-
-
- DeletePendingObjects();
-
- // flush the logged messages if any
- wxLog *pLog = wxLog::GetActiveTarget();
- if ( pLog != NULL && pLog->HasPendingMessages() )
- pLog->Flush();
-
- // Send OnIdle events to all windows
- bool needMore = SendIdleEvents();
-
- if (needMore)
- event.RequestMore(TRUE);
-
- s_inOnIdle = FALSE;
-}
-
// Yield to other processes
bool wxApp::Yield(bool onlyIfNeeded)