]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk/notebook.cpp
//... => /* ... */
[wxWidgets.git] / src / gtk / notebook.cpp
index 6102168a49b792ab0f3782b6c561837224f36a6c..aa910af6edd037c4f213e7e5be0d71cb4bead1e0 100644 (file)
@@ -127,43 +127,6 @@ static void gtk_page_size_callback( GtkWidget *WXUNUSED(widget), GtkAllocation*
     if (win->GetAutoLayout()) win->Layout();
 }
 
-//-----------------------------------------------------------------------------
-// "key_press_event"
-//-----------------------------------------------------------------------------
-
-static gint
-gtk_notebook_key_press_callback( GtkWidget *widget, GdkEventKey *gdk_event, wxNotebook *notebook )
-{
-    if (g_isIdle) wxapp_install_idle_handler();
-
-    if (g_blockEventsOnDrag) return FALSE;
-
-    if (!notebook->m_hasVMT) return FALSE;
-
-    /* this code makes jumping down from the handles of the notebooks
-       to the actual items in the visible notebook page possible with
-       the down-arrow key */
-
-    if (gdk_event->keyval != GDK_Down) return FALSE;
-
-    if (notebook != notebook->FindFocus()) return FALSE;
-
-    if (notebook->m_pages.GetCount() == 0) return FALSE;
-
-    wxNode *node = notebook->m_pages.Nth( notebook->GetSelection() );
-
-    if (!node) return FALSE;
-
-    wxNotebookPage *page = (wxNotebookPage*) node->Data();
-
-    // don't let others the key event
-    gtk_signal_emit_stop_by_name( GTK_OBJECT(widget), "key_press_event" );
-
-    page->m_client->SetFocus();
-
-    return TRUE;
-}
-
 //-----------------------------------------------------------------------------
 // InsertChild callback for wxNotebook
 //-----------------------------------------------------------------------------
@@ -220,7 +183,13 @@ bool wxNotebook::Create(wxWindow *parent, wxWindowID id,
     m_acceptsFocus = TRUE;
     m_insertCallback = (wxInsertChildFunction)wxInsertChildInNotebook;
 
-    PreCreation( parent, id, pos, size, style, name );
+    if (!PreCreation( parent, pos, size ) ||
+        !CreateBase( parent, id, pos, size, style, wxDefaultValidator, name ))
+    {
+        wxFAIL_MSG( _T("wxNoteBook creation failed") );
+       return FALSE;
+    }
+
 
     m_widget = gtk_notebook_new();
 
@@ -235,9 +204,6 @@ bool wxNotebook::Create(wxWindow *parent, wxWindowID id,
 
     m_parent->DoAddChild( this );
 
-    gtk_signal_connect( GTK_OBJECT(m_widget), "key_press_event",
-      GTK_SIGNAL_FUNC(gtk_notebook_key_press_callback), (gpointer)this );
-
     PostCreation();
 
     Show( TRUE );
@@ -245,6 +211,19 @@ bool wxNotebook::Create(wxWindow *parent, wxWindowID id,
     return TRUE;
 }
 
+void wxNotebook::SetFocus()
+{
+    if (m_pages.GetCount() == 0) return;
+
+    wxNode *node = m_pages.Nth( GetSelection() );
+
+    if (!node) return;
+
+    wxNotebookPage *page = (wxNotebookPage*) node->Data();
+
+    page->m_client->SetFocus();
+}
+
 int wxNotebook::GetSelection() const
 {
     wxCHECK_MSG( m_widget != NULL, -1, _T("invalid notebook") );
@@ -278,7 +257,7 @@ wxString wxNotebook::GetPageText( int page ) const
     if (nb_page)
         return nb_page->m_text;
     else
-        return "";
+        return _T("");
 }
 
 int wxNotebook::GetPageImage( int page ) const