X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/facd6764872eede45605ba7c9dfa0e1d0c708fa2..8da1f9a99ee0ff9493cc7845ec13100cdeac431c:/src/mac/carbon/mdi.cpp diff --git a/src/mac/carbon/mdi.cpp b/src/mac/carbon/mdi.cpp index 31d91ad9c8..542a76cdc7 100644 --- a/src/mac/carbon/mdi.cpp +++ b/src/mac/carbon/mdi.cpp @@ -105,26 +105,10 @@ bool wxMDIParentFrame::Create(wxWindow *parent, wxMDIParentFrame::~wxMDIParentFrame() { DestroyChildren(); - // already delete by DestroyChildren() -#if wxUSE_TOOLBAR - m_frameToolBar = NULL; -#endif -#if wxUSE_STATUSBAR - m_frameStatusBar = NULL; -#endif + // already deleted by DestroyChildren() m_clientWindow = NULL ; - if (m_windowMenu) - { - delete m_windowMenu; - m_windowMenu = (wxMenu*) NULL; - } - - if ( m_clientWindow ) - { - delete m_clientWindow; - m_clientWindow = NULL ; - } + delete m_windowMenu; } @@ -133,6 +117,15 @@ void wxMDIParentFrame::SetMenuBar(wxMenuBar *menu_bar) wxFrame::SetMenuBar( menu_bar ) ; } +void wxMDIParentFrame::GetRectForTopLevelChildren(int *x, int *y, int *w, int *h) +{ + if(x) + *x = 0; + if(y) + *y = 0; + wxDisplaySize(w,h); +} + void wxMDIParentFrame::MacActivate(long timestamp, bool activating) { wxLogDebug(wxT("MDI PARENT=%p MacActivate(0x%08lx,%s)"),this,timestamp,activating?wxT("ACTIV"):wxT("deact")); @@ -233,6 +226,24 @@ void wxMDIParentFrame::ActivatePrevious() // TODO } +bool wxMDIParentFrame::Show( bool show ) +{ + // don't really show the MDI frame unless it has any children other than + // MDI children as it is pretty useless in this case + + if ( show ) + { + // TODO: check for other children + if(!GetToolBar()) + Move(-10000, -10000); + } + + if ( !wxFrame::Show(show) ) + return false; + + return true; +} + // Child frame wxMDIChildFrame::wxMDIChildFrame() @@ -275,13 +286,6 @@ wxMDIChildFrame::~wxMDIChildFrame() if(mdiparent->m_currentChild == this) mdiparent->m_currentChild = NULL; DestroyChildren(); - // already delete by DestroyChildren() -#if wxUSE_TOOLBAR - m_frameToolBar = NULL; -#endif -#if wxUSE_STATUSBAR - m_frameStatusBar = NULL; -#endif } void wxMDIChildFrame::SetMenuBar(wxMenuBar *menu_bar) @@ -368,14 +372,8 @@ wxMDIClientWindow::~wxMDIClientWindow() bool wxMDIClientWindow::CreateClient(wxMDIParentFrame *parent, long style) { - - m_windowId = (int)NewControlId(); - - if ( parent ) - { - parent->AddChild(this); - } - m_backgroundColour = wxSystemSettings::GetColour(wxSYS_COLOUR_APPWORKSPACE); + if ( !wxWindow::Create(parent, wxID_ANY, wxDefaultPosition, wxDefaultSize, style)) + return FALSE; wxModelessWindows.Append(this); return TRUE;