make wxFrame a wxControlContainer too, so that it behaves in the same way as wxDialog

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46452 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Václav Slavík
2007-06-13 16:29:23 +00:00
parent 6b6bd02c07
commit 049908c573
9 changed files with 38 additions and 30 deletions

View File

@@ -40,8 +40,11 @@ BEGIN_EVENT_TABLE(wxTopLevelWindowBase, wxWindow)
EVT_CLOSE(wxTopLevelWindowBase::OnCloseWindow)
EVT_SIZE(wxTopLevelWindowBase::OnSize)
EVT_WINDOW_DESTROY(wxTopLevelWindowBase::OnChildDestroy)
WX_EVENT_TABLE_CONTROL_CONTAINER(wxTopLevelWindowBase)
END_EVENT_TABLE()
WX_DELEGATE_TO_CONTROL_CONTAINER(wxTopLevelWindowBase, wxWindow)
// ============================================================================
// implementation
// ============================================================================
@@ -58,10 +61,14 @@ wxTopLevelWindowBase::wxTopLevelWindowBase()
m_isShown = false;
m_winDefault = NULL;
m_winTmpDefault = NULL;
WX_INIT_CONTROL_CONTAINER();
}
wxTopLevelWindowBase::~wxTopLevelWindowBase()
{
m_winDefault = m_winTmpDefault = NULL;
// don't let wxTheApp keep any stale pointers to us
if ( wxTheApp && wxTheApp->GetTopWindow() == this )
wxTheApp->SetTopWindow(NULL);
@@ -412,14 +419,3 @@ void wxTopLevelWindowBase::RequestUserAttention(int WXUNUSED(flags))
// it's probably better than do nothing, isn't it?
Raise();
}
void wxTopLevelWindowBase::RemoveChild(wxWindowBase *child)
{
if ( child == m_winDefault )
m_winDefault = NULL;
if ( child == m_winTmpDefault )
m_winTmpDefault = NULL;
wxWindow::RemoveChild(child);
}