+ }
+
+ wxCHECK_MSG( page != NULL, FALSE, "Can't add a page whose parent is not the notebook!" );
+
+ if (imageId != -1)
+ {
+ wxASSERT( m_imageList != NULL );
+
+ const wxBitmap *bmp = m_imageList->GetBitmap(imageId);
+ GdkPixmap *pixmap = bmp->GetPixmap();
+ GdkBitmap *mask = (GdkBitmap*) NULL;
+ if ( bmp->GetMask() )
+ {
+ mask = bmp->GetMask()->GetBitmap();
+ }
+
+ GtkWidget *pixmapwid = gtk_pixmap_new (pixmap, mask );
+
+ gtk_box_pack_start(GTK_BOX(page->m_box), pixmapwid, FALSE, FALSE, 3);
+
+ gtk_widget_show(pixmapwid);
+ }
+
+ // then set the attributes
+ page->m_text = text;
+ if (page->m_text.IsEmpty()) page->m_text = "";
+ page->m_image = imageId;
+ page->m_label = (GtkLabel *)gtk_label_new(page->m_text);
+ gtk_box_pack_start( GTK_BOX(page->m_box), (GtkWidget *)page->m_label, FALSE, FALSE, 3);
+
+ // @@@: what does this do? do we still need it?
+ // gtk_misc_set_alignment(GTK_MISC(page->m_label), 0.0, 0.5);
+
+ gtk_widget_show((GtkWidget *)page->m_label);
+
+ if (bSelect) SetSelection(GetPageCount());
+
+ return TRUE;
+}
+
+wxWindow *wxNotebook::GetPage( int page ) const
+{
+ wxCHECK_MSG( m_widget != NULL, (wxWindow*) NULL, "invalid notebook" );
+
+ wxNotebookPage* nb_page = GetNotebookPage(page);
+ if (!nb_page)
+ return (wxWindow *) NULL;
+ else
+ return nb_page->m_client;
+}