implemented wxEventLoop for wxMac
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@36846 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -47,13 +47,6 @@ class WXDLLEXPORT wxApp: public wxAppBase
|
||||
wxApp();
|
||||
virtual ~wxApp() {}
|
||||
|
||||
virtual int MainLoop();
|
||||
virtual void ExitMainLoop();
|
||||
virtual bool Pending() ;
|
||||
virtual bool Dispatch() ;
|
||||
|
||||
virtual void Exit();
|
||||
|
||||
virtual bool Yield(bool onlyIfNeeded = FALSE);
|
||||
virtual void WakeUpIdle();
|
||||
|
||||
@@ -69,6 +62,8 @@ class WXDLLEXPORT wxApp: public wxAppBase
|
||||
void OnEndSession(wxCloseEvent& event);
|
||||
void OnQueryEndSession(wxCloseEvent& event);
|
||||
|
||||
void MacDoOneEvent() ;
|
||||
|
||||
protected:
|
||||
bool m_showOnInit;
|
||||
int m_printMode; // wxPRINT_WINDOWS, wxPRINT_POSTSCRIPT
|
||||
@@ -80,8 +75,6 @@ public:
|
||||
virtual bool Initialize(int& argc, wxChar **argv);
|
||||
virtual void CleanUp();
|
||||
|
||||
bool IsExiting() { return !m_keepGoing ; }
|
||||
|
||||
// the installed application event handler
|
||||
WXEVENTHANDLERREF MacGetEventHandler() { return m_macEventHandler ; }
|
||||
WXEVENTHANDLERREF MacGetCurrentEventHandlerCallRef() { return m_macCurrentEventHandlerCallRef ; }
|
||||
@@ -98,8 +91,6 @@ public:
|
||||
int m_nCmdShow;
|
||||
|
||||
private:
|
||||
bool m_keepGoing ;
|
||||
|
||||
// mac specifics
|
||||
|
||||
WXEVENTHANDLERREF m_macEventHandler ;
|
||||
@@ -131,7 +122,6 @@ public:
|
||||
WXHRGN m_macSleepRgn ;
|
||||
WXHRGN m_macHelpRgn ;
|
||||
|
||||
void MacDoOneEvent() ;
|
||||
WXEVENTREF MacGetCurrentEvent() { return m_macCurrentEvent ; }
|
||||
void MacHandleOneEvent( WXEVENTREF ev ) ;
|
||||
|
||||
|
52
include/wx/mac/carbon/evtloop.h
Normal file
52
include/wx/mac/carbon/evtloop.h
Normal file
@@ -0,0 +1,52 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// Name: wx/mac/carbon/evtloop.h
|
||||
// Purpose: declaration of wxEventLoop for wxMac
|
||||
// Author: Vadim Zeitlin
|
||||
// Modified by:
|
||||
// Created: 2006-01-12
|
||||
// RCS-ID: $Id$
|
||||
// Copyright: (c) 2006 Vadim Zeitlin <vadim@wxwindows.org>
|
||||
// Licence: wxWindows licence
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef _WX_MAC_CARBON_EVTLOOP_H_
|
||||
#define _WX_MAC_CARBON_EVTLOOP_H_
|
||||
|
||||
// set wxMAC_USE_RUN_APP_EVENT_LOOP to 1 if the standard
|
||||
// RunApplicationEventLoop function should be used, otherwise
|
||||
// the lower level CarbonEventLoop will be used
|
||||
//
|
||||
// in the long run we should make this 1 by default but we will have to clean
|
||||
// up event handling to make sure we don't miss handling of things like pending
|
||||
// events etc and perhaps we will also have to pipe events through an
|
||||
// ueber-event-handler to make sure we have one place to do all these
|
||||
// house-keeping functions
|
||||
#define wxMAC_USE_RUN_APP_EVENT_LOOP 0
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// wxEventLoop
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
class WXDLLEXPORT wxEventLoop : public wxEventLoopBase
|
||||
{
|
||||
public:
|
||||
wxEventLoop();
|
||||
|
||||
// implement base class pure virtuals
|
||||
virtual int Run();
|
||||
virtual void Exit(int rc = 0);
|
||||
virtual bool Pending() const;
|
||||
virtual bool Dispatch();
|
||||
|
||||
private:
|
||||
// the loop exit code
|
||||
int m_exitcode;
|
||||
|
||||
#if !wxMAC_USE_RUN_APP_EVENT_LOOP
|
||||
// should we exit the loop?
|
||||
bool m_shouldExit;
|
||||
#endif // !wxMAC_USE_RUN_APP_EVENT_LOOP
|
||||
};
|
||||
|
||||
#endif // _WX_MAC_CARBON_EVTLOOP_H_
|
||||
|
18
include/wx/mac/evtloop.h
Normal file
18
include/wx/mac/evtloop.h
Normal file
@@ -0,0 +1,18 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// Name: include/wx/mac/evtloop.h
|
||||
// Purpose: simply forwards to wx/mac/carbon/evtloop.h for consistency with
|
||||
// the other Mac headers
|
||||
// Author: Vadim Zeitlin
|
||||
// Modified by:
|
||||
// Created: 2006-01-12
|
||||
// RCS-ID: $Id$
|
||||
// Copyright: (c) 2006 Vadim Zeitlin <vadim@wxwindows.org>
|
||||
// Licence: wxWindows licence
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifdef __WXMAC_CLASSIC__
|
||||
#error "wxEventLoop is not implemented for Classic build."
|
||||
#else
|
||||
#include "wx/mac/carbon/evtloop.h"
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user