extern wxList wxPendingDelete;
+//-----------------------------------------------------------------------------
+// "switch_page"
+//-----------------------------------------------------------------------------
+
+static void gtk_mdi_page_change_callback(GtkNotebook *WXUNUSED(widget),
+ GtkNotebookPage *WXUNUSED(page),
+ gint WXUNUSED(page),
+ wxMDIParentFrame *parent )
+{
+ if (g_isIdle)
+ wxapp_install_idle_handler();
+
+ wxMDIChildFrame *child = parent->GetActiveChild();
+
+ if (!child) return;
+
+ wxActivateEvent event( wxEVT_ACTIVATE, TRUE, child->GetId() );
+ event.SetEventObject( child);
+ child->GetEventHandler()->ProcessEvent( event );
+}
+
//-----------------------------------------------------------------------------
// wxMDIParentFrame
//-----------------------------------------------------------------------------
wxWindow::GetClientSize( width, height );
}
-void wxMDIChildFrame::AddChild( wxWindow *child )
+void wxMDIChildFrame::AddChild( wxWindowBase *child )
{
- wxWindow::AddChild( child );
+ wxWindow::AddChild(child);
}
void wxMDIChildFrame::SetMenuBar( wxMenuBar *menu_bar )
{
- wxASSERT_MSG( m_menuBar == NULL, _T("Only one menubar allowed") );
+ wxASSERT_MSG( m_menuBar == NULL, wxT("Only one menubar allowed") );
m_menuBar = menu_bar;
m_insertCallback = (wxInsertChildFunction)wxInsertChildInMDI;
if (!PreCreation( parent, wxDefaultPosition, wxDefaultSize ) ||
- !CreateBase( parent, -1, wxDefaultPosition, wxDefaultSize, style, wxDefaultValidator, _T("wxMDIClientWindow") ))
+ !CreateBase( parent, -1, wxDefaultPosition, wxDefaultSize, style, wxDefaultValidator, wxT("wxMDIClientWindow") ))
{
- wxFAIL_MSG( _T("wxMDIClientWindow creation failed") );
+ wxFAIL_MSG( wxT("wxMDIClientWindow creation failed") );
return FALSE;
}
m_widget = gtk_notebook_new();
+ gtk_signal_connect( GTK_OBJECT(m_widget), "switch_page",
+ GTK_SIGNAL_FUNC(gtk_mdi_page_change_callback), (gpointer)parent );
+
gtk_notebook_set_scrollable( GTK_NOTEBOOK(m_widget), 1 );
m_parent->DoAddChild( this );