implement event loop for console applications (heavily modified patch 1715735)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46029 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -143,12 +143,12 @@ bool wxEventLoopImpl::SendIdleEvent()
|
||||
// wxEventLoop running and exiting
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
wxEventLoop::~wxEventLoop()
|
||||
wxGUIEventLoop::~wxGUIEventLoop()
|
||||
{
|
||||
wxASSERT_MSG( !m_impl, _T("should have been deleted in Run()") );
|
||||
}
|
||||
|
||||
int wxEventLoop::Run()
|
||||
int wxGUIEventLoop::Run()
|
||||
{
|
||||
// event loops are not recursive, you need to create another loop!
|
||||
wxCHECK_MSG( !IsRunning(), -1, _T("can't reenter a message loop") );
|
||||
@@ -191,7 +191,7 @@ int wxEventLoop::Run()
|
||||
return exitcode;
|
||||
}
|
||||
|
||||
void wxEventLoop::Exit(int rc)
|
||||
void wxGUIEventLoop::Exit(int rc)
|
||||
{
|
||||
wxCHECK_RET( IsRunning(), _T("can't call Exit() if not running") );
|
||||
|
||||
@@ -203,13 +203,13 @@ void wxEventLoop::Exit(int rc)
|
||||
// wxEventLoop message processing dispatching
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
bool wxEventLoop::Pending() const
|
||||
bool wxGUIEventLoop::Pending() const
|
||||
{
|
||||
XFlush( wxGlobalDisplay() );
|
||||
return (XPending( wxGlobalDisplay() ) > 0);
|
||||
}
|
||||
|
||||
bool wxEventLoop::Dispatch()
|
||||
bool wxGUIEventLoop::Dispatch()
|
||||
{
|
||||
XEvent event;
|
||||
|
||||
@@ -253,7 +253,7 @@ bool wxEventLoop::Dispatch()
|
||||
// An X11 event was pending, get it
|
||||
if (wxFD_ISSET( fd, &readset ))
|
||||
XNextEvent( wxGlobalDisplay(), &event );
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
else
|
||||
@@ -263,7 +263,7 @@ bool wxEventLoop::Dispatch()
|
||||
|
||||
#if wxUSE_SOCKETS
|
||||
// handle any pending socket events:
|
||||
wxSelectDispatcher::Get().RunLoop(0);
|
||||
wxSelectDispatcher::DispatchPending();
|
||||
#endif
|
||||
|
||||
(void) m_impl->ProcessEvent( &event );
|
||||
|
Reference in New Issue
Block a user