X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/0056673c672ab444863c57344936c9a322124df6..0e05b13c4296284556a05e67d05addae9beb17b4:/src/osx/iphone/evtloop.mm diff --git a/src/osx/iphone/evtloop.mm b/src/osx/iphone/evtloop.mm index 67e4784965..0477771765 100644 --- a/src/osx/iphone/evtloop.mm +++ b/src/osx/iphone/evtloop.mm @@ -32,6 +32,10 @@ #include "wx/log.h" +#if wxUSE_GUI + #include "wx/nonownedwnd.h" +#endif + #include "wx/osx/private.h" // ============================================================================ @@ -77,24 +81,56 @@ static int CalculateUIEventMaskFromEventCategory(wxEventCategory cat) wxGUIEventLoop::wxGUIEventLoop() { - m_sleepTime = 0.0; +} + +void wxGUIEventLoop::DoRun() +{ + if ( IsMain() ) + { + wxMacAutoreleasePool pool; + const char* appname = "app"; + UIApplicationMain( 1, (char**) &appname, nil, @"wxAppDelegate" ); + } + else + { + wxCFEventLoop::DoRun(); + } } int wxGUIEventLoop::DoDispatchTimeout(unsigned long timeout) { - wxMacAutoreleasePool autoreleasepool; + return wxCFEventLoop::DoDispatchTimeout(timeout); +} -/* - UIEvent *event = [[UIApplication sharedApplication] - nextEventMatchingMask:NSAnyEventMask - untilDate:[NSDate dateWithTimeIntervalSinceNow: timeout/1000] - inMode:NSDefaultRunLoopMode - dequeue: YES]; +void wxGUIEventLoop::DoStop() +{ + return wxCFEventLoop::DoStop(); +} +// TODO move into a evtloop_osx.cpp - if ( event == nil ) - return -1; +wxModalEventLoop::wxModalEventLoop(wxWindow *modalWindow) +{ + m_modalWindow = dynamic_cast (modalWindow); + wxASSERT_MSG( m_modalWindow != NULL, "must pass in a toplevel window for modal event loop" ); + m_modalNativeWindow = m_modalWindow->GetWXWindow(); +} - [NSApp sendEvent: event]; -*/ - return 1; +wxModalEventLoop::wxModalEventLoop(WXWindow modalNativeWindow) +{ + m_modalWindow = NULL; + wxASSERT_MSG( modalNativeWindow != NULL, "must pass in a toplevel window for modal event loop" ); + m_modalNativeWindow = modalNativeWindow; +} + +// END move into a evtloop_osx.cpp + + +void wxModalEventLoop::DoRun() +{ + // presentModalViewController:animated: +} + +void wxModalEventLoop::DoStop() +{ + // (void)dismissModalViewControllerAnimated:(BOOL)animated }