- wxNode *node = m_pages.First();
- while (node)
- {
- page = (wxNotebookPage*)node->Data();
- if ( page->m_client == win ) break;
- node = node->Next();
- }
+ GtkNotebook *notebook = GTK_NOTEBOOK(m_widget);
+
+ wxGtkNotebookPage *page = new wxGtkNotebookPage();
+
+ if (position < 0)
+ m_pages.Append( page );
+ else
+ m_pages.Insert( m_pages.Nth( position ), page );
+
+ page->m_client = win;
+
+ page->m_box = gtk_hbox_new( FALSE, 0 );
+ gtk_container_border_width( GTK_CONTAINER(page->m_box), 2 );
+
+ gtk_signal_connect( GTK_OBJECT(win->m_widget), "size_allocate",
+ GTK_SIGNAL_FUNC(gtk_page_size_callback), (gpointer)win );
+
+ if (position < 0)
+ gtk_notebook_append_page( notebook, win->m_widget, page->m_box );
+ else
+ gtk_notebook_insert_page( notebook, win->m_widget, page->m_box, position );