]> git.saurik.com Git - wxWidgets.git/blobdiff - src/generic/treebkg.cpp
Provide an implementation for SurfaceImpl::AlphaRectangle, and rename
[wxWidgets.git] / src / generic / treebkg.cpp
index b93e0b3d89bacbf4a990e20ddc5f4b13c0c9499c..066e30edff811ca40a892174e822397dce6e541a 100644 (file)
@@ -60,18 +60,24 @@ BEGIN_EVENT_TABLE(wxTreebook, wxBookCtrlBase)
     EVT_TREE_SEL_CHANGED   (wxID_TREEBOOKTREEVIEW, wxTreebook::OnTreeSelectionChange)
     EVT_TREE_ITEM_EXPANDED (wxID_TREEBOOKTREEVIEW, wxTreebook::OnTreeNodeExpandedCollapsed)
     EVT_TREE_ITEM_COLLAPSED(wxID_TREEBOOKTREEVIEW, wxTreebook::OnTreeNodeExpandedCollapsed)
+
+    WX_EVENT_TABLE_CONTROL_CONTAINER(wxTreebook)
 END_EVENT_TABLE()
 
 // ============================================================================
 // wxTreebook implementation
 // ============================================================================
 
+WX_DELEGATE_TO_CONTROL_CONTAINER(wxTreebook, wxControl)
+
 // ----------------------------------------------------------------------------
 // wxTreebook creation
 // ----------------------------------------------------------------------------
 
 void wxTreebook::Init()
 {
+    m_container.SetContainerWindow(this);
+
     m_selection =
     m_actualSelection = wxNOT_FOUND;
 }
@@ -89,6 +95,7 @@ wxTreebook::Create(wxWindow *parent,
     {
         style |= wxBK_LEFT;
     }
+    style |= wxTAB_TRAVERSAL;
 
     // no border for this control, it doesn't look nice together with the tree
     style &= ~wxBORDER_MASK;
@@ -644,7 +651,8 @@ int wxTreebook::DoSetSelection(size_t pagePos)
     else // page change vetoed
     {
         // tree selection might have already had changed
-        tree->SelectItem(DoInternalGetPage(oldSel));
+        if ( oldSel != wxNOT_FOUND )
+            tree->SelectItem(DoInternalGetPage(oldSel));
     }
 
     return oldSel;