+ if ( IsPointInsideWidget(pt, box, x, y, border) )
+ {
+ // ok, we're inside this tab -- now find out where, if needed
+ if ( flags )
+ {
+ GtkWidget *pixmap = NULL;
+
+ GList *children = gtk_container_get_children(GTK_CONTAINER(box));
+ for ( GList *child = children; child; child = child->next )
+ {
+ if ( GTK_IS_PIXMAP(child->data) )
+ {
+ pixmap = GTK_WIDGET(child->data);
+ break;
+ }
+ }
+
+ if ( children )
+ g_list_free(children);
+
+ if ( pixmap && IsPointInsideWidget(pt, pixmap, x, y) )
+ {
+ *flags = wxNB_HITTEST_ONICON;
+ }
+ else if ( IsPointInsideWidget(pt, GTK_WIDGET(nb_page->m_label), x, y) )
+ {
+ *flags = wxNB_HITTEST_ONLABEL;
+ }
+ else
+ {
+ *flags = wxNB_HITTEST_ONITEM;
+ }
+ }
+
+ return i;
+ }
+ }
+
+ if ( flags )
+ *flags = wxNB_HITTEST_NOWHERE;
+
+ return wxNOT_FOUND;
+}
+
+void wxNotebook::OnNavigationKey(wxNavigationKeyEvent& event)
+{
+ if (event.IsWindowChange())
+ AdvanceSelection( event.GetDirection() );