///////////////////////////////////////////////////////////////////////////////
-// 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
///////////////////////////////////////////////////////////////////////////////
// ============================================================================
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 ) ;
return true;
}
+bool wxTopLevelWindowMac::Create(wxWindow *parent,
+ WXWindow nativeWindow)
+{
+ if ( !wxNonOwnedWindow::Create(parent, nativeWindow ) )
+ return false;
+
+ wxTopLevelWindows.Append(this);
+
+ return true;
+}
+
wxTopLevelWindowMac::~wxTopLevelWindowMac()
{
}
if (m_nowpeer && m_nowpeer->GetWXWindow())
ClearKeyboardFocus( (WindowRef)m_nowpeer->GetWXWindow() );
#endif
- return wxTopLevelWindowBase::Destroy();
+ // delayed destruction: the tlw will be deleted during the next idle
+ // loop iteration
+ if ( !wxPendingDelete.Member(this) )
+ wxPendingDelete.Append(this);
+
+ Hide();
+ return true;
}
bool wxTopLevelWindowMac::IsMaximized() const
{
+ if ( m_nowpeer == NULL )
+ return false;
+
return m_nowpeer->IsMaximized();
}
bool wxTopLevelWindowMac::IsIconized() const
{
+ if ( m_nowpeer == NULL )
+ return false;
+
return m_nowpeer->IsIconized();
}
void wxTopLevelWindowMac::SetTitle(const wxString& title)
{
- wxWindow::SetLabel( title ) ;
+ m_label = title ;
+
if ( m_nowpeer )
m_nowpeer->SetTitle(title, GetFont().GetEncoding() );
}
return;
m_nowpeer->ShowWithoutActivating();
-
- // TODO: Should we call EVT_SIZE here?
+
+ // because apps expect a size event to occur at this moment
+ SendSizeEvent();
}
bool wxTopLevelWindowMac::ShowFullScreen(bool show, long style)
{
return m_nowpeer->IsModified();
}
+
+void wxTopLevelWindowMac::SetRepresentedFilename(const wxString& filename)
+{
+ m_nowpeer->SetRepresentedFilename(filename);
+}