X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8907154c1a8a6882c6797d1f16393ddfb23e7f3a..697c314b162ff4758db0047e548d5401994d2c70:/src/gtk1/mdi.cpp?ds=sidebyside diff --git a/src/gtk1/mdi.cpp b/src/gtk1/mdi.cpp index 80686b497a..eeff4813e4 100644 --- a/src/gtk1/mdi.cpp +++ b/src/gtk1/mdi.cpp @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: mdi.cpp +// Name: src/gtk1/mdi.cpp // Purpose: // Author: Robert Roebling // Id: $Id$ @@ -10,20 +10,23 @@ // For compilers that support precompilation, includes "wx.h". #include "wx/wxprec.h" +#if wxUSE_MDI + #include "wx/mdi.h" -#include "wx/notebook.h" -#if wxUSE_MDI +#ifndef WX_PRECOMP + #include "wx/intl.h" + #include "wx/menu.h" + #include "wx/dialog.h" +#endif -#include "wx/dialog.h" -#include "wx/menu.h" -#include "wx/intl.h" -#include "wx/gtk/private.h" +#include "wx/notebook.h" +#include "wx/gtk1/private.h" #include #include #include -#include "wx/gtk/win_gtk.h" +#include "wx/gtk1/win_gtk.h" //----------------------------------------------------------------------------- // constants @@ -42,8 +45,6 @@ extern bool g_isIdle; // globals //----------------------------------------------------------------------------- -extern wxList wxPendingDelete; - //----------------------------------------------------------------------------- // "switch_page" //----------------------------------------------------------------------------- @@ -65,7 +66,7 @@ gtk_mdi_page_change_callback( GtkNotebook *WXUNUSED(widget), { wxActivateEvent event1( wxEVT_ACTIVATE, false, child->GetId() ); event1.SetEventObject( child); - child->GetEventHandler()->ProcessEvent( event1 ); + child->HandleWindowEvent( event1 ); } // send activate event to new child @@ -99,7 +100,7 @@ gtk_mdi_page_change_callback( GtkNotebook *WXUNUSED(widget), wxActivateEvent event2( wxEVT_ACTIVATE, true, child->GetId() ); event2.SetEventObject( child); - child->GetEventHandler()->ProcessEvent( event2 ); + child->HandleWindowEvent( event2 ); } } @@ -127,11 +128,12 @@ bool wxMDIParentFrame::Create(wxWindow *parent, long style, const wxString& name ) { - wxFrame::Create( parent, id, title, pos, size, style, name ); + if ( !wxFrame::Create( parent, id, title, pos, size, style, name ) ) + return false; - OnCreateClient(); + m_clientWindow = OnCreateClient(); - return true; + return m_clientWindow != NULL; } void wxMDIParentFrame::GtkOnSize( int x, int y, int width, int height ) @@ -289,8 +291,7 @@ wxMDIClientWindow *wxMDIParentFrame::GetClientWindow() const wxMDIClientWindow *wxMDIParentFrame::OnCreateClient() { - m_clientWindow = new wxMDIClientWindow( this ); - return m_clientWindow; + return new wxMDIClientWindow( this ); } void wxMDIParentFrame::ActivateNext() @@ -336,7 +337,7 @@ wxMDIChildFrame::~wxMDIChildFrame() { if (m_menuBar) delete m_menuBar; -} +} bool wxMDIChildFrame::Create( wxMDIParentFrame *parent, wxWindowID id, const wxString& title, @@ -408,7 +409,7 @@ void wxMDIChildFrame::OnMenuHighlight( wxMenuEvent& event ) { #if wxUSE_STATUSBAR wxMDIParentFrame *mdi_frame = (wxMDIParentFrame*)m_parent->GetParent(); - if ( !ShowMenuHelp(mdi_frame->GetStatusBar(), event.GetMenuId()) ) + if ( !ShowMenuHelp(event.GetMenuId()) ) { // we don't have any help text for this item, but may be the MDI frame // does? @@ -457,7 +458,7 @@ static void gtk_page_size_callback( GtkWidget *WXUNUSED(widget), GtkAllocation* static void wxInsertChildInMDI( wxMDIClientWindow* parent, wxMDIChildFrame* child ) { - wxString s = child->m_title; + wxString s = child->GetTitle(); if (s.IsNull()) s = _("MDI child"); GtkWidget *label_widget = gtk_label_new( s.mbc_str() ); @@ -503,7 +504,7 @@ bool wxMDIClientWindow::CreateClient( wxMDIParentFrame *parent, long style ) m_insertCallback = (wxInsertChildFunction)wxInsertChildInMDI; if (!PreCreation( parent, wxDefaultPosition, wxDefaultSize ) || - !CreateBase( parent, -1, wxDefaultPosition, wxDefaultSize, style, wxDefaultValidator, wxT("wxMDIClientWindow") )) + !CreateBase( parent, wxID_ANY, wxDefaultPosition, wxDefaultSize, style, wxDefaultValidator, wxT("wxMDIClientWindow") )) { wxFAIL_MSG( wxT("wxMDIClientWindow creation failed") ); return false;