X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/efb2fa41ff7dd0253b33ca4477c2642806574090..70175534bf8e76514ebaf878b327c2fee3f8525f:/src/osx/toplevel_osx.cpp?ds=sidebyside diff --git a/src/osx/toplevel_osx.cpp b/src/osx/toplevel_osx.cpp index cd91ccb82b..b660d8f474 100644 --- a/src/osx/toplevel_osx.cpp +++ b/src/osx/toplevel_osx.cpp @@ -1,12 +1,12 @@ /////////////////////////////////////////////////////////////////////////////// -// Name: src/osx/toplevel.cpp +// Name: src/osx/toplevel_osx.cpp // Purpose: implements wxTopLevelWindow for Mac // Author: Stefan Csomor // Modified by: // Created: 24.09.01 // RCS-ID: $Id$ // Copyright: (c) 2001-2004 Stefan Csomor -// License: wxWindows licence +// Licence: wxWindows licence /////////////////////////////////////////////////////////////////////////////// // ============================================================================ @@ -73,10 +73,7 @@ bool wxTopLevelWindowMac::Create(wxWindow *parent, long style, const wxString& name) { - int w = WidthDefault(size.x); - int h = HeightDefault(size.y); - - if ( !wxNonOwnedWindow::Create(parent, id, pos, wxSize(w,h), style, name) ) + if ( !wxNonOwnedWindow::Create(parent, id, pos, size, style, name) ) return false; wxWindow::SetLabel( title ) ; @@ -86,6 +83,17 @@ bool wxTopLevelWindowMac::Create(wxWindow *parent, return true; } +bool wxTopLevelWindowMac::Create(wxWindow *parent, + WXWindow nativeWindow) +{ + if ( !wxNonOwnedWindow::Create(parent, nativeWindow ) ) + return false; + + wxTopLevelWindows.Append(this); + + return true; +} + wxTopLevelWindowMac::~wxTopLevelWindowMac() { } @@ -95,7 +103,7 @@ bool wxTopLevelWindowMac::Destroy() // NB: this will get called during destruction if we don't do it now, // and may fire a kill focus event on a control being destroyed #if wxOSX_USE_CARBON - if (m_nowpeer->GetWXWindow()) + if (m_nowpeer && m_nowpeer->GetWXWindow()) ClearKeyboardFocus( (WindowRef)m_nowpeer->GetWXWindow() ); #endif return wxTopLevelWindowBase::Destroy(); @@ -114,6 +122,9 @@ void wxTopLevelWindowMac::Maximize(bool maximize) bool wxTopLevelWindowMac::IsMaximized() const { + if ( m_nowpeer == NULL ) + return false; + return m_nowpeer->IsMaximized(); } @@ -125,6 +136,9 @@ void wxTopLevelWindowMac::Iconize(bool iconize) bool wxTopLevelWindowMac::IsIconized() const { + if ( m_nowpeer == NULL ) + return false; + return m_nowpeer->IsIconized(); } @@ -147,7 +161,8 @@ wxPoint wxTopLevelWindowMac::GetClientAreaOrigin() const void wxTopLevelWindowMac::SetTitle(const wxString& title) { - wxWindow::SetLabel( title ) ; + m_label = title ; + if ( m_nowpeer ) m_nowpeer->SetTitle(title, GetFont().GetEncoding() ); } @@ -159,11 +174,13 @@ wxString wxTopLevelWindowMac::GetTitle() const void wxTopLevelWindowMac::ShowWithoutActivating() { - if ( !wxTopLevelWindowBase::Show(true) ) + // wxTopLevelWindowBase is derived from wxNonOwnedWindow, so don't + // call it here. + if ( !wxWindow::Show(true) ) return; m_nowpeer->ShowWithoutActivating(); - + // TODO: Should we call EVT_SIZE here? } @@ -187,12 +204,17 @@ bool wxTopLevelWindowMac::IsActive() return m_nowpeer->IsActive(); } -void wxTopLevelWindowMac::SetModified(bool modified) +void wxTopLevelWindowMac::OSXSetModified(bool modified) { m_nowpeer->SetModified(modified); } -bool wxTopLevelWindowMac::GetModified() const +bool wxTopLevelWindowMac::OSXIsModified() const { - return m_nowpeer->GetModified(); -} \ No newline at end of file + return m_nowpeer->IsModified(); +} + +void wxTopLevelWindowMac::SetRepresentedFilename(const wxString& filename) +{ + m_nowpeer->SetRepresentedFilename(filename); +}