X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/4cc16dcb8b8bf027af89c0c4d73f97ffdd44b997..eea4d01c65f9b29baa1193db762b4c6b8144af24:/src/osx/iphone/nonownedwnd.mm diff --git a/src/osx/iphone/nonownedwnd.mm b/src/osx/iphone/nonownedwnd.mm index 8fe020d158..2f10c57c35 100644 --- a/src/osx/iphone/nonownedwnd.mm +++ b/src/osx/iphone/nonownedwnd.mm @@ -1,10 +1,10 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: src/osx/cocoa/nonownedwnd.mm +// Name: src/osx/iphone/nonownedwnd.mm // Purpose: non owned window for iphone // Author: Stefan Csomor // Modified by: // Created: 2008-06-20 -// RCS-ID: $Id: nonownedwnd.mm 48805 2007-09-19 14:52:25Z SC $ +// RCS-ID: $Id$ // Copyright: (c) Stefan Csomor // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -135,6 +135,11 @@ long style, long extraStyle, const wxString& name ) [m_macWindow setWindowLevel:level]; } +void wxNonOwnedWindowIPhoneImpl::Create( wxWindow* WXUNUSED(parent), WXWindow nativeWindow ) +{ + m_macWindow = nativeWindow; +} + WXWindow wxNonOwnedWindowIPhoneImpl::GetWXWindow() const { @@ -268,6 +273,11 @@ void wxNonOwnedWindowIPhoneImpl::Iconize( bool iconize ) void wxNonOwnedWindowIPhoneImpl::Maximize(bool maximize) { + if ( maximize ) + { + CGRect r = [[UIScreen mainScreen] bounds]; + [m_macWindow setFrame:r]; + } } bool wxNonOwnedWindowIPhoneImpl::IsFullScreen() const @@ -304,6 +314,14 @@ void wxNonOwnedWindowIPhoneImpl::WindowToScreen( int *x, int *y ) *y = p.y; } +wxNonOwnedWindowImpl* wxNonOwnedWindowImpl::CreateNonOwnedWindow( wxNonOwnedWindow* wxpeer, wxWindow* parent, WXWindow nativeWindow) +{ + wxNonOwnedWindowIPhoneImpl* now = new wxNonOwnedWindowIPhoneImpl( wxpeer ); + now->Create( parent, nativeWindow ); + return now; +} + + wxNonOwnedWindowImpl* wxNonOwnedWindowImpl::CreateNonOwnedWindow( wxNonOwnedWindow* wxpeer, wxWindow* parent, const wxPoint& pos, const wxSize& size, long style, long extraStyle, const wxString& name ) { @@ -321,8 +339,12 @@ wxWidgetImpl* wxWidgetImpl::CreateContentView( wxNonOwnedWindow* now ) wxUIContentView* contentview = [[wxUIContentView alloc] initWithFrame:( fullscreen ? frame : appframe ) ]; contentview.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight; - wxUIContentViewController* controller = [[wxUIContentViewController alloc] init]; + wxUIContentViewController* controller = [[wxUIContentViewController alloc] initWithNibName:nil bundle:nil]; + +#ifdef __IPHONE_3_0 controller.wantsFullScreenLayout = fullscreen; +#endif + controller.view = contentview; [contentview release]; [contentview setController:controller]; @@ -390,15 +412,18 @@ wxWidgetImpl* wxWidgetImpl::CreateContentView( wxNonOwnedWindow* now ) -(void) viewWillDisappear:(BOOL)animated { wxWidgetIPhoneImpl* impl = (wxWidgetIPhoneImpl* ) wxWidgetImpl::FindFromWXWidget( [self view] ); - wxNonOwnedWindow* now = dynamic_cast (impl->GetWXPeer()); - wxNonOwnedWindowIPhoneImpl* nowimpl = dynamic_cast (now->GetNonOwnedPeer()); - - if ( nowimpl->InitialShowEventSent() ) + if( impl ) { - wxShowEvent eventShow(now->GetId(), false); - eventShow.SetEventObject(now); - - now->HandleWindowEvent(eventShow); + wxNonOwnedWindow* now = dynamic_cast (impl->GetWXPeer()); + wxNonOwnedWindowIPhoneImpl* nowimpl = dynamic_cast (now->GetNonOwnedPeer()); + + if ( nowimpl->InitialShowEventSent() ) + { + wxShowEvent eventShow(now->GetId(), false); + eventShow.SetEventObject(now); + + now->HandleWindowEvent(eventShow); + } } }