X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/cfea8e619a9ccc2f8e90c28120239d069fb7de22..f8d0234d39c66f3d1d7fc2346562cb96c8c7be20:/src/osx/carbon/mdi.cpp diff --git a/src/osx/carbon/mdi.cpp b/src/osx/carbon/mdi.cpp index 3cd460be75..daf448f6ff 100644 --- a/src/osx/carbon/mdi.cpp +++ b/src/osx/carbon/mdi.cpp @@ -34,10 +34,6 @@ BEGIN_EVENT_TABLE(wxMDIParentFrame, wxFrame) EVT_SYS_COLOUR_CHANGED(wxMDIParentFrame::OnSysColourChanged) END_EVENT_TABLE() -BEGIN_EVENT_TABLE(wxMDIClientWindow, wxWindow) - EVT_SCROLL(wxMDIClientWindow::OnScroll) -END_EVENT_TABLE() - #define TRACE_MDI "mdi" static const int IDM_WINDOWTILEHOR = 4001; @@ -85,9 +81,6 @@ void UMAHighlightAndActivateWindow( WindowRef inWindowRef , bool inActivate ) void wxMDIParentFrame::Init() { - m_clientWindow = NULL; - m_currentChild = NULL; - m_windowMenu = (wxMenu*) NULL; m_parentFrameActive = true; m_shouldBeShown = false; } @@ -104,7 +97,7 @@ bool wxMDIParentFrame::Create(wxWindow *parent, // "Window" menu if ( style & wxFRAME_NO_WINDOW_MENU ) { - m_windowMenu = (wxMenu *)NULL; + m_windowMenu = NULL; style -= wxFRAME_NO_WINDOW_MENU ; } else // normal case: we have the window menu, so construct it @@ -125,8 +118,10 @@ bool wxMDIParentFrame::Create(wxWindow *parent, m_parentFrameActive = true; m_clientWindow = OnCreateClient(); + if ( !m_clientWindow || !m_clientWindow->CreateClient(this, style) ) + return false; - return m_clientWindow != NULL; + return true; } wxMDIParentFrame::~wxMDIParentFrame() @@ -135,8 +130,6 @@ wxMDIParentFrame::~wxMDIParentFrame() // already deleted by DestroyChildren() m_clientWindow = NULL ; - - delete m_windowMenu; } void wxMDIParentFrame::SetMenuBar(wxMenuBar *menu_bar) @@ -267,19 +260,6 @@ void wxMDIParentFrame::OnActivate(wxActivateEvent& event) event.Skip(); } -// Returns the active MDI child window -wxMDIChildFrame *wxMDIParentFrame::GetActiveChild() const -{ - return m_currentChild ; -} - -// Create the client window class (don't Create the window, -// just return a new class) -wxMDIClientWindow *wxMDIParentFrame::OnCreateClient() -{ - return new wxMDIClientWindow( this ); -} - // Responds to colour changes, and passes event on to children. void wxMDIParentFrame::OnSysColourChanged(wxSysColourChangedEvent& event) { @@ -289,32 +269,6 @@ void wxMDIParentFrame::OnSysColourChanged(wxSysColourChangedEvent& event) wxFrame::OnSysColourChanged(event); } -// MDI operations -void wxMDIParentFrame::Cascade() -{ - // TODO -} - -void wxMDIParentFrame::Tile(wxOrientation WXUNUSED(orient)) -{ - // TODO -} - -void wxMDIParentFrame::ArrangeIcons() -{ - // TODO -} - -void wxMDIParentFrame::ActivateNext() -{ - // TODO -} - -void wxMDIParentFrame::ActivatePrevious() -{ - // TODO -} - bool wxMDIParentFrame::ShouldBeVisible() const { for ( wxWindowList::compatibility_iterator node = GetChildren().GetFirst(); @@ -365,10 +319,6 @@ bool wxMDIParentFrame::Show( bool show ) // Child frame // ---------------------------------------------------------------------------- -wxMDIChildFrame::wxMDIChildFrame() -{ - Init() ; -} void wxMDIChildFrame::Init() { } @@ -381,13 +331,15 @@ bool wxMDIChildFrame::Create(wxMDIParentFrame *parent, long style, const wxString& name) { + m_mdiParent = parent; + SetName(name); if ( id == wxID_ANY ) id = (int)NewControlId(); wxNonOwnedWindow::Create( parent, id, pos , size , MacRemoveBordersFromStyle(style) , name ) ; - + SetTitle( title ); SetBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_APPWORKSPACE)); @@ -400,11 +352,6 @@ wxMDIChildFrame::~wxMDIChildFrame() DestroyChildren(); } -void wxMDIChildFrame::SetMenuBar(wxMenuBar *menu_bar) -{ - return wxFrame::SetMenuBar( menu_bar ) ; -} - void wxMDIChildFrame::MacActivate(long timestamp, bool activating) { wxLogTrace(TRACE_MDI, wxT("MDI child=%p MacActivate(0x%08lx,%s)"),this, timestamp, activating ? wxT("ACTIV") : wxT("deact")); @@ -462,16 +409,6 @@ void wxMDIChildFrame::MacActivate(long timestamp, bool activating) } // MDI operations -void wxMDIChildFrame::Maximize() -{ - wxFrame::Maximize() ; -} - -void wxMDIChildFrame::Restore() -{ - wxFrame::Restore() ; -} - void wxMDIChildFrame::Activate() { Raise (); @@ -481,10 +418,6 @@ void wxMDIChildFrame::Activate() // wxMDIClientWindow //----------------------------------------------------------------------------- -wxMDIClientWindow::wxMDIClientWindow() -{ -} - wxMDIClientWindow::~wxMDIClientWindow() { DestroyChildren(); @@ -498,15 +431,9 @@ bool wxMDIClientWindow::CreateClient(wxMDIParentFrame *parent, long style) return true; } -// Get size *available for subwindows* i.e. excluding menu bar. void wxMDIClientWindow::DoGetClientSize(int *x, int *y) const { wxDisplaySize( x , y ) ; } -// Explicitly call default scroll behaviour -void wxMDIClientWindow::OnScroll(wxScrollEvent& WXUNUSED(event)) -{ -} - #endif // wxUSE_MDI